n8n-nodes-base 1.93.0 → 1.94.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/credentials/AirtopApi.credentials.js +2 -1
  2. package/dist/credentials/AirtopApi.credentials.js.map +1 -1
  3. package/dist/credentials/JinaAiApi.credentials.js +1 -1
  4. package/dist/credentials/JinaAiApi.credentials.js.map +1 -1
  5. package/dist/known/nodes.json +0 -4
  6. package/dist/nodes/Airtop/Airtop.node.js +14 -8
  7. package/dist/nodes/Airtop/Airtop.node.js.map +1 -1
  8. package/dist/nodes/Airtop/GenericFunctions.js +87 -15
  9. package/dist/nodes/Airtop/GenericFunctions.js.map +1 -1
  10. package/dist/nodes/Airtop/actions/common/fields.js +9 -0
  11. package/dist/nodes/Airtop/actions/common/fields.js.map +1 -1
  12. package/dist/nodes/Airtop/actions/common/output.utils.js +79 -0
  13. package/dist/nodes/Airtop/actions/common/output.utils.js.map +1 -0
  14. package/dist/nodes/Airtop/actions/common/session.utils.js +2 -2
  15. package/dist/nodes/Airtop/actions/common/session.utils.js.map +1 -1
  16. package/dist/nodes/Airtop/actions/extraction/getPaginated.operation.js +13 -4
  17. package/dist/nodes/Airtop/actions/extraction/getPaginated.operation.js.map +1 -1
  18. package/dist/nodes/Airtop/actions/extraction/query.operation.js +21 -3
  19. package/dist/nodes/Airtop/actions/extraction/query.operation.js.map +1 -1
  20. package/dist/nodes/Airtop/actions/extraction/scrape.operation.js +2 -1
  21. package/dist/nodes/Airtop/actions/extraction/scrape.operation.js.map +1 -1
  22. package/dist/nodes/Airtop/actions/file/File.resource.js +104 -0
  23. package/dist/nodes/Airtop/actions/file/File.resource.js.map +1 -0
  24. package/dist/nodes/Airtop/actions/file/delete.operation.js +60 -0
  25. package/dist/nodes/Airtop/actions/file/delete.operation.js.map +1 -0
  26. package/dist/nodes/Airtop/actions/file/get.operation.js +91 -0
  27. package/dist/nodes/Airtop/actions/file/get.operation.js.map +1 -0
  28. package/dist/nodes/Airtop/actions/file/getMany.operation.js +100 -0
  29. package/dist/nodes/Airtop/actions/file/getMany.operation.js.map +1 -0
  30. package/dist/nodes/Airtop/actions/file/helpers.js +199 -0
  31. package/dist/nodes/Airtop/actions/file/helpers.js.map +1 -0
  32. package/dist/nodes/Airtop/actions/file/load.operation.js +85 -0
  33. package/dist/nodes/Airtop/actions/file/load.operation.js.map +1 -0
  34. package/dist/nodes/Airtop/actions/file/upload.operation.js +186 -0
  35. package/dist/nodes/Airtop/actions/file/upload.operation.js.map +1 -0
  36. package/dist/nodes/Airtop/actions/interaction/Interaction.resource.js +22 -1
  37. package/dist/nodes/Airtop/actions/interaction/Interaction.resource.js.map +1 -1
  38. package/dist/nodes/Airtop/actions/interaction/fill.operation.js +89 -0
  39. package/dist/nodes/Airtop/actions/interaction/fill.operation.js.map +1 -0
  40. package/dist/nodes/Airtop/actions/interaction/scroll.operation.js +219 -0
  41. package/dist/nodes/Airtop/actions/interaction/scroll.operation.js.map +1 -0
  42. package/dist/nodes/Airtop/actions/node.type.js.map +1 -1
  43. package/dist/nodes/Airtop/actions/router.js +13 -4
  44. package/dist/nodes/Airtop/actions/router.js.map +1 -1
  45. package/dist/nodes/Airtop/actions/session/create.operation.js +85 -32
  46. package/dist/nodes/Airtop/actions/session/create.operation.js.map +1 -1
  47. package/dist/nodes/Airtop/actions/window/Window.resource.js +2 -1
  48. package/dist/nodes/Airtop/actions/window/Window.resource.js.map +1 -1
  49. package/dist/nodes/Airtop/actions/window/create.operation.js +1 -1
  50. package/dist/nodes/Airtop/actions/window/create.operation.js.map +1 -1
  51. package/dist/nodes/Airtop/actions/window/takeScreenshot.operation.js +26 -3
  52. package/dist/nodes/Airtop/actions/window/takeScreenshot.operation.js.map +1 -1
  53. package/dist/nodes/Airtop/constants.js +38 -5
  54. package/dist/nodes/Airtop/constants.js.map +1 -1
  55. package/dist/nodes/Airtop/countries.js +1026 -0
  56. package/dist/nodes/Airtop/countries.js.map +1 -0
  57. package/dist/nodes/Airtop/transport/index.js +6 -3
  58. package/dist/nodes/Airtop/transport/index.js.map +1 -1
  59. package/dist/nodes/Airtop/transport/types.js.map +1 -1
  60. package/dist/nodes/Google/Drive/v2/actions/file/upload.operation.js +4 -1
  61. package/dist/nodes/Google/Drive/v2/actions/file/upload.operation.js.map +1 -1
  62. package/dist/nodes/Google/Firebase/CloudFirestore/GenericFunctions.js +1 -2
  63. package/dist/nodes/Google/Firebase/CloudFirestore/GenericFunctions.js.map +1 -1
  64. package/dist/nodes/HttpRequest/GenericFunctions.js +1 -1
  65. package/dist/nodes/HttpRequest/GenericFunctions.js.map +1 -1
  66. package/dist/nodes/Jira/Jira.node.js +34 -15
  67. package/dist/nodes/Jira/Jira.node.js.map +1 -1
  68. package/dist/nodes/Merge/Merge.node.js +3 -2
  69. package/dist/nodes/Merge/Merge.node.js.map +1 -1
  70. package/dist/nodes/Merge/v3/actions/mode/combineBySql.js +42 -4
  71. package/dist/nodes/Merge/v3/actions/mode/combineBySql.js.map +1 -1
  72. package/dist/nodes/Merge/v3/actions/versionDescription.js +1 -1
  73. package/dist/nodes/Merge/v3/actions/versionDescription.js.map +1 -1
  74. package/dist/nodes/Microsoft/SharePoint/descriptions/file/update.operation.js +2 -2
  75. package/dist/nodes/Microsoft/SharePoint/descriptions/file/update.operation.js.map +1 -1
  76. package/dist/nodes/Microsoft/SharePoint/descriptions/file/upload.operation.js +2 -2
  77. package/dist/nodes/Microsoft/SharePoint/descriptions/file/upload.operation.js.map +1 -1
  78. package/dist/nodes/Microsoft/SharePoint/descriptions/item/Item.resource.js +1 -1
  79. package/dist/nodes/Microsoft/SharePoint/descriptions/item/Item.resource.js.map +1 -1
  80. package/dist/nodes/Microsoft/SharePoint/descriptions/list/List.resource.js +1 -1
  81. package/dist/nodes/Microsoft/SharePoint/descriptions/list/List.resource.js.map +1 -1
  82. package/dist/nodes/MongoDb/GenericFunctions.js +9 -2
  83. package/dist/nodes/MongoDb/GenericFunctions.js.map +1 -1
  84. package/dist/nodes/MongoDb/MongoDb.node.js +25 -5
  85. package/dist/nodes/MongoDb/MongoDb.node.js.map +1 -1
  86. package/dist/nodes/Telegram/Telegram.node.js +5 -1
  87. package/dist/nodes/Telegram/Telegram.node.js.map +1 -1
  88. package/dist/nodes/Transform/Summarize/utils.js +2 -1
  89. package/dist/nodes/Transform/Summarize/utils.js.map +1 -1
  90. package/dist/test/setup.js +1 -0
  91. package/dist/test/setup.js.map +1 -1
  92. package/dist/types/credentials.json +1 -1
  93. package/dist/types/nodes.json +8 -9
  94. package/package.json +6 -7
  95. package/dist/nodes/EvaluationMetrics/EvaluationMetrics.node.js +0 -119
  96. package/dist/nodes/EvaluationMetrics/EvaluationMetrics.node.js.map +0 -1
  97. package/dist/nodes/EvaluationMetrics/EvaluationMetrics.node.json +0 -14
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../nodes/Telegram/Telegram.node.ts"],"sourcesContent":["import type {\n\tIExecuteFunctions,\n\tIDataObject,\n\tINodeExecutionData,\n\tINodeType,\n\tINodeTypeDescription,\n\tIHttpRequestMethods,\n} from 'n8n-workflow';\nimport {\n\tBINARY_ENCODING,\n\tSEND_AND_WAIT_OPERATION,\n\tNodeConnectionTypes,\n\tNodeOperationError,\n} from 'n8n-workflow';\nimport type { Readable } from 'stream';\n\nimport {\n\taddAdditionalFields,\n\tapiRequest,\n\tcreateSendAndWaitMessageBody,\n\tgetPropertyName,\n} from './GenericFunctions';\nimport { appendAttributionOption } from '../../utils/descriptions';\nimport { configureWaitTillDate } from '../../utils/sendAndWait/configureWaitTillDate.util';\nimport { sendAndWaitWebhooksDescription } from '../../utils/sendAndWait/descriptions';\nimport { getSendAndWaitProperties, sendAndWaitWebhook } from '../../utils/sendAndWait/utils';\n\nexport class Telegram implements INodeType {\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'Telegram',\n\t\tname: 'telegram',\n\t\ticon: 'file:telegram.svg',\n\t\tgroup: ['output'],\n\t\tversion: [1, 1.1, 1.2],\n\t\tsubtitle: '={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}',\n\t\tdescription: 'Sends data to Telegram',\n\t\tdefaults: {\n\t\t\tname: 'Telegram',\n\t\t},\n\t\tusableAsTool: true,\n\t\tinputs: [NodeConnectionTypes.Main],\n\t\toutputs: [NodeConnectionTypes.Main],\n\t\tcredentials: [\n\t\t\t{\n\t\t\t\tname: 'telegramApi',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t],\n\t\twebhooks: sendAndWaitWebhooksDescription,\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Resource',\n\t\t\t\tname: 'resource',\n\t\t\t\ttype: 'options',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\toptions: [\n\t\t\t\t\t// {\n\t\t\t\t\t// \tname: 'Bot',\n\t\t\t\t\t// \tvalue: 'bot',\n\t\t\t\t\t// },\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Chat',\n\t\t\t\t\t\tvalue: 'chat',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Callback',\n\t\t\t\t\t\tvalue: 'callback',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'File',\n\t\t\t\t\t\tvalue: 'file',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Message',\n\t\t\t\t\t\tvalue: 'message',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'message',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// operation\n\t\t\t// ----------------------------------\n\n\t\t\t// {\n\t\t\t// \tdisplayName: 'Operation',\n\t\t\t// \tname: 'operation',\n\t\t\t// \ttype: 'options',\n\t\t\t// \tdisplayOptions: {\n\t\t\t// \t\tshow: {\n\t\t\t// \t\t\tresource: [\n\t\t\t// \t\t\t\t'bot',\n\t\t\t// \t\t\t],\n\t\t\t// \t\t},\n\t\t\t// \t},\n\t\t\t// \toptions: [\n\t\t\t// \t\t{\n\t\t\t// \t\t\tname: 'Info',\n\t\t\t// \t\t\tvalue: 'info',\n\t\t\t// \t\t\tdescription: 'Get information about the bot associated with the access token.',\n\t\t\t// \t\t},\n\t\t\t// \t],\n\t\t\t// \tdefault: 'info',\n\t\t\t// \tdescription: 'The operation to perform.',\n\t\t\t// },\n\n\t\t\t// ----------------------------------\n\t\t\t// operation\n\t\t\t// ----------------------------------\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Operation',\n\t\t\t\tname: 'operation',\n\t\t\t\ttype: 'options',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tresource: ['chat'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Get',\n\t\t\t\t\t\tvalue: 'get',\n\t\t\t\t\t\tdescription: 'Get up to date information about a chat',\n\t\t\t\t\t\taction: 'Get a chat',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Get Administrators',\n\t\t\t\t\t\tvalue: 'administrators',\n\t\t\t\t\t\tdescription: 'Get the Administrators of a chat',\n\t\t\t\t\t\taction: 'Get all administrators in a chat',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Get Member',\n\t\t\t\t\t\tvalue: 'member',\n\t\t\t\t\t\tdescription: 'Get the member of a chat',\n\t\t\t\t\t\taction: 'Get a member in a chat',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Leave',\n\t\t\t\t\t\tvalue: 'leave',\n\t\t\t\t\t\tdescription: 'Leave a group, supergroup or channel',\n\t\t\t\t\t\taction: 'Leave a chat',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Set Description',\n\t\t\t\t\t\tvalue: 'setDescription',\n\t\t\t\t\t\tdescription: 'Set the description of a chat',\n\t\t\t\t\t\taction: 'Set description on a chat',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Set Title',\n\t\t\t\t\t\tvalue: 'setTitle',\n\t\t\t\t\t\tdescription: 'Set the title of a chat',\n\t\t\t\t\t\taction: 'Set a title on a chat',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'get',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Operation',\n\t\t\t\tname: 'operation',\n\t\t\t\ttype: 'options',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tresource: ['callback'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Answer Query',\n\t\t\t\t\t\tvalue: 'answerQuery',\n\t\t\t\t\t\tdescription: 'Send answer to callback query sent from inline keyboard',\n\t\t\t\t\t\taction: 'Answer Query a callback',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Answer Inline Query',\n\t\t\t\t\t\tvalue: 'answerInlineQuery',\n\t\t\t\t\t\tdescription: 'Send answer to callback query sent from inline bot',\n\t\t\t\t\t\taction: 'Answer an inline query callback',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'answerQuery',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Operation',\n\t\t\t\tname: 'operation',\n\t\t\t\ttype: 'options',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tresource: ['file'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Get',\n\t\t\t\t\t\tvalue: 'get',\n\t\t\t\t\t\tdescription: 'Get a file',\n\t\t\t\t\t\taction: 'Get a file',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'get',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Operation',\n\t\t\t\tname: 'operation',\n\t\t\t\ttype: 'options',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Delete Chat Message',\n\t\t\t\t\t\tvalue: 'deleteMessage',\n\t\t\t\t\t\tdescription: 'Delete a chat message',\n\t\t\t\t\t\taction: 'Delete a chat message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Edit Message Text',\n\t\t\t\t\t\tvalue: 'editMessageText',\n\t\t\t\t\t\tdescription: 'Edit a text message',\n\t\t\t\t\t\taction: 'Edit a test message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Pin Chat Message',\n\t\t\t\t\t\tvalue: 'pinChatMessage',\n\t\t\t\t\t\tdescription: 'Pin a chat message',\n\t\t\t\t\t\taction: 'Pin a chat message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Animation',\n\t\t\t\t\t\tvalue: 'sendAnimation',\n\t\t\t\t\t\tdescription: 'Send an animated file',\n\t\t\t\t\t\taction: 'Send an animated file',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Audio',\n\t\t\t\t\t\tvalue: 'sendAudio',\n\t\t\t\t\t\tdescription: 'Send a audio file',\n\t\t\t\t\t\taction: 'Send an audio file',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Chat Action',\n\t\t\t\t\t\tvalue: 'sendChatAction',\n\t\t\t\t\t\tdescription: 'Send a chat action',\n\t\t\t\t\t\taction: 'Send a chat action',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Document',\n\t\t\t\t\t\tvalue: 'sendDocument',\n\t\t\t\t\t\tdescription: 'Send a document',\n\t\t\t\t\t\taction: 'Send a document',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Location',\n\t\t\t\t\t\tvalue: 'sendLocation',\n\t\t\t\t\t\tdescription: 'Send a location',\n\t\t\t\t\t\taction: 'Send a location',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Media Group',\n\t\t\t\t\t\tvalue: 'sendMediaGroup',\n\t\t\t\t\t\tdescription: 'Send group of photos or videos to album',\n\t\t\t\t\t\taction: 'Send a media group message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Message',\n\t\t\t\t\t\tvalue: 'sendMessage',\n\t\t\t\t\t\tdescription: 'Send a text message',\n\t\t\t\t\t\taction: 'Send a text message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send and Wait for Response',\n\t\t\t\t\t\tvalue: SEND_AND_WAIT_OPERATION,\n\t\t\t\t\t\tdescription: 'Send a message and wait for response',\n\t\t\t\t\t\taction: 'Send message and wait for response',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Photo',\n\t\t\t\t\t\tvalue: 'sendPhoto',\n\t\t\t\t\t\tdescription: 'Send a photo',\n\t\t\t\t\t\taction: 'Send a photo message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Sticker',\n\t\t\t\t\t\tvalue: 'sendSticker',\n\t\t\t\t\t\tdescription: 'Send a sticker',\n\t\t\t\t\t\taction: 'Send a sticker',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Video',\n\t\t\t\t\t\tvalue: 'sendVideo',\n\t\t\t\t\t\tdescription: 'Send a video',\n\t\t\t\t\t\taction: 'Send a video',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Unpin Chat Message',\n\t\t\t\t\t\tvalue: 'unpinChatMessage',\n\t\t\t\t\t\tdescription: 'Unpin a chat message',\n\t\t\t\t\t\taction: 'Unpin a chat message',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'sendMessage',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// chat / message\n\t\t\t// ----------------------------------\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Chat ID',\n\t\t\t\tname: 'chatId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: [\n\t\t\t\t\t\t\t'administrators',\n\t\t\t\t\t\t\t'deleteMessage',\n\t\t\t\t\t\t\t'get',\n\t\t\t\t\t\t\t'leave',\n\t\t\t\t\t\t\t'member',\n\t\t\t\t\t\t\t'pinChatMessage',\n\t\t\t\t\t\t\t'setDescription',\n\t\t\t\t\t\t\t'setTitle',\n\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t'sendChatAction',\n\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t'sendLocation',\n\t\t\t\t\t\t\t'sendMessage',\n\t\t\t\t\t\t\t'sendMediaGroup',\n\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t'sendSticker',\n\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t'unpinChatMessage',\n\t\t\t\t\t\t],\n\t\t\t\t\t\tresource: ['chat', 'message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription:\n\t\t\t\t\t'Unique identifier for the target chat or username, To find your chat ID ask @get_id_bot',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:deleteMessage\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Message ID',\n\t\t\t\tname: 'messageId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['deleteMessage'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'Unique identifier of the message to delete',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:pinChatMessage\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Message ID',\n\t\t\t\tname: 'messageId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['pinChatMessage', 'unpinChatMessage'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'Unique identifier of the message to pin or unpin',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Additional Fields',\n\t\t\t\tname: 'additionalFields',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['pinChatMessage'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Disable Notification',\n\t\t\t\t\t\tname: 'disable_notification',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Whether to send a notification to all chat members about the new pinned message',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// chat\n\t\t\t// ----------------------------------\n\n\t\t\t// ----------------------------------\n\t\t\t// chat:member\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'User ID',\n\t\t\t\tname: 'userId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['member'],\n\t\t\t\t\t\tresource: ['chat'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'Unique identifier of the target user',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// chat:setDescription\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Description',\n\t\t\t\tname: 'description',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['setDescription'],\n\t\t\t\t\t\tresource: ['chat'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'New chat description, 0-255 characters',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// chat:setTitle\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Title',\n\t\t\t\tname: 'title',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['setTitle'],\n\t\t\t\t\t\tresource: ['chat'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'New chat title, 1-255 characters',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// callback\n\t\t\t// ----------------------------------\n\n\t\t\t// ----------------------------------\n\t\t\t// callback:answerQuery\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Query ID',\n\t\t\t\tname: 'queryId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['answerQuery'],\n\t\t\t\t\t\tresource: ['callback'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'Unique identifier for the query to be answered',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Additional Fields',\n\t\t\t\tname: 'additionalFields',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['answerQuery'],\n\t\t\t\t\t\tresource: ['callback'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Cache Time',\n\t\t\t\t\t\tname: 'cache_time',\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\tminValue: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 0,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'The maximum amount of time in seconds that the result of the callback query may be cached client-side',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Show Alert',\n\t\t\t\t\t\tname: 'show_alert',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Whether an alert will be shown by the client instead of a notification at the top of the chat screen',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Text',\n\t\t\t\t\t\tname: 'text',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Text of the notification. If not specified, nothing will be shown to the user, 0-200 characters.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'URL',\n\t\t\t\t\t\tname: 'url',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription: \"URL that will be opened by the user's client\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t// -----------------------------------------------\n\t\t\t// callback:answerInlineQuery\n\t\t\t// -----------------------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Query ID',\n\t\t\t\tname: 'queryId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['answerInlineQuery'],\n\t\t\t\t\t\tresource: ['callback'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'Unique identifier for the answered query',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Results',\n\t\t\t\tname: 'results',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['answerInlineQuery'],\n\t\t\t\t\t\tresource: ['callback'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'A JSON-serialized array of results for the inline query',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Additional Fields',\n\t\t\t\tname: 'additionalFields',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['answerInlineQuery'],\n\t\t\t\t\t\tresource: ['callback'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Cache Time',\n\t\t\t\t\t\tname: 'cache_time',\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\tminValue: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 0,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'The maximum amount of time in seconds that the result of the callback query may be cached client-side',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Show Alert',\n\t\t\t\t\t\tname: 'show_alert',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Whether an alert will be shown by the client instead of a notification at the top of the chat screen',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Text',\n\t\t\t\t\t\tname: 'text',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Text of the notification. If not specified, nothing will be shown to the user, 0-200 characters.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'URL',\n\t\t\t\t\t\tname: 'url',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription: \"URL that will be opened by the user's client\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// file\n\t\t\t// ----------------------------------\n\n\t\t\t// ----------------------------------\n\t\t\t// file:get/download\n\t\t\t// ----------------------------------\n\n\t\t\t{\n\t\t\t\tdisplayName: 'File ID',\n\t\t\t\tname: 'fileId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['get'],\n\t\t\t\t\t\tresource: ['file'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'The ID of the file',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Download',\n\t\t\t\tname: 'download',\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['get'],\n\t\t\t\t\t\tresource: ['file'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: true,\n\t\t\t\tdescription: 'Whether to download the file',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message\n\t\t\t// ----------------------------------\n\n\t\t\t// ----------------------------------\n\t\t\t// message:editMessageText\n\t\t\t// ----------------------------------\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Message Type',\n\t\t\t\tname: 'messageType',\n\t\t\t\ttype: 'options',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['editMessageText'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Inline Message',\n\t\t\t\t\t\tvalue: 'inlineMessage',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Message',\n\t\t\t\t\t\tvalue: 'message',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'message',\n\t\t\t\tdescription: 'The type of the message to edit',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Chat ID',\n\t\t\t\tname: 'chatId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tmessageType: ['message'],\n\t\t\t\t\t\toperation: ['editMessageText'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription:\n\t\t\t\t\t'Unique identifier for the target chat or username, To find your chat ID ask @get_id_bot',\n\t\t\t},\n\t\t\t// ----------------------------------\n\t\t\t// message:sendAnimation/sendAudio/sendDocument/sendPhoto/sendSticker/sendVideo\n\t\t\t// ----------------------------------\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Binary File',\n\t\t\t\tname: 'binaryData',\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t\trequired: true,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: [\n\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t'sendSticker',\n\t\t\t\t\t\t],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription: 'Whether the data to upload should be taken from binary field',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Input Binary Field',\n\t\t\t\tname: 'binaryPropertyName',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'data',\n\t\t\t\trequired: true,\n\t\t\t\thint: 'The name of the input binary field containing the file to be written',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: [\n\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t'sendSticker',\n\t\t\t\t\t\t],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t\tbinaryData: [true],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tplaceholder: '',\n\t\t\t\tdescription: 'Name of the binary property that contains the data to upload',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Message ID',\n\t\t\t\tname: 'messageId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tmessageType: ['message'],\n\t\t\t\t\t\toperation: ['editMessageText'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'Unique identifier of the message to edit',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Inline Message ID',\n\t\t\t\tname: 'inlineMessageId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tmessageType: ['inlineMessage'],\n\t\t\t\t\t\toperation: ['editMessageText'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'Unique identifier of the inline message to edit',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Reply Markup',\n\t\t\t\tname: 'replyMarkup',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['editMessageText'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'None',\n\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Inline Keyboard',\n\t\t\t\t\t\tvalue: 'inlineKeyboard',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'none',\n\t\t\t\tdescription: 'Additional interface options',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendAnimation\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Animation',\n\t\t\t\tname: 'file',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendAnimation'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t\tbinaryData: [false],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription:\n\t\t\t\t\t'Animation to send. Pass a file_id to send an animation that exists on the Telegram servers (recommended), an HTTP URL for Telegram to get an animation from the Internet.',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendAudio\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Audio',\n\t\t\t\tname: 'file',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendAudio'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t\tbinaryData: [false],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription:\n\t\t\t\t\t'Audio file to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), an HTTP URL for Telegram to get a file from the Internet.',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendChatAction\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Action',\n\t\t\t\tname: 'action',\n\t\t\t\ttype: 'options',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendChatAction'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Find Location',\n\t\t\t\t\t\tvalue: 'find_location',\n\t\t\t\t\t\taction: 'Find location',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Record Audio',\n\t\t\t\t\t\tvalue: 'record_audio',\n\t\t\t\t\t\taction: 'Record audio',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Record Video',\n\t\t\t\t\t\tvalue: 'record_video',\n\t\t\t\t\t\taction: 'Record video',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Record Video Note',\n\t\t\t\t\t\tvalue: 'record_video_note',\n\t\t\t\t\t\taction: 'Record video note',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Typing',\n\t\t\t\t\t\tvalue: 'typing',\n\t\t\t\t\t\taction: 'Typing a message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Upload Audio',\n\t\t\t\t\t\tvalue: 'upload_audio',\n\t\t\t\t\t\taction: 'Upload audio',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Upload Document',\n\t\t\t\t\t\tvalue: 'upload_document',\n\t\t\t\t\t\taction: 'Upload document',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Upload Photo',\n\t\t\t\t\t\tvalue: 'upload_photo',\n\t\t\t\t\t\taction: 'Upload photo',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Upload Video',\n\t\t\t\t\t\tvalue: 'upload_video',\n\t\t\t\t\t\taction: 'Upload video',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Upload Video Note',\n\t\t\t\t\t\tvalue: 'upload_video_note',\n\t\t\t\t\t\taction: 'Upload video note',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'typing',\n\t\t\t\tdescription:\n\t\t\t\t\t'Type of action to broadcast. Choose one, depending on what the user is about to receive. The status is set for 5 seconds or less (when a message arrives from your bot).',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendDocument\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Document',\n\t\t\t\tname: 'file',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendDocument'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t\tbinaryData: [false],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription:\n\t\t\t\t\t'Document to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), an HTTP URL for Telegram to get a file from the Internet.',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendLocation\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Latitude',\n\t\t\t\tname: 'latitude',\n\t\t\t\ttype: 'number',\n\t\t\t\tdefault: 0.0,\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tnumberPrecision: 10,\n\t\t\t\t\tminValue: -90,\n\t\t\t\t\tmaxValue: 90,\n\t\t\t\t},\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendLocation'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription: 'Location latitude',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Longitude',\n\t\t\t\tname: 'longitude',\n\t\t\t\ttype: 'number',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tnumberPrecision: 10,\n\t\t\t\t\tminValue: -180,\n\t\t\t\t\tmaxValue: 180,\n\t\t\t\t},\n\t\t\t\tdefault: 0.0,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendLocation'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription: 'Location longitude',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendMediaGroup\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Media',\n\t\t\t\tname: 'media',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendMediaGroup'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription: 'The media to add',\n\t\t\t\tplaceholder: 'Add Media',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Media',\n\t\t\t\t\t\tname: 'media',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Type',\n\t\t\t\t\t\t\t\tname: 'type',\n\t\t\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tname: 'Photo',\n\t\t\t\t\t\t\t\t\t\tvalue: 'photo',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tname: 'Video',\n\t\t\t\t\t\t\t\t\t\tvalue: 'video',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tdefault: 'photo',\n\t\t\t\t\t\t\t\tdescription: 'The type of the media to add',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Media File',\n\t\t\t\t\t\t\t\tname: 'media',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t'Media to send. Pass a file_id to send a file that exists on the Telegram servers (recommended) or pass an HTTP URL for Telegram to get a file from the Internet.',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Additional Fields',\n\t\t\t\t\t\t\t\tname: 'additionalFields',\n\t\t\t\t\t\t\t\ttype: 'collection',\n\t\t\t\t\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\t\t\t\t\tdefault: {},\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tdisplayName: 'Caption',\n\t\t\t\t\t\t\t\t\t\tname: 'caption',\n\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\tdescription: 'Caption text to set, 0-1024 characters',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tdisplayName: 'Parse Mode',\n\t\t\t\t\t\t\t\t\t\tname: 'parse_mode',\n\t\t\t\t\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'Markdown (Legacy)',\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: 'Markdown',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'MarkdownV2',\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: 'MarkdownV2',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'HTML',\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: 'HTML',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\tdefault: 'HTML',\n\t\t\t\t\t\t\t\t\t\tdescription: 'How to parse the text',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendMessage\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Text',\n\t\t\t\tname: 'text',\n\t\t\t\ttype: 'string',\n\t\t\t\trequired: true,\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['editMessageText', 'sendMessage'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription: 'Text of the message to be sent',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendPhoto\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Photo',\n\t\t\t\tname: 'file',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendPhoto'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t\tbinaryData: [false],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription:\n\t\t\t\t\t'Photo to send. Pass a file_id to send a photo that exists on the Telegram servers (recommended), an HTTP URL for Telegram to get a photo from the Internet.',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendSticker\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Sticker',\n\t\t\t\tname: 'file',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendSticker'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t\tbinaryData: [false],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription:\n\t\t\t\t\t'Sticker to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), an HTTP URL for Telegram to get a .webp file from the Internet.',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendVideo\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Video',\n\t\t\t\tname: 'file',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendVideo'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t\tbinaryData: [false],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription:\n\t\t\t\t\t'Video file to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), an HTTP URL for Telegram to get a file from the Internet.',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:editMessageText/sendAnimation/sendAudio/sendLocation/sendMessage/sendPhoto/sendSticker/sendVideo\n\t\t\t// ----------------------------------\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Reply Markup',\n\t\t\t\tname: 'replyMarkup',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: [\n\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t'sendMessage',\n\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t'sendSticker',\n\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t'sendLocation',\n\t\t\t\t\t\t],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Force Reply',\n\t\t\t\t\t\tvalue: 'forceReply',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Inline Keyboard',\n\t\t\t\t\t\tvalue: 'inlineKeyboard',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'None',\n\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Reply Keyboard',\n\t\t\t\t\t\tvalue: 'replyKeyboard',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Reply Keyboard Remove',\n\t\t\t\t\t\tvalue: 'replyKeyboardRemove',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'none',\n\t\t\t\tdescription: 'Additional interface options',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Force Reply',\n\t\t\t\tname: 'forceReply',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\treplyMarkup: ['forceReply'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Force Reply',\n\t\t\t\t\t\tname: 'force_reply',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Whether to show reply interface to the user, as if they manually selected the bot‘s message and tapped ’Reply',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Selective',\n\t\t\t\t\t\tname: 'selective',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription: 'Whether to force reply from specific users only',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Inline Keyboard',\n\t\t\t\tname: 'inlineKeyboard',\n\t\t\t\tplaceholder: 'Add Keyboard Row',\n\t\t\t\tdescription: 'Adds an inline keyboard that appears right next to the message it belongs to',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t},\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\treplyMarkup: ['inlineKeyboard'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Rows',\n\t\t\t\t\t\tname: 'rows',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Row',\n\t\t\t\t\t\t\t\tname: 'row',\n\t\t\t\t\t\t\t\ttype: 'fixedCollection',\n\t\t\t\t\t\t\t\tdescription: 'The value to set',\n\t\t\t\t\t\t\t\tplaceholder: 'Add Button',\n\t\t\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\t\t\tmultipleValues: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdefault: {},\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tdisplayName: 'Buttons',\n\t\t\t\t\t\t\t\t\t\tname: 'buttons',\n\t\t\t\t\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Text',\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'text',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: 'Label text on the button',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Additional Fields',\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'additionalFields',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'collection',\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: {},\n\t\t\t\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Callback Data',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'callback_data',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Data to be sent in a callback query to the bot when button is pressed, 1-64 bytes',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Pay',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'pay',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: 'Whether to send a Pay button',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Switch Inline Query Current Chat',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'switch_inline_query_current_chat',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"If set, pressing the button will insert the bot‘s username and the specified inline query in the current chat's input field.Can be empty, in which case only the bot’s username will be inserted\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Switch Inline Query',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'switch_inline_query',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'If set, pressing the button will prompt the user to select one of their chats, open that chat and insert the bot‘s username and the specified inline query in the input field. Can be empty, in which case just the bot’s username will be inserted.',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'url',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: 'HTTP or tg:// URL to be opened when button is pressed',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Web App',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'web_app',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'collection',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder: 'Set Telegram Web App URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmultipleValues: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: {},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'url',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: 'An HTTPS URL of a Web App to be opened',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: 'Launch the Telegram Web App',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Reply Keyboard',\n\t\t\t\tname: 'replyKeyboard',\n\t\t\t\tplaceholder: 'Add Reply Keyboard Row',\n\t\t\t\tdescription: 'Adds a custom keyboard with reply options',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t},\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\treplyMarkup: ['replyKeyboard'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Rows',\n\t\t\t\t\t\tname: 'rows',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Row',\n\t\t\t\t\t\t\t\tname: 'row',\n\t\t\t\t\t\t\t\ttype: 'fixedCollection',\n\t\t\t\t\t\t\t\tdescription: 'The value to set',\n\t\t\t\t\t\t\t\tplaceholder: 'Add Button',\n\t\t\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\t\t\tmultipleValues: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdefault: {},\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tdisplayName: 'Buttons',\n\t\t\t\t\t\t\t\t\t\tname: 'buttons',\n\t\t\t\t\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Text',\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'text',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Text of the button. If none of the optional fields are used, it will be sent as a message when the button is pressed.',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Additional Fields',\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'additionalFields',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'collection',\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: {},\n\t\t\t\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Request Contact',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'request_contact',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Whether the user's phone number will be sent as a contact when the button is pressed.Available in private chats only\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Request Location',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'request_location',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"Whether the user's request_location\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Web App',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'web_app',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'collection',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder: 'Set Telegram Web App URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmultipleValues: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: {},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'url',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: 'An HTTPS URL of a Web App to be opened',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: 'Launch the Telegram Web App',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Reply Keyboard Options',\n\t\t\t\tname: 'replyKeyboardOptions',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add option',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\treplyMarkup: ['replyKeyboard'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Resize Keyboard',\n\t\t\t\t\t\tname: 'resize_keyboard',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Whether to request clients to resize the keyboard vertically for optimal fit',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'One Time Keyboard',\n\t\t\t\t\t\tname: 'one_time_keyboard',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\"Whether to request clients to hide the keyboard as soon as it's been used\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Selective',\n\t\t\t\t\t\tname: 'selective',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription: 'Whether to show the keyboard to specific users only',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Reply Keyboard Remove',\n\t\t\t\tname: 'replyKeyboardRemove',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\treplyMarkup: ['replyKeyboardRemove'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Remove Keyboard',\n\t\t\t\t\t\tname: 'remove_keyboard',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription: 'Whether to request clients to remove the custom keyboard',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Selective',\n\t\t\t\t\t\tname: 'selective',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription: 'Whether to force reply from specific users only',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Additional Fields',\n\t\t\t\tname: 'additionalFields',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: [\n\t\t\t\t\t\t\t'editMessageText',\n\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t'sendLocation',\n\t\t\t\t\t\t\t'sendMessage',\n\t\t\t\t\t\t\t'sendMediaGroup',\n\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t'sendSticker',\n\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\t...appendAttributionOption,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Whether to include the phrase “This message was sent automatically with n8n” to the end of the message',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['sendMessage'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Caption',\n\t\t\t\t\t\tname: 'caption',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': [\n\t\t\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription: 'Caption text to set, 0-1024 characters',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Disable Notification',\n\t\t\t\t\t\tname: 'disable_notification',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\thide: {\n\t\t\t\t\t\t\t\t'/operation': ['editMessageText'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Whether to send the message silently. Users will receive a notification with no sound.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Disable WebPage Preview',\n\t\t\t\t\t\tname: 'disable_web_page_preview',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['editMessageText', 'sendMessage'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription: 'Whether to disable link previews for links in this message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Duration',\n\t\t\t\t\t\tname: 'duration',\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\tminValue: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['sendAnimation', 'sendAudio', 'sendVideo'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 0,\n\t\t\t\t\t\tdescription: 'Duration of clip in seconds',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'File Name',\n\t\t\t\t\t\tname: 'fileName',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': [\n\t\t\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t\t\t'sendSticker',\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t'/resource': ['message'],\n\t\t\t\t\t\t\t\t'/binaryData': [true],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tplaceholder: 'image.jpeg',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Height',\n\t\t\t\t\t\tname: 'height',\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\tminValue: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['sendAnimation', 'sendVideo'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 0,\n\t\t\t\t\t\tdescription: 'Height of the video',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Parse Mode',\n\t\t\t\t\t\tname: 'parse_mode',\n\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Markdown (Legacy)',\n\t\t\t\t\t\t\t\tvalue: 'Markdown',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'MarkdownV2',\n\t\t\t\t\t\t\t\tvalue: 'MarkdownV2',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'HTML',\n\t\t\t\t\t\t\t\tvalue: 'HTML',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': [\n\t\t\t\t\t\t\t\t\t'editMessageText',\n\t\t\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t\t\t'sendMessage',\n\t\t\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 'HTML',\n\t\t\t\t\t\tdescription: 'How to parse the text',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Performer',\n\t\t\t\t\t\tname: 'performer',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['sendAudio'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription: 'Name of the performer',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Reply To Message ID',\n\t\t\t\t\t\tname: 'reply_to_message_id',\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\thide: {\n\t\t\t\t\t\t\t\t'/operation': ['editMessageText'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 0,\n\t\t\t\t\t\tdescription: 'If the message is a reply, ID of the original message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Message Thread ID',\n\t\t\t\t\t\tname: 'message_thread_id',\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': [\n\t\t\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t\t\t'sendChatAction',\n\t\t\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t\t\t'sendLocation',\n\t\t\t\t\t\t\t\t\t'sendMediaGroup',\n\t\t\t\t\t\t\t\t\t'sendMessage',\n\t\t\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t\t\t'sendSticker',\n\t\t\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 0,\n\t\t\t\t\t\tdescription: 'The unique identifier of the forum topic',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Title',\n\t\t\t\t\t\tname: 'title',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['sendAudio'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription: 'Title of the track',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Thumbnail',\n\t\t\t\t\t\tname: 'thumb',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['sendAnimation', 'sendAudio', 'sendDocument', 'sendVideo'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Thumbnail of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail‘s width and height should not exceed 320.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Width',\n\t\t\t\t\t\tname: 'width',\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\tminValue: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['sendAnimation', 'sendVideo'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 0,\n\t\t\t\t\t\tdescription: 'Width of the video',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t...getSendAndWaitProperties(\n\t\t\t\t[\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Chat ID',\n\t\t\t\t\t\tname: 'chatId',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Unique identifier for the target chat or username of the target channel (in the format @channelusername). To find your chat ID ask @get_id_bot.',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t'message',\n\t\t\t\tundefined,\n\t\t\t\t{\n\t\t\t\t\tnoButtonStyle: true,\n\t\t\t\t\tdefaultApproveLabel: '✅ Approve',\n\t\t\t\t\tdefaultDisapproveLabel: '❌ Decline',\n\t\t\t\t},\n\t\t\t).filter((p) => p.name !== 'subject'),\n\t\t],\n\t};\n\n\twebhook = sendAndWaitWebhook;\n\n\tasync execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst items = this.getInputData();\n\t\tconst returnData: INodeExecutionData[] = [];\n\n\t\t// For Post\n\t\tlet body: IDataObject;\n\t\t// For Query string\n\t\tlet qs: IDataObject;\n\n\t\tlet requestMethod: IHttpRequestMethods;\n\t\tlet endpoint: string;\n\n\t\tconst operation = this.getNodeParameter('operation', 0);\n\t\tconst resource = this.getNodeParameter('resource', 0);\n\t\tconst binaryData = this.getNodeParameter('binaryData', 0, false);\n\n\t\tconst nodeVersion = this.getNode().typeVersion;\n\t\tconst instanceId = this.getInstanceId();\n\n\t\tif (resource === 'message' && operation === SEND_AND_WAIT_OPERATION) {\n\t\t\tbody = createSendAndWaitMessageBody(this);\n\n\t\t\tawait apiRequest.call(this, 'POST', 'sendMessage', body);\n\n\t\t\tconst waitTill = configureWaitTillDate(this);\n\n\t\t\tawait this.putExecutionToWait(waitTill);\n\t\t\treturn [this.getInputData()];\n\t\t}\n\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\ttry {\n\t\t\t\t// Reset all values\n\t\t\t\trequestMethod = 'POST';\n\t\t\t\tendpoint = '';\n\t\t\t\tbody = {};\n\t\t\t\tqs = {};\n\n\t\t\t\tif (resource === 'callback') {\n\t\t\t\t\tif (operation === 'answerQuery') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// callback:answerQuery\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'answerCallbackQuery';\n\n\t\t\t\t\t\tbody.callback_query_id = this.getNodeParameter('queryId', i) as string;\n\n\t\t\t\t\t\t// Add additional fields\n\t\t\t\t\t\tconst additionalFields = this.getNodeParameter('additionalFields', i);\n\t\t\t\t\t\tObject.assign(body, additionalFields);\n\t\t\t\t\t} else if (operation === 'answerInlineQuery') {\n\t\t\t\t\t\t// -----------------------------------------------\n\t\t\t\t\t\t// callback:answerInlineQuery\n\t\t\t\t\t\t// -----------------------------------------------\n\n\t\t\t\t\t\tendpoint = 'answerInlineQuery';\n\n\t\t\t\t\t\tbody.inline_query_id = this.getNodeParameter('queryId', i) as string;\n\t\t\t\t\t\tbody.results = this.getNodeParameter('results', i) as string;\n\n\t\t\t\t\t\t// Add additional fields\n\t\t\t\t\t\tconst additionalFields = this.getNodeParameter('additionalFields', i);\n\t\t\t\t\t\tObject.assign(body, additionalFields);\n\t\t\t\t\t}\n\t\t\t\t} else if (resource === 'chat') {\n\t\t\t\t\tif (operation === 'get') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// chat:get\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'getChat';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t} else if (operation === 'administrators') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// chat:administrators\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'getChatAdministrators';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t} else if (operation === 'leave') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// chat:leave\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'leaveChat';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t} else if (operation === 'member') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// chat:member\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'getChatMember';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.user_id = this.getNodeParameter('userId', i) as string;\n\t\t\t\t\t} else if (operation === 'setDescription') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// chat:setDescription\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'setChatDescription';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.description = this.getNodeParameter('description', i) as string;\n\t\t\t\t\t} else if (operation === 'setTitle') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// chat:setTitle\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'setChatTitle';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.title = this.getNodeParameter('title', i) as string;\n\t\t\t\t\t}\n\t\t\t\t\t// } else if (resource === 'bot') {\n\t\t\t\t\t// \tif (operation === 'info') {\n\t\t\t\t\t// \t\tendpoint = 'getUpdates';\n\t\t\t\t\t// \t}\n\t\t\t\t} else if (resource === 'file') {\n\t\t\t\t\tif (operation === 'get') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// file:get\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'getFile';\n\n\t\t\t\t\t\tbody.file_id = this.getNodeParameter('fileId', i) as string;\n\t\t\t\t\t}\n\t\t\t\t} else if (resource === 'message') {\n\t\t\t\t\tif (operation === 'editMessageText') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:editMessageText\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'editMessageText';\n\n\t\t\t\t\t\tconst messageType = this.getNodeParameter('messageType', i) as string;\n\n\t\t\t\t\t\tif (messageType === 'inlineMessage') {\n\t\t\t\t\t\t\tbody.inline_message_id = this.getNodeParameter('inlineMessageId', i) as string;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\t\tbody.message_id = this.getNodeParameter('messageId', i) as string;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tbody.text = this.getNodeParameter('text', i) as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t} else if (operation === 'deleteMessage') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:deleteMessage\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'deleteMessage';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.message_id = this.getNodeParameter('messageId', i) as string;\n\t\t\t\t\t} else if (operation === 'pinChatMessage') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:pinChatMessage\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'pinChatMessage';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.message_id = this.getNodeParameter('messageId', i) as string;\n\n\t\t\t\t\t\tconst { disable_notification } = this.getNodeParameter('additionalFields', i);\n\t\t\t\t\t\tif (disable_notification) {\n\t\t\t\t\t\t\tbody.disable_notification = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (operation === 'unpinChatMessage') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:unpinChatMessage\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'unpinChatMessage';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.message_id = this.getNodeParameter('messageId', i) as string;\n\t\t\t\t\t} else if (operation === 'sendAnimation') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendAnimation\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendAnimation';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.animation = this.getNodeParameter('file', i, '') as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t} else if (operation === 'sendAudio') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendAudio\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendAudio';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.audio = this.getNodeParameter('file', i, '') as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t} else if (operation === 'sendChatAction') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendChatAction\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendChatAction';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.action = this.getNodeParameter('action', i) as string;\n\t\t\t\t\t} else if (operation === 'sendDocument') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendDocument\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendDocument';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.document = this.getNodeParameter('file', i, '') as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t} else if (operation === 'sendLocation') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendLocation\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendLocation';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.latitude = this.getNodeParameter('latitude', i) as string;\n\t\t\t\t\t\tbody.longitude = this.getNodeParameter('longitude', i) as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t} else if (operation === 'sendMessage') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendMessage\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendMessage';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.text = this.getNodeParameter('text', i) as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i, nodeVersion, instanceId);\n\t\t\t\t\t} else if (operation === 'sendMediaGroup') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendMediaGroup\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendMediaGroup';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\n\t\t\t\t\t\tconst additionalFields = this.getNodeParameter('additionalFields', i);\n\t\t\t\t\t\tObject.assign(body, additionalFields);\n\n\t\t\t\t\t\tconst mediaItems = this.getNodeParameter('media', i) as IDataObject;\n\t\t\t\t\t\tbody.media = [];\n\t\t\t\t\t\tfor (const mediaItem of mediaItems.media as IDataObject[]) {\n\t\t\t\t\t\t\tif (mediaItem.additionalFields !== undefined) {\n\t\t\t\t\t\t\t\tObject.assign(mediaItem, mediaItem.additionalFields);\n\t\t\t\t\t\t\t\tdelete mediaItem.additionalFields;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t(body.media as IDataObject[]).push(mediaItem);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (operation === 'sendPhoto') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendPhoto\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendPhoto';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.photo = this.getNodeParameter('file', i, '') as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t} else if (operation === 'sendSticker') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendSticker\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendSticker';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.sticker = this.getNodeParameter('file', i, '') as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t} else if (operation === 'sendVideo') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendVideo\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendVideo';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.video = this.getNodeParameter('file', i, '') as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthrow new NodeOperationError(this.getNode(), `The resource \"${resource}\" is not known!`, {\n\t\t\t\t\t\titemIndex: i,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tlet responseData;\n\n\t\t\t\tif (binaryData) {\n\t\t\t\t\tconst binaryPropertyName = this.getNodeParameter('binaryPropertyName', 0);\n\t\t\t\t\tconst itemBinaryData = items[i].binary![binaryPropertyName];\n\t\t\t\t\tconst propertyName = getPropertyName(operation);\n\t\t\t\t\tconst fileName = this.getNodeParameter('additionalFields.fileName', 0, '') as string;\n\n\t\t\t\t\tconst filename = fileName || itemBinaryData.fileName?.toString();\n\n\t\t\t\t\tif (!fileName && !itemBinaryData.fileName) {\n\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t`File name is needed to ${operation}. Make sure the property that holds the binary data\n\t\t\t\t\t\thas the file name property set or set it manually in the node using the File Name parameter under\n\t\t\t\t\t\tAdditional Fields.`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tbody.disable_notification = body.disable_notification?.toString() || 'false';\n\n\t\t\t\t\tlet uploadData: Buffer | Readable;\n\t\t\t\t\tif (itemBinaryData.id) {\n\t\t\t\t\t\tuploadData = await this.helpers.getBinaryStream(itemBinaryData.id);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tuploadData = Buffer.from(itemBinaryData.data, BINARY_ENCODING);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst formData = {\n\t\t\t\t\t\t...body,\n\t\t\t\t\t\t[propertyName]: {\n\t\t\t\t\t\t\tvalue: uploadData,\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tfilename,\n\t\t\t\t\t\t\t\tcontentType: itemBinaryData.mimeType,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\n\t\t\t\t\tresponseData = await apiRequest.call(this, requestMethod, endpoint, {}, qs, {\n\t\t\t\t\t\tformData,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tresponseData = await apiRequest.call(this, requestMethod, endpoint, body, qs);\n\t\t\t\t}\n\n\t\t\t\tif (resource === 'file' && operation === 'get') {\n\t\t\t\t\tif (this.getNodeParameter('download', i, false)) {\n\t\t\t\t\t\tconst filePath = responseData.result.file_path;\n\n\t\t\t\t\t\tconst credentials = await this.getCredentials('telegramApi');\n\t\t\t\t\t\tconst file = await apiRequest.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'GET',\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tjson: false,\n\t\t\t\t\t\t\t\tencoding: null,\n\t\t\t\t\t\t\t\turi: `${credentials.baseUrl}/file/bot${credentials.accessToken}/${filePath}`,\n\t\t\t\t\t\t\t\tresolveWithFullResponse: true,\n\t\t\t\t\t\t\t\tuseStream: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst fileName = filePath.split('/').pop();\n\n\t\t\t\t\t\tconst data = await this.helpers.prepareBinaryData(\n\t\t\t\t\t\t\tfile.body as Buffer,\n\t\t\t\t\t\t\tfileName as string,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturnData.push({\n\t\t\t\t\t\t\tjson: responseData,\n\t\t\t\t\t\t\tbinary: { data },\n\t\t\t\t\t\t\tpairedItem: { item: i },\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t} else if (resource === 'chat' && operation === 'administrators') {\n\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\tthis.helpers.returnJsonArray(responseData.result as IDataObject[]),\n\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t);\n\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\tthis.helpers.returnJsonArray(responseData as IDataObject[]),\n\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t);\n\t\t\t\treturnData.push(...executionData);\n\t\t\t} catch (error) {\n\t\t\t\tif (this.continueOnFail()) {\n\t\t\t\t\treturnData.push({ json: {}, error: error.message });\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\treturn [returnData];\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,0BAKO;AAGP,8BAKO;AACP,0BAAwC;AACxC,mCAAsC;AACtC,IAAAA,uBAA+C;AAC/C,mBAA6D;AAEtD,MAAM,SAA8B;AAAA,EAApC;AACN,uBAAoC;AAAA,MACnC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO,CAAC,QAAQ;AAAA,MAChB,SAAS,CAAC,GAAG,KAAK,GAAG;AAAA,MACrB,UAAU;AAAA,MACV,aAAa;AAAA,MACb,UAAU;AAAA,QACT,MAAM;AAAA,MACP;AAAA,MACA,cAAc;AAAA,MACd,QAAQ,CAAC,wCAAoB,IAAI;AAAA,MACjC,SAAS,CAAC,wCAAoB,IAAI;AAAA,MAClC,aAAa;AAAA,QACZ;AAAA,UACC,MAAM;AAAA,UACN,UAAU;AAAA,QACX;AAAA,MACD;AAAA,MACA,UAAU;AAAA,MACV,YAAY;AAAA,QACX;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,kBAAkB;AAAA,UAClB,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,YAKR;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,UACD;AAAA,UACA,SAAS;AAAA,QACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAgCA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,kBAAkB;AAAA,UAClB,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,UAAU,CAAC,MAAM;AAAA,YAClB;AAAA,UACD;AAAA,UACA,SAAS;AAAA,YACR;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,UACD;AAAA,UACA,SAAS;AAAA,QACV;AAAA,QAEA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,kBAAkB;AAAA,UAClB,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,UAAU,CAAC,UAAU;AAAA,YACtB;AAAA,UACD;AAAA,UACA,SAAS;AAAA,YACR;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,UACD;AAAA,UACA,SAAS;AAAA,QACV;AAAA,QACA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,kBAAkB;AAAA,UAClB,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,UAAU,CAAC,MAAM;AAAA,YAClB;AAAA,UACD;AAAA,UACA,SAAS;AAAA,YACR;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,UACD;AAAA,UACA,SAAS;AAAA,QACV;AAAA,QAEA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,kBAAkB;AAAA,UAClB,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,SAAS;AAAA,YACR;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,aAAa;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,UACD;AAAA,UACA,SAAS;AAAA,QACV;AAAA;AAAA;AAAA;AAAA,QAMA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW;AAAA,gBACV;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACD;AAAA,cACA,UAAU,CAAC,QAAQ,SAAS;AAAA,YAC7B;AAAA,UACD;AAAA,UACA,UAAU;AAAA,UACV,aACC;AAAA,QACF;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,eAAe;AAAA,cAC3B,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,UAAU;AAAA,UACV,aAAa;AAAA,QACd;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,kBAAkB,kBAAkB;AAAA,cAChD,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,UAAU;AAAA,UACV,aAAa;AAAA,QACd;AAAA,QACA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa;AAAA,UACb,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,gBAAgB;AAAA,cAC5B,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,SAAS,CAAC;AAAA,UACV,SAAS;AAAA,YACR;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aACC;AAAA,YACF;AAAA,UACD;AAAA,QACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QASA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,QAAQ;AAAA,cACpB,UAAU,CAAC,MAAM;AAAA,YAClB;AAAA,UACD;AAAA,UACA,UAAU;AAAA,UACV,aAAa;AAAA,QACd;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,gBAAgB;AAAA,cAC5B,UAAU,CAAC,MAAM;AAAA,YAClB;AAAA,UACD;AAAA,UACA,UAAU;AAAA,UACV,aAAa;AAAA,QACd;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,UAAU;AAAA,cACtB,UAAU,CAAC,MAAM;AAAA,YAClB;AAAA,UACD;AAAA,UACA,UAAU;AAAA,UACV,aAAa;AAAA,QACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QASA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,aAAa;AAAA,cACzB,UAAU,CAAC,UAAU;AAAA,YACtB;AAAA,UACD;AAAA,UACA,UAAU;AAAA,UACV,aAAa;AAAA,QACd;AAAA,QAEA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa;AAAA,UACb,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,aAAa;AAAA,cACzB,UAAU,CAAC,UAAU;AAAA,YACtB;AAAA,UACD;AAAA,UACA,SAAS,CAAC;AAAA,UACV,SAAS;AAAA,YACR;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,aAAa;AAAA,gBACZ,UAAU;AAAA,cACX;AAAA,cACA,SAAS;AAAA,cACT,aACC;AAAA,YACF;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aACC;AAAA,YACF;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aACC;AAAA,YACF;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,UACD;AAAA,QACD;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,mBAAmB;AAAA,cAC/B,UAAU,CAAC,UAAU;AAAA,YACtB;AAAA,UACD;AAAA,UACA,UAAU;AAAA,UACV,aAAa;AAAA,QACd;AAAA,QACA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,mBAAmB;AAAA,cAC/B,UAAU,CAAC,UAAU;AAAA,YACtB;AAAA,UACD;AAAA,UACA,UAAU;AAAA,UACV,aAAa;AAAA,QACd;AAAA,QACA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa;AAAA,UACb,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,mBAAmB;AAAA,cAC/B,UAAU,CAAC,UAAU;AAAA,YACtB;AAAA,UACD;AAAA,UACA,SAAS,CAAC;AAAA,UACV,SAAS;AAAA,YACR;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,aAAa;AAAA,gBACZ,UAAU;AAAA,cACX;AAAA,cACA,SAAS;AAAA,cACT,aACC;AAAA,YACF;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aACC;AAAA,YACF;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aACC;AAAA,YACF;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,UACD;AAAA,QACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAUA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,KAAK;AAAA,cACjB,UAAU,CAAC,MAAM;AAAA,YAClB;AAAA,UACD;AAAA,UACA,UAAU;AAAA,UACV,aAAa;AAAA,QACd;AAAA,QACA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,KAAK;AAAA,cACjB,UAAU,CAAC,MAAM;AAAA,YAClB;AAAA,UACD;AAAA,UACA,SAAS;AAAA,UACT,aAAa;AAAA,QACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAUA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,iBAAiB;AAAA,cAC7B,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,SAAS;AAAA,YACR;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,UACD;AAAA,UACA,SAAS;AAAA,UACT,aAAa;AAAA,QACd;AAAA,QAEA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,aAAa,CAAC,SAAS;AAAA,cACvB,WAAW,CAAC,iBAAiB;AAAA,cAC7B,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,UAAU;AAAA,UACV,aACC;AAAA,QACF;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,UAAU;AAAA,UACV,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW;AAAA,gBACV;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACD;AAAA,cACA,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,aAAa;AAAA,QACd;AAAA,QACA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,UAAU;AAAA,UACV,MAAM;AAAA,UACN,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW;AAAA,gBACV;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACD;AAAA,cACA,UAAU,CAAC,SAAS;AAAA,cACpB,YAAY,CAAC,IAAI;AAAA,YAClB;AAAA,UACD;AAAA,UACA,aAAa;AAAA,UACb,aAAa;AAAA,QACd;AAAA,QACA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,aAAa,CAAC,SAAS;AAAA,cACvB,WAAW,CAAC,iBAAiB;AAAA,cAC7B,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,UAAU;AAAA,UACV,aAAa;AAAA,QACd;AAAA,QACA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,aAAa,CAAC,eAAe;AAAA,cAC7B,WAAW,CAAC,iBAAiB;AAAA,cAC7B,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,UAAU;AAAA,UACV,aAAa;AAAA,QACd;AAAA,QACA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,iBAAiB;AAAA,cAC7B,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,MAAM;AAAA,UACN,SAAS;AAAA,YACR;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,UACD;AAAA,UACA,SAAS;AAAA,UACT,aAAa;AAAA,QACd;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,eAAe;AAAA,cAC3B,UAAU,CAAC,SAAS;AAAA,cACpB,YAAY,CAAC,KAAK;AAAA,YACnB;AAAA,UACD;AAAA,UACA,aACC;AAAA,QACF;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,WAAW;AAAA,cACvB,UAAU,CAAC,SAAS;AAAA,cACpB,YAAY,CAAC,KAAK;AAAA,YACnB;AAAA,UACD;AAAA,UACA,aACC;AAAA,QACF;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,gBAAgB;AAAA,cAC5B,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,SAAS;AAAA,YACR;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,YACT;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,YACT;AAAA,UACD;AAAA,UACA,SAAS;AAAA,UACT,aACC;AAAA,QACF;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,cAAc;AAAA,cAC1B,UAAU,CAAC,SAAS;AAAA,cACpB,YAAY,CAAC,KAAK;AAAA,YACnB;AAAA,UACD;AAAA,UACA,aACC;AAAA,QACF;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,aAAa;AAAA,YACZ,iBAAiB;AAAA,YACjB,UAAU;AAAA,YACV,UAAU;AAAA,UACX;AAAA,UACA,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,cAAc;AAAA,cAC1B,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,aAAa;AAAA,QACd;AAAA,QAEA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa;AAAA,YACZ,iBAAiB;AAAA,YACjB,UAAU;AAAA,YACV,UAAU;AAAA,UACX;AAAA,UACA,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,cAAc;AAAA,cAC1B,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,aAAa;AAAA,QACd;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,gBAAgB;AAAA,cAC5B,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,aAAa;AAAA,UACb,aAAa;AAAA,UACb,aAAa;AAAA,YACZ,gBAAgB;AAAA,UACjB;AAAA,UACA,SAAS,CAAC;AAAA,UACV,SAAS;AAAA,YACR;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,QAAQ;AAAA,gBACP;AAAA,kBACC,aAAa;AAAA,kBACb,MAAM;AAAA,kBACN,MAAM;AAAA,kBACN,SAAS;AAAA,oBACR;AAAA,sBACC,MAAM;AAAA,sBACN,OAAO;AAAA,oBACR;AAAA,oBACA;AAAA,sBACC,MAAM;AAAA,sBACN,OAAO;AAAA,oBACR;AAAA,kBACD;AAAA,kBACA,SAAS;AAAA,kBACT,aAAa;AAAA,gBACd;AAAA,gBACA;AAAA,kBACC,aAAa;AAAA,kBACb,MAAM;AAAA,kBACN,MAAM;AAAA,kBACN,SAAS;AAAA,kBACT,aACC;AAAA,gBACF;AAAA,gBACA;AAAA,kBACC,aAAa;AAAA,kBACb,MAAM;AAAA,kBACN,MAAM;AAAA,kBACN,aAAa;AAAA,kBACb,SAAS,CAAC;AAAA,kBACV,SAAS;AAAA,oBACR;AAAA,sBACC,aAAa;AAAA,sBACb,MAAM;AAAA,sBACN,MAAM;AAAA,sBACN,SAAS;AAAA,sBACT,aAAa;AAAA,oBACd;AAAA,oBACA;AAAA,sBACC,aAAa;AAAA,sBACb,MAAM;AAAA,sBACN,MAAM;AAAA,sBACN,SAAS;AAAA,wBACR;AAAA,0BACC,MAAM;AAAA,0BACN,OAAO;AAAA,wBACR;AAAA,wBACA;AAAA,0BACC,MAAM;AAAA,0BACN,OAAO;AAAA,wBACR;AAAA,wBACA;AAAA,0BACC,MAAM;AAAA,0BACN,OAAO;AAAA,wBACR;AAAA,sBACD;AAAA,sBACA,SAAS;AAAA,sBACT,aAAa;AAAA,oBACd;AAAA,kBACD;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,UAAU;AAAA,UACV,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,mBAAmB,aAAa;AAAA,cAC5C,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,aAAa;AAAA,QACd;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,WAAW;AAAA,cACvB,UAAU,CAAC,SAAS;AAAA,cACpB,YAAY,CAAC,KAAK;AAAA,YACnB;AAAA,UACD;AAAA,UACA,aACC;AAAA,QACF;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,aAAa;AAAA,cACzB,UAAU,CAAC,SAAS;AAAA,cACpB,YAAY,CAAC,KAAK;AAAA,YACnB;AAAA,UACD;AAAA,UACA,aACC;AAAA,QACF;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW,CAAC,WAAW;AAAA,cACvB,UAAU,CAAC,SAAS;AAAA,cACpB,YAAY,CAAC,KAAK;AAAA,YACnB;AAAA,UACD;AAAA,UACA,aACC;AAAA,QACF;AAAA;AAAA;AAAA;AAAA,QAMA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW;AAAA,gBACV;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACD;AAAA,cACA,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,MAAM;AAAA,UACN,SAAS;AAAA,YACR;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,UACD;AAAA,UACA,SAAS;AAAA,UACT,aAAa;AAAA,QACd;AAAA,QAEA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa;AAAA,UACb,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,aAAa,CAAC,YAAY;AAAA,cAC1B,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,SAAS,CAAC;AAAA,UACV,SAAS;AAAA,YACR;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aACC;AAAA,YACF;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,UACD;AAAA,QACD;AAAA,QAEA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,aAAa;AAAA,UACb,aAAa;AAAA,UACb,MAAM;AAAA,UACN,aAAa;AAAA,YACZ,gBAAgB;AAAA,UACjB;AAAA,UACA,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,aAAa,CAAC,gBAAgB;AAAA,cAC9B,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,SAAS,CAAC;AAAA,UACV,SAAS;AAAA,YACR;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,QAAQ;AAAA,gBACP;AAAA,kBACC,aAAa;AAAA,kBACb,MAAM;AAAA,kBACN,MAAM;AAAA,kBACN,aAAa;AAAA,kBACb,aAAa;AAAA,kBACb,aAAa;AAAA,oBACZ,gBAAgB;AAAA,kBACjB;AAAA,kBACA,SAAS,CAAC;AAAA,kBACV,SAAS;AAAA,oBACR;AAAA,sBACC,aAAa;AAAA,sBACb,MAAM;AAAA,sBACN,QAAQ;AAAA,wBACP;AAAA,0BACC,aAAa;AAAA,0BACb,MAAM;AAAA,0BACN,MAAM;AAAA,0BACN,SAAS;AAAA,0BACT,aAAa;AAAA,wBACd;AAAA,wBACA;AAAA,0BACC,aAAa;AAAA,0BACb,MAAM;AAAA,0BACN,MAAM;AAAA,0BACN,aAAa;AAAA,0BACb,SAAS,CAAC;AAAA,0BACV,SAAS;AAAA,4BACR;AAAA,8BACC,aAAa;AAAA,8BACb,MAAM;AAAA,8BACN,MAAM;AAAA,8BACN,SAAS;AAAA,8BACT,aACC;AAAA,4BACF;AAAA,4BACA;AAAA,8BACC,aAAa;AAAA,8BACb,MAAM;AAAA,8BACN,MAAM;AAAA,8BACN,SAAS;AAAA,8BACT,aAAa;AAAA,4BACd;AAAA,4BACA;AAAA,8BACC,aAAa;AAAA,8BACb,MAAM;AAAA,8BACN,MAAM;AAAA,8BACN,SAAS;AAAA,8BACT,aACC;AAAA,4BACF;AAAA,4BACA;AAAA,8BACC,aAAa;AAAA,8BACb,MAAM;AAAA,8BACN,MAAM;AAAA,8BACN,SAAS;AAAA,8BACT,aACC;AAAA,4BACF;AAAA,4BACA;AAAA,8BACC,aAAa;AAAA,8BACb,MAAM;AAAA,8BACN,MAAM;AAAA,8BACN,SAAS;AAAA,8BACT,aAAa;AAAA,4BACd;AAAA,4BACA;AAAA,8BACC,aAAa;AAAA,8BACb,MAAM;AAAA,8BACN,MAAM;AAAA,8BACN,aAAa;AAAA,8BACb,aAAa;AAAA,gCACZ,gBAAgB;AAAA,8BACjB;AAAA,8BACA,SAAS,CAAC;AAAA,8BACV,SAAS;AAAA,gCACR;AAAA,kCACC,aAAa;AAAA,kCACb,MAAM;AAAA,kCACN,MAAM;AAAA,kCACN,SAAS;AAAA,kCACT,aAAa;AAAA,gCACd;AAAA,8BACD;AAAA,8BACA,aAAa;AAAA,4BACd;AAAA,0BACD;AAAA,wBACD;AAAA,sBACD;AAAA,oBACD;AAAA,kBACD;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,QAEA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,aAAa;AAAA,UACb,aAAa;AAAA,UACb,MAAM;AAAA,UACN,aAAa;AAAA,YACZ,gBAAgB;AAAA,UACjB;AAAA,UACA,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,aAAa,CAAC,eAAe;AAAA,YAC9B;AAAA,UACD;AAAA,UACA,SAAS,CAAC;AAAA,UACV,SAAS;AAAA,YACR;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,QAAQ;AAAA,gBACP;AAAA,kBACC,aAAa;AAAA,kBACb,MAAM;AAAA,kBACN,MAAM;AAAA,kBACN,aAAa;AAAA,kBACb,aAAa;AAAA,kBACb,aAAa;AAAA,oBACZ,gBAAgB;AAAA,kBACjB;AAAA,kBACA,SAAS,CAAC;AAAA,kBACV,SAAS;AAAA,oBACR;AAAA,sBACC,aAAa;AAAA,sBACb,MAAM;AAAA,sBACN,QAAQ;AAAA,wBACP;AAAA,0BACC,aAAa;AAAA,0BACb,MAAM;AAAA,0BACN,MAAM;AAAA,0BACN,SAAS;AAAA,0BACT,aACC;AAAA,wBACF;AAAA,wBACA;AAAA,0BACC,aAAa;AAAA,0BACb,MAAM;AAAA,0BACN,MAAM;AAAA,0BACN,aAAa;AAAA,0BACb,SAAS,CAAC;AAAA,0BACV,SAAS;AAAA,4BACR;AAAA,8BACC,aAAa;AAAA,8BACb,MAAM;AAAA,8BACN,MAAM;AAAA,8BACN,SAAS;AAAA,8BACT,aACC;AAAA,4BACF;AAAA,4BACA;AAAA,8BACC,aAAa;AAAA,8BACb,MAAM;AAAA,8BACN,MAAM;AAAA,8BACN,SAAS;AAAA,8BACT,aAAa;AAAA,4BACd;AAAA,4BACA;AAAA,8BACC,aAAa;AAAA,8BACb,MAAM;AAAA,8BACN,MAAM;AAAA,8BACN,aAAa;AAAA,8BACb,aAAa;AAAA,gCACZ,gBAAgB;AAAA,8BACjB;AAAA,8BACA,SAAS,CAAC;AAAA,8BACV,SAAS;AAAA,gCACR;AAAA,kCACC,aAAa;AAAA,kCACb,MAAM;AAAA,kCACN,MAAM;AAAA,kCACN,SAAS;AAAA,kCACT,aAAa;AAAA,gCACd;AAAA,8BACD;AAAA,8BACA,aAAa;AAAA,4BACd;AAAA,0BACD;AAAA,wBACD;AAAA,sBACD;AAAA,oBACD;AAAA,kBACD;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,QAEA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa;AAAA,UACb,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,aAAa,CAAC,eAAe;AAAA,YAC9B;AAAA,UACD;AAAA,UACA,SAAS,CAAC;AAAA,UACV,SAAS;AAAA,YACR;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aACC;AAAA,YACF;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aACC;AAAA,YACF;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,UACD;AAAA,QACD;AAAA,QAEA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa;AAAA,UACb,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,aAAa,CAAC,qBAAqB;AAAA,YACpC;AAAA,UACD;AAAA,UACA,SAAS,CAAC;AAAA,UACV,SAAS;AAAA,YACR;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,UACD;AAAA,QACD;AAAA,QAEA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa;AAAA,UACb,gBAAgB;AAAA,YACf,MAAM;AAAA,cACL,WAAW;AAAA,gBACV;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACD;AAAA,cACA,UAAU,CAAC,SAAS;AAAA,YACrB;AAAA,UACD;AAAA,UACA,SAAS,CAAC;AAAA,UACV,SAAS;AAAA,YACR;AAAA,cACC,GAAG;AAAA,cACH,aACC;AAAA,cACD,gBAAgB;AAAA,gBACf,MAAM;AAAA,kBACL,cAAc,CAAC,aAAa;AAAA,gBAC7B;AAAA,cACD;AAAA,YACD;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,gBAAgB;AAAA,gBACf,MAAM;AAAA,kBACL,cAAc;AAAA,oBACb;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,kBACD;AAAA,gBACD;AAAA,cACD;AAAA,cACA,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,gBAAgB;AAAA,gBACf,MAAM;AAAA,kBACL,cAAc,CAAC,iBAAiB;AAAA,gBACjC;AAAA,cACD;AAAA,cACA,aACC;AAAA,YACF;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,gBAAgB;AAAA,gBACf,MAAM;AAAA,kBACL,cAAc,CAAC,mBAAmB,aAAa;AAAA,gBAChD;AAAA,cACD;AAAA,cACA,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,aAAa;AAAA,gBACZ,UAAU;AAAA,cACX;AAAA,cACA,gBAAgB;AAAA,gBACf,MAAM;AAAA,kBACL,cAAc,CAAC,iBAAiB,aAAa,WAAW;AAAA,gBACzD;AAAA,cACD;AAAA,cACA,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,gBAAgB;AAAA,gBACf,MAAM;AAAA,kBACL,cAAc;AAAA,oBACb;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,kBACD;AAAA,kBACA,aAAa,CAAC,SAAS;AAAA,kBACvB,eAAe,CAAC,IAAI;AAAA,gBACrB;AAAA,cACD;AAAA,cACA,aAAa;AAAA,YACd;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,aAAa;AAAA,gBACZ,UAAU;AAAA,cACX;AAAA,cACA,gBAAgB;AAAA,gBACf,MAAM;AAAA,kBACL,cAAc,CAAC,iBAAiB,WAAW;AAAA,gBAC5C;AAAA,cACD;AAAA,cACA,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,gBACR;AAAA,kBACC,MAAM;AAAA,kBACN,OAAO;AAAA,gBACR;AAAA,gBACA;AAAA,kBACC,MAAM;AAAA,kBACN,OAAO;AAAA,gBACR;AAAA,gBACA;AAAA,kBACC,MAAM;AAAA,kBACN,OAAO;AAAA,gBACR;AAAA,cACD;AAAA,cACA,gBAAgB;AAAA,gBACf,MAAM;AAAA,kBACL,cAAc;AAAA,oBACb;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,kBACD;AAAA,gBACD;AAAA,cACD;AAAA,cACA,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,gBAAgB;AAAA,gBACf,MAAM;AAAA,kBACL,cAAc,CAAC,WAAW;AAAA,gBAC3B;AAAA,cACD;AAAA,cACA,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,gBAAgB;AAAA,gBACf,MAAM;AAAA,kBACL,cAAc,CAAC,iBAAiB;AAAA,gBACjC;AAAA,cACD;AAAA,cACA,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,gBAAgB;AAAA,gBACf,MAAM;AAAA,kBACL,cAAc;AAAA,oBACb;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,kBACD;AAAA,gBACD;AAAA,cACD;AAAA,cACA,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,gBAAgB;AAAA,gBACf,MAAM;AAAA,kBACL,cAAc,CAAC,WAAW;AAAA,gBAC3B;AAAA,cACD;AAAA,cACA,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,gBAAgB;AAAA,gBACf,MAAM;AAAA,kBACL,cAAc,CAAC,iBAAiB,aAAa,gBAAgB,WAAW;AAAA,gBACzE;AAAA,cACD;AAAA,cACA,SAAS;AAAA,cACT,aACC;AAAA,YACF;AAAA,YACA;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,aAAa;AAAA,gBACZ,UAAU;AAAA,cACX;AAAA,cACA,gBAAgB;AAAA,gBACf,MAAM;AAAA,kBACL,cAAc,CAAC,iBAAiB,WAAW;AAAA,gBAC5C;AAAA,cACD;AAAA,cACA,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,UACD;AAAA,QACD;AAAA,QACA,OAAG;AAAA,UACF;AAAA,YACC;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,UAAU;AAAA,cACV,aACC;AAAA,YACF;AAAA,UACD;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,YACC,eAAe;AAAA,YACf,qBAAqB;AAAA,YACrB,wBAAwB;AAAA,UACzB;AAAA,QACD,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,SAAS;AAAA,MACrC;AAAA,IACD;AAEA,mBAAU;AAAA;AAAA,EAEV,MAAM,UAAkE;AACvE,UAAM,QAAQ,KAAK,aAAa;AAChC,UAAM,aAAmC,CAAC;AAG1C,QAAI;AAEJ,QAAI;AAEJ,QAAI;AACJ,QAAI;AAEJ,UAAM,YAAY,KAAK,iBAAiB,aAAa,CAAC;AACtD,UAAM,WAAW,KAAK,iBAAiB,YAAY,CAAC;AACpD,UAAM,aAAa,KAAK,iBAAiB,cAAc,GAAG,KAAK;AAE/D,UAAM,cAAc,KAAK,QAAQ,EAAE;AACnC,UAAM,aAAa,KAAK,cAAc;AAEtC,QAAI,aAAa,aAAa,cAAc,6CAAyB;AACpE,iBAAO,sDAA6B,IAAI;AAExC,YAAM,mCAAW,KAAK,MAAM,QAAQ,eAAe,IAAI;AAEvD,YAAM,eAAW,oDAAsB,IAAI;AAE3C,YAAM,KAAK,mBAAmB,QAAQ;AACtC,aAAO,CAAC,KAAK,aAAa,CAAC;AAAA,IAC5B;AAEA,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACtC,UAAI;AAEH,wBAAgB;AAChB,mBAAW;AACX,eAAO,CAAC;AACR,aAAK,CAAC;AAEN,YAAI,aAAa,YAAY;AAC5B,cAAI,cAAc,eAAe;AAKhC,uBAAW;AAEX,iBAAK,oBAAoB,KAAK,iBAAiB,WAAW,CAAC;AAG3D,kBAAM,mBAAmB,KAAK,iBAAiB,oBAAoB,CAAC;AACpE,mBAAO,OAAO,MAAM,gBAAgB;AAAA,UACrC,WAAW,cAAc,qBAAqB;AAK7C,uBAAW;AAEX,iBAAK,kBAAkB,KAAK,iBAAiB,WAAW,CAAC;AACzD,iBAAK,UAAU,KAAK,iBAAiB,WAAW,CAAC;AAGjD,kBAAM,mBAAmB,KAAK,iBAAiB,oBAAoB,CAAC;AACpE,mBAAO,OAAO,MAAM,gBAAgB;AAAA,UACrC;AAAA,QACD,WAAW,aAAa,QAAQ;AAC/B,cAAI,cAAc,OAAO;AAKxB,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAAA,UACjD,WAAW,cAAc,kBAAkB;AAK1C,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAAA,UACjD,WAAW,cAAc,SAAS;AAKjC,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAAA,UACjD,WAAW,cAAc,UAAU;AAKlC,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAAA,UACjD,WAAW,cAAc,kBAAkB;AAK1C,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,iBAAK,cAAc,KAAK,iBAAiB,eAAe,CAAC;AAAA,UAC1D,WAAW,cAAc,YAAY;AAKpC,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,iBAAK,QAAQ,KAAK,iBAAiB,SAAS,CAAC;AAAA,UAC9C;AAAA,QAKD,WAAW,aAAa,QAAQ;AAC/B,cAAI,cAAc,OAAO;AAKxB,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAAA,UACjD;AAAA,QACD,WAAW,aAAa,WAAW;AAClC,cAAI,cAAc,mBAAmB;AAKpC,uBAAW;AAEX,kBAAM,cAAc,KAAK,iBAAiB,eAAe,CAAC;AAE1D,gBAAI,gBAAgB,iBAAiB;AACpC,mBAAK,oBAAoB,KAAK,iBAAiB,mBAAmB,CAAC;AAAA,YACpE,OAAO;AACN,mBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,mBAAK,aAAa,KAAK,iBAAiB,aAAa,CAAC;AAAA,YACvD;AAEA,iBAAK,OAAO,KAAK,iBAAiB,QAAQ,CAAC;AAG3C,wDAAoB,KAAK,MAAM,MAAM,CAAC;AAAA,UACvC,WAAW,cAAc,iBAAiB;AAKzC,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,iBAAK,aAAa,KAAK,iBAAiB,aAAa,CAAC;AAAA,UACvD,WAAW,cAAc,kBAAkB;AAK1C,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,iBAAK,aAAa,KAAK,iBAAiB,aAAa,CAAC;AAEtD,kBAAM,EAAE,qBAAqB,IAAI,KAAK,iBAAiB,oBAAoB,CAAC;AAC5E,gBAAI,sBAAsB;AACzB,mBAAK,uBAAuB;AAAA,YAC7B;AAAA,UACD,WAAW,cAAc,oBAAoB;AAK5C,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,iBAAK,aAAa,KAAK,iBAAiB,aAAa,CAAC;AAAA,UACvD,WAAW,cAAc,iBAAiB;AAKzC,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,iBAAK,YAAY,KAAK,iBAAiB,QAAQ,GAAG,EAAE;AAGpD,wDAAoB,KAAK,MAAM,MAAM,CAAC;AAAA,UACvC,WAAW,cAAc,aAAa;AAKrC,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,iBAAK,QAAQ,KAAK,iBAAiB,QAAQ,GAAG,EAAE;AAGhD,wDAAoB,KAAK,MAAM,MAAM,CAAC;AAAA,UACvC,WAAW,cAAc,kBAAkB;AAK1C,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,iBAAK,SAAS,KAAK,iBAAiB,UAAU,CAAC;AAAA,UAChD,WAAW,cAAc,gBAAgB;AAKxC,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,iBAAK,WAAW,KAAK,iBAAiB,QAAQ,GAAG,EAAE;AAGnD,wDAAoB,KAAK,MAAM,MAAM,CAAC;AAAA,UACvC,WAAW,cAAc,gBAAgB;AAKxC,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,iBAAK,WAAW,KAAK,iBAAiB,YAAY,CAAC;AACnD,iBAAK,YAAY,KAAK,iBAAiB,aAAa,CAAC;AAGrD,wDAAoB,KAAK,MAAM,MAAM,CAAC;AAAA,UACvC,WAAW,cAAc,eAAe;AAKvC,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,iBAAK,OAAO,KAAK,iBAAiB,QAAQ,CAAC;AAG3C,wDAAoB,KAAK,MAAM,MAAM,GAAG,aAAa,UAAU;AAAA,UAChE,WAAW,cAAc,kBAAkB;AAK1C,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAEhD,kBAAM,mBAAmB,KAAK,iBAAiB,oBAAoB,CAAC;AACpE,mBAAO,OAAO,MAAM,gBAAgB;AAEpC,kBAAM,aAAa,KAAK,iBAAiB,SAAS,CAAC;AACnD,iBAAK,QAAQ,CAAC;AACd,uBAAW,aAAa,WAAW,OAAwB;AAC1D,kBAAI,UAAU,qBAAqB,QAAW;AAC7C,uBAAO,OAAO,WAAW,UAAU,gBAAgB;AACnD,uBAAO,UAAU;AAAA,cAClB;AACA,cAAC,KAAK,MAAwB,KAAK,SAAS;AAAA,YAC7C;AAAA,UACD,WAAW,cAAc,aAAa;AAKrC,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,iBAAK,QAAQ,KAAK,iBAAiB,QAAQ,GAAG,EAAE;AAGhD,wDAAoB,KAAK,MAAM,MAAM,CAAC;AAAA,UACvC,WAAW,cAAc,eAAe;AAKvC,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,iBAAK,UAAU,KAAK,iBAAiB,QAAQ,GAAG,EAAE;AAGlD,wDAAoB,KAAK,MAAM,MAAM,CAAC;AAAA,UACvC,WAAW,cAAc,aAAa;AAKrC,uBAAW;AAEX,iBAAK,UAAU,KAAK,iBAAiB,UAAU,CAAC;AAChD,iBAAK,QAAQ,KAAK,iBAAiB,QAAQ,GAAG,EAAE;AAGhD,wDAAoB,KAAK,MAAM,MAAM,CAAC;AAAA,UACvC;AAAA,QACD,OAAO;AACN,gBAAM,IAAI,uCAAmB,KAAK,QAAQ,GAAG,iBAAiB,QAAQ,mBAAmB;AAAA,YACxF,WAAW;AAAA,UACZ,CAAC;AAAA,QACF;AAEA,YAAI;AAEJ,YAAI,YAAY;AACf,gBAAM,qBAAqB,KAAK,iBAAiB,sBAAsB,CAAC;AACxE,gBAAM,iBAAiB,MAAM,CAAC,EAAE,OAAQ,kBAAkB;AAC1D,gBAAM,mBAAe,yCAAgB,SAAS;AAC9C,gBAAM,WAAW,KAAK,iBAAiB,6BAA6B,GAAG,EAAE;AAEzE,gBAAM,WAAW,YAAY,eAAe,UAAU,SAAS;AAE/D,cAAI,CAAC,YAAY,CAAC,eAAe,UAAU;AAC1C,kBAAM,IAAI;AAAA,cACT,KAAK,QAAQ;AAAA,cACb,0BAA0B,SAAS;AAAA;AAAA;AAAA,YAGpC;AAAA,UACD;AAEA,eAAK,uBAAuB,KAAK,sBAAsB,SAAS,KAAK;AAErE,cAAI;AACJ,cAAI,eAAe,IAAI;AACtB,yBAAa,MAAM,KAAK,QAAQ,gBAAgB,eAAe,EAAE;AAAA,UAClE,OAAO;AACN,yBAAa,OAAO,KAAK,eAAe,MAAM,mCAAe;AAAA,UAC9D;AAEA,gBAAM,WAAW;AAAA,YAChB,GAAG;AAAA,YACH,CAAC,YAAY,GAAG;AAAA,cACf,OAAO;AAAA,cACP,SAAS;AAAA,gBACR;AAAA,gBACA,aAAa,eAAe;AAAA,cAC7B;AAAA,YACD;AAAA,UACD;AAEA,yBAAe,MAAM,mCAAW,KAAK,MAAM,eAAe,UAAU,CAAC,GAAG,IAAI;AAAA,YAC3E;AAAA,UACD,CAAC;AAAA,QACF,OAAO;AACN,yBAAe,MAAM,mCAAW,KAAK,MAAM,eAAe,UAAU,MAAM,EAAE;AAAA,QAC7E;AAEA,YAAI,aAAa,UAAU,cAAc,OAAO;AAC/C,cAAI,KAAK,iBAAiB,YAAY,GAAG,KAAK,GAAG;AAChD,kBAAM,WAAW,aAAa,OAAO;AAErC,kBAAM,cAAc,MAAM,KAAK,eAAe,aAAa;AAC3D,kBAAM,OAAO,MAAM,mCAAW;AAAA,cAC7B;AAAA,cACA;AAAA,cACA;AAAA,cACA,CAAC;AAAA,cACD,CAAC;AAAA,cACD;AAAA,gBACC,MAAM;AAAA,gBACN,UAAU;AAAA,gBACV,KAAK,GAAG,YAAY,OAAO,YAAY,YAAY,WAAW,IAAI,QAAQ;AAAA,gBAC1E,yBAAyB;AAAA,gBACzB,WAAW;AAAA,cACZ;AAAA,YACD;AAEA,kBAAM,WAAW,SAAS,MAAM,GAAG,EAAE,IAAI;AAEzC,kBAAM,OAAO,MAAM,KAAK,QAAQ;AAAA,cAC/B,KAAK;AAAA,cACL;AAAA,YACD;AAEA,uBAAW,KAAK;AAAA,cACf,MAAM;AAAA,cACN,QAAQ,EAAE,KAAK;AAAA,cACf,YAAY,EAAE,MAAM,EAAE;AAAA,YACvB,CAAC;AACD;AAAA,UACD;AAAA,QACD,WAAW,aAAa,UAAU,cAAc,kBAAkB;AACjE,gBAAMC,iBAAgB,KAAK,QAAQ;AAAA,YAClC,KAAK,QAAQ,gBAAgB,aAAa,MAAuB;AAAA,YACjE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;AAAA,UACzB;AACA,qBAAW,KAAK,GAAGA,cAAa;AAChC;AAAA,QACD;AAEA,cAAM,gBAAgB,KAAK,QAAQ;AAAA,UAClC,KAAK,QAAQ,gBAAgB,YAA6B;AAAA,UAC1D,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;AAAA,QACzB;AACA,mBAAW,KAAK,GAAG,aAAa;AAAA,MACjC,SAAS,OAAO;AACf,YAAI,KAAK,eAAe,GAAG;AAC1B,qBAAW,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,MAAM,QAAQ,CAAC;AAClD;AAAA,QACD;AACA,cAAM;AAAA,MACP;AAAA,IACD;AAEA,WAAO,CAAC,UAAU;AAAA,EACnB;AACD;","names":["import_descriptions","executionData"]}
1
+ {"version":3,"sources":["../../../nodes/Telegram/Telegram.node.ts"],"sourcesContent":["import type {\n\tIExecuteFunctions,\n\tIDataObject,\n\tINodeExecutionData,\n\tINodeType,\n\tINodeTypeDescription,\n\tIHttpRequestMethods,\n} from 'n8n-workflow';\nimport {\n\tBINARY_ENCODING,\n\tSEND_AND_WAIT_OPERATION,\n\tNodeConnectionTypes,\n\tNodeOperationError,\n} from 'n8n-workflow';\nimport type { Readable } from 'stream';\n\nimport {\n\taddAdditionalFields,\n\tapiRequest,\n\tcreateSendAndWaitMessageBody,\n\tgetPropertyName,\n} from './GenericFunctions';\nimport { appendAttributionOption } from '../../utils/descriptions';\nimport { configureWaitTillDate } from '../../utils/sendAndWait/configureWaitTillDate.util';\nimport { sendAndWaitWebhooksDescription } from '../../utils/sendAndWait/descriptions';\nimport { getSendAndWaitProperties, sendAndWaitWebhook } from '../../utils/sendAndWait/utils';\n\nexport class Telegram implements INodeType {\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'Telegram',\n\t\tname: 'telegram',\n\t\ticon: 'file:telegram.svg',\n\t\tgroup: ['output'],\n\t\tversion: [1, 1.1, 1.2],\n\t\tsubtitle: '={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}',\n\t\tdescription: 'Sends data to Telegram',\n\t\tdefaults: {\n\t\t\tname: 'Telegram',\n\t\t},\n\t\tusableAsTool: true,\n\t\tinputs: [NodeConnectionTypes.Main],\n\t\toutputs: [NodeConnectionTypes.Main],\n\t\tcredentials: [\n\t\t\t{\n\t\t\t\tname: 'telegramApi',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t],\n\t\twebhooks: sendAndWaitWebhooksDescription,\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Resource',\n\t\t\t\tname: 'resource',\n\t\t\t\ttype: 'options',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\toptions: [\n\t\t\t\t\t// {\n\t\t\t\t\t// \tname: 'Bot',\n\t\t\t\t\t// \tvalue: 'bot',\n\t\t\t\t\t// },\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Chat',\n\t\t\t\t\t\tvalue: 'chat',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Callback',\n\t\t\t\t\t\tvalue: 'callback',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'File',\n\t\t\t\t\t\tvalue: 'file',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Message',\n\t\t\t\t\t\tvalue: 'message',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'message',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// operation\n\t\t\t// ----------------------------------\n\n\t\t\t// {\n\t\t\t// \tdisplayName: 'Operation',\n\t\t\t// \tname: 'operation',\n\t\t\t// \ttype: 'options',\n\t\t\t// \tdisplayOptions: {\n\t\t\t// \t\tshow: {\n\t\t\t// \t\t\tresource: [\n\t\t\t// \t\t\t\t'bot',\n\t\t\t// \t\t\t],\n\t\t\t// \t\t},\n\t\t\t// \t},\n\t\t\t// \toptions: [\n\t\t\t// \t\t{\n\t\t\t// \t\t\tname: 'Info',\n\t\t\t// \t\t\tvalue: 'info',\n\t\t\t// \t\t\tdescription: 'Get information about the bot associated with the access token.',\n\t\t\t// \t\t},\n\t\t\t// \t],\n\t\t\t// \tdefault: 'info',\n\t\t\t// \tdescription: 'The operation to perform.',\n\t\t\t// },\n\n\t\t\t// ----------------------------------\n\t\t\t// operation\n\t\t\t// ----------------------------------\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Operation',\n\t\t\t\tname: 'operation',\n\t\t\t\ttype: 'options',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tresource: ['chat'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Get',\n\t\t\t\t\t\tvalue: 'get',\n\t\t\t\t\t\tdescription: 'Get up to date information about a chat',\n\t\t\t\t\t\taction: 'Get a chat',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Get Administrators',\n\t\t\t\t\t\tvalue: 'administrators',\n\t\t\t\t\t\tdescription: 'Get the Administrators of a chat',\n\t\t\t\t\t\taction: 'Get all administrators in a chat',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Get Member',\n\t\t\t\t\t\tvalue: 'member',\n\t\t\t\t\t\tdescription: 'Get the member of a chat',\n\t\t\t\t\t\taction: 'Get a member in a chat',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Leave',\n\t\t\t\t\t\tvalue: 'leave',\n\t\t\t\t\t\tdescription: 'Leave a group, supergroup or channel',\n\t\t\t\t\t\taction: 'Leave a chat',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Set Description',\n\t\t\t\t\t\tvalue: 'setDescription',\n\t\t\t\t\t\tdescription: 'Set the description of a chat',\n\t\t\t\t\t\taction: 'Set description on a chat',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Set Title',\n\t\t\t\t\t\tvalue: 'setTitle',\n\t\t\t\t\t\tdescription: 'Set the title of a chat',\n\t\t\t\t\t\taction: 'Set a title on a chat',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'get',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Operation',\n\t\t\t\tname: 'operation',\n\t\t\t\ttype: 'options',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tresource: ['callback'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Answer Query',\n\t\t\t\t\t\tvalue: 'answerQuery',\n\t\t\t\t\t\tdescription: 'Send answer to callback query sent from inline keyboard',\n\t\t\t\t\t\taction: 'Answer Query a callback',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Answer Inline Query',\n\t\t\t\t\t\tvalue: 'answerInlineQuery',\n\t\t\t\t\t\tdescription: 'Send answer to callback query sent from inline bot',\n\t\t\t\t\t\taction: 'Answer an inline query callback',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'answerQuery',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Operation',\n\t\t\t\tname: 'operation',\n\t\t\t\ttype: 'options',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tresource: ['file'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Get',\n\t\t\t\t\t\tvalue: 'get',\n\t\t\t\t\t\tdescription: 'Get a file',\n\t\t\t\t\t\taction: 'Get a file',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'get',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Operation',\n\t\t\t\tname: 'operation',\n\t\t\t\ttype: 'options',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Delete Chat Message',\n\t\t\t\t\t\tvalue: 'deleteMessage',\n\t\t\t\t\t\tdescription: 'Delete a chat message',\n\t\t\t\t\t\taction: 'Delete a chat message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Edit Message Text',\n\t\t\t\t\t\tvalue: 'editMessageText',\n\t\t\t\t\t\tdescription: 'Edit a text message',\n\t\t\t\t\t\taction: 'Edit a test message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Pin Chat Message',\n\t\t\t\t\t\tvalue: 'pinChatMessage',\n\t\t\t\t\t\tdescription: 'Pin a chat message',\n\t\t\t\t\t\taction: 'Pin a chat message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Animation',\n\t\t\t\t\t\tvalue: 'sendAnimation',\n\t\t\t\t\t\tdescription: 'Send an animated file',\n\t\t\t\t\t\taction: 'Send an animated file',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Audio',\n\t\t\t\t\t\tvalue: 'sendAudio',\n\t\t\t\t\t\tdescription: 'Send a audio file',\n\t\t\t\t\t\taction: 'Send an audio file',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Chat Action',\n\t\t\t\t\t\tvalue: 'sendChatAction',\n\t\t\t\t\t\tdescription: 'Send a chat action',\n\t\t\t\t\t\taction: 'Send a chat action',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Document',\n\t\t\t\t\t\tvalue: 'sendDocument',\n\t\t\t\t\t\tdescription: 'Send a document',\n\t\t\t\t\t\taction: 'Send a document',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Location',\n\t\t\t\t\t\tvalue: 'sendLocation',\n\t\t\t\t\t\tdescription: 'Send a location',\n\t\t\t\t\t\taction: 'Send a location',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Media Group',\n\t\t\t\t\t\tvalue: 'sendMediaGroup',\n\t\t\t\t\t\tdescription: 'Send group of photos or videos to album',\n\t\t\t\t\t\taction: 'Send a media group message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Message',\n\t\t\t\t\t\tvalue: 'sendMessage',\n\t\t\t\t\t\tdescription: 'Send a text message',\n\t\t\t\t\t\taction: 'Send a text message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send and Wait for Response',\n\t\t\t\t\t\tvalue: SEND_AND_WAIT_OPERATION,\n\t\t\t\t\t\tdescription: 'Send a message and wait for response',\n\t\t\t\t\t\taction: 'Send message and wait for response',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Photo',\n\t\t\t\t\t\tvalue: 'sendPhoto',\n\t\t\t\t\t\tdescription: 'Send a photo',\n\t\t\t\t\t\taction: 'Send a photo message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Sticker',\n\t\t\t\t\t\tvalue: 'sendSticker',\n\t\t\t\t\t\tdescription: 'Send a sticker',\n\t\t\t\t\t\taction: 'Send a sticker',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Send Video',\n\t\t\t\t\t\tvalue: 'sendVideo',\n\t\t\t\t\t\tdescription: 'Send a video',\n\t\t\t\t\t\taction: 'Send a video',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Unpin Chat Message',\n\t\t\t\t\t\tvalue: 'unpinChatMessage',\n\t\t\t\t\t\tdescription: 'Unpin a chat message',\n\t\t\t\t\t\taction: 'Unpin a chat message',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'sendMessage',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// chat / message\n\t\t\t// ----------------------------------\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Chat ID',\n\t\t\t\tname: 'chatId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: [\n\t\t\t\t\t\t\t'administrators',\n\t\t\t\t\t\t\t'deleteMessage',\n\t\t\t\t\t\t\t'get',\n\t\t\t\t\t\t\t'leave',\n\t\t\t\t\t\t\t'member',\n\t\t\t\t\t\t\t'pinChatMessage',\n\t\t\t\t\t\t\t'setDescription',\n\t\t\t\t\t\t\t'setTitle',\n\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t'sendChatAction',\n\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t'sendLocation',\n\t\t\t\t\t\t\t'sendMessage',\n\t\t\t\t\t\t\t'sendMediaGroup',\n\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t'sendSticker',\n\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t'unpinChatMessage',\n\t\t\t\t\t\t],\n\t\t\t\t\t\tresource: ['chat', 'message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription:\n\t\t\t\t\t'Unique identifier for the target chat or username, To find your chat ID ask @get_id_bot',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:deleteMessage\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Message ID',\n\t\t\t\tname: 'messageId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['deleteMessage'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'Unique identifier of the message to delete',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:pinChatMessage\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Message ID',\n\t\t\t\tname: 'messageId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['pinChatMessage', 'unpinChatMessage'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'Unique identifier of the message to pin or unpin',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Additional Fields',\n\t\t\t\tname: 'additionalFields',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['pinChatMessage'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Disable Notification',\n\t\t\t\t\t\tname: 'disable_notification',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Whether to send a notification to all chat members about the new pinned message',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// chat\n\t\t\t// ----------------------------------\n\n\t\t\t// ----------------------------------\n\t\t\t// chat:member\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'User ID',\n\t\t\t\tname: 'userId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['member'],\n\t\t\t\t\t\tresource: ['chat'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'Unique identifier of the target user',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// chat:setDescription\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Description',\n\t\t\t\tname: 'description',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['setDescription'],\n\t\t\t\t\t\tresource: ['chat'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'New chat description, 0-255 characters',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// chat:setTitle\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Title',\n\t\t\t\tname: 'title',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['setTitle'],\n\t\t\t\t\t\tresource: ['chat'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'New chat title, 1-255 characters',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// callback\n\t\t\t// ----------------------------------\n\n\t\t\t// ----------------------------------\n\t\t\t// callback:answerQuery\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Query ID',\n\t\t\t\tname: 'queryId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['answerQuery'],\n\t\t\t\t\t\tresource: ['callback'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'Unique identifier for the query to be answered',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Additional Fields',\n\t\t\t\tname: 'additionalFields',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['answerQuery'],\n\t\t\t\t\t\tresource: ['callback'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Cache Time',\n\t\t\t\t\t\tname: 'cache_time',\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\tminValue: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 0,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'The maximum amount of time in seconds that the result of the callback query may be cached client-side',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Show Alert',\n\t\t\t\t\t\tname: 'show_alert',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Whether an alert will be shown by the client instead of a notification at the top of the chat screen',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Text',\n\t\t\t\t\t\tname: 'text',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Text of the notification. If not specified, nothing will be shown to the user, 0-200 characters.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'URL',\n\t\t\t\t\t\tname: 'url',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription: \"URL that will be opened by the user's client\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t// -----------------------------------------------\n\t\t\t// callback:answerInlineQuery\n\t\t\t// -----------------------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Query ID',\n\t\t\t\tname: 'queryId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['answerInlineQuery'],\n\t\t\t\t\t\tresource: ['callback'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'Unique identifier for the answered query',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Results',\n\t\t\t\tname: 'results',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['answerInlineQuery'],\n\t\t\t\t\t\tresource: ['callback'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'A JSON-serialized array of results for the inline query',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Additional Fields',\n\t\t\t\tname: 'additionalFields',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['answerInlineQuery'],\n\t\t\t\t\t\tresource: ['callback'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Cache Time',\n\t\t\t\t\t\tname: 'cache_time',\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\tminValue: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 0,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'The maximum amount of time in seconds that the result of the callback query may be cached client-side',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Show Alert',\n\t\t\t\t\t\tname: 'show_alert',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Whether an alert will be shown by the client instead of a notification at the top of the chat screen',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Text',\n\t\t\t\t\t\tname: 'text',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Text of the notification. If not specified, nothing will be shown to the user, 0-200 characters.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'URL',\n\t\t\t\t\t\tname: 'url',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription: \"URL that will be opened by the user's client\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// file\n\t\t\t// ----------------------------------\n\n\t\t\t// ----------------------------------\n\t\t\t// file:get/download\n\t\t\t// ----------------------------------\n\n\t\t\t{\n\t\t\t\tdisplayName: 'File ID',\n\t\t\t\tname: 'fileId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['get'],\n\t\t\t\t\t\tresource: ['file'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'The ID of the file',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Download',\n\t\t\t\tname: 'download',\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['get'],\n\t\t\t\t\t\tresource: ['file'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: true,\n\t\t\t\tdescription: 'Whether to download the file',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message\n\t\t\t// ----------------------------------\n\n\t\t\t// ----------------------------------\n\t\t\t// message:editMessageText\n\t\t\t// ----------------------------------\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Message Type',\n\t\t\t\tname: 'messageType',\n\t\t\t\ttype: 'options',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['editMessageText'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Inline Message',\n\t\t\t\t\t\tvalue: 'inlineMessage',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Message',\n\t\t\t\t\t\tvalue: 'message',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'message',\n\t\t\t\tdescription: 'The type of the message to edit',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Chat ID',\n\t\t\t\tname: 'chatId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tmessageType: ['message'],\n\t\t\t\t\t\toperation: ['editMessageText'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription:\n\t\t\t\t\t'Unique identifier for the target chat or username, To find your chat ID ask @get_id_bot',\n\t\t\t},\n\t\t\t// ----------------------------------\n\t\t\t// message:sendAnimation/sendAudio/sendDocument/sendPhoto/sendSticker/sendVideo\n\t\t\t// ----------------------------------\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Binary File',\n\t\t\t\tname: 'binaryData',\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t\trequired: true,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: [\n\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t'sendSticker',\n\t\t\t\t\t\t],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription: 'Whether the data to upload should be taken from binary field',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Input Binary Field',\n\t\t\t\tname: 'binaryPropertyName',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'data',\n\t\t\t\trequired: true,\n\t\t\t\thint: 'The name of the input binary field containing the file to be written',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: [\n\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t'sendSticker',\n\t\t\t\t\t\t],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t\tbinaryData: [true],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tplaceholder: '',\n\t\t\t\tdescription: 'Name of the binary property that contains the data to upload',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Message ID',\n\t\t\t\tname: 'messageId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tmessageType: ['message'],\n\t\t\t\t\t\toperation: ['editMessageText'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'Unique identifier of the message to edit',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Inline Message ID',\n\t\t\t\tname: 'inlineMessageId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tmessageType: ['inlineMessage'],\n\t\t\t\t\t\toperation: ['editMessageText'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'Unique identifier of the inline message to edit',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Reply Markup',\n\t\t\t\tname: 'replyMarkup',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['editMessageText'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'None',\n\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Inline Keyboard',\n\t\t\t\t\t\tvalue: 'inlineKeyboard',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'none',\n\t\t\t\tdescription: 'Additional interface options',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendAnimation\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Animation',\n\t\t\t\tname: 'file',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendAnimation'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t\tbinaryData: [false],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription:\n\t\t\t\t\t'Animation to send. Pass a file_id to send an animation that exists on the Telegram servers (recommended), an HTTP URL for Telegram to get an animation from the Internet.',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendAudio\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Audio',\n\t\t\t\tname: 'file',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendAudio'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t\tbinaryData: [false],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription:\n\t\t\t\t\t'Audio file to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), an HTTP URL for Telegram to get a file from the Internet.',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendChatAction\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Action',\n\t\t\t\tname: 'action',\n\t\t\t\ttype: 'options',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendChatAction'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Find Location',\n\t\t\t\t\t\tvalue: 'find_location',\n\t\t\t\t\t\taction: 'Find location',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Record Audio',\n\t\t\t\t\t\tvalue: 'record_audio',\n\t\t\t\t\t\taction: 'Record audio',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Record Video',\n\t\t\t\t\t\tvalue: 'record_video',\n\t\t\t\t\t\taction: 'Record video',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Record Video Note',\n\t\t\t\t\t\tvalue: 'record_video_note',\n\t\t\t\t\t\taction: 'Record video note',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Typing',\n\t\t\t\t\t\tvalue: 'typing',\n\t\t\t\t\t\taction: 'Typing a message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Upload Audio',\n\t\t\t\t\t\tvalue: 'upload_audio',\n\t\t\t\t\t\taction: 'Upload audio',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Upload Document',\n\t\t\t\t\t\tvalue: 'upload_document',\n\t\t\t\t\t\taction: 'Upload document',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Upload Photo',\n\t\t\t\t\t\tvalue: 'upload_photo',\n\t\t\t\t\t\taction: 'Upload photo',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Upload Video',\n\t\t\t\t\t\tvalue: 'upload_video',\n\t\t\t\t\t\taction: 'Upload video',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Upload Video Note',\n\t\t\t\t\t\tvalue: 'upload_video_note',\n\t\t\t\t\t\taction: 'Upload video note',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'typing',\n\t\t\t\tdescription:\n\t\t\t\t\t'Type of action to broadcast. Choose one, depending on what the user is about to receive. The status is set for 5 seconds or less (when a message arrives from your bot).',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendDocument\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Document',\n\t\t\t\tname: 'file',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendDocument'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t\tbinaryData: [false],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription:\n\t\t\t\t\t'Document to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), an HTTP URL for Telegram to get a file from the Internet.',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendLocation\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Latitude',\n\t\t\t\tname: 'latitude',\n\t\t\t\ttype: 'number',\n\t\t\t\tdefault: 0.0,\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tnumberPrecision: 10,\n\t\t\t\t\tminValue: -90,\n\t\t\t\t\tmaxValue: 90,\n\t\t\t\t},\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendLocation'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription: 'Location latitude',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Longitude',\n\t\t\t\tname: 'longitude',\n\t\t\t\ttype: 'number',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tnumberPrecision: 10,\n\t\t\t\t\tminValue: -180,\n\t\t\t\t\tmaxValue: 180,\n\t\t\t\t},\n\t\t\t\tdefault: 0.0,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendLocation'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription: 'Location longitude',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendMediaGroup\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Media',\n\t\t\t\tname: 'media',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendMediaGroup'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription: 'The media to add',\n\t\t\t\tplaceholder: 'Add Media',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Media',\n\t\t\t\t\t\tname: 'media',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Type',\n\t\t\t\t\t\t\t\tname: 'type',\n\t\t\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tname: 'Photo',\n\t\t\t\t\t\t\t\t\t\tvalue: 'photo',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tname: 'Video',\n\t\t\t\t\t\t\t\t\t\tvalue: 'video',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tdefault: 'photo',\n\t\t\t\t\t\t\t\tdescription: 'The type of the media to add',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Media File',\n\t\t\t\t\t\t\t\tname: 'media',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t'Media to send. Pass a file_id to send a file that exists on the Telegram servers (recommended) or pass an HTTP URL for Telegram to get a file from the Internet.',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Additional Fields',\n\t\t\t\t\t\t\t\tname: 'additionalFields',\n\t\t\t\t\t\t\t\ttype: 'collection',\n\t\t\t\t\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\t\t\t\t\tdefault: {},\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tdisplayName: 'Caption',\n\t\t\t\t\t\t\t\t\t\tname: 'caption',\n\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\tdescription: 'Caption text to set, 0-1024 characters',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tdisplayName: 'Parse Mode',\n\t\t\t\t\t\t\t\t\t\tname: 'parse_mode',\n\t\t\t\t\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'Markdown (Legacy)',\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: 'Markdown',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'MarkdownV2',\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: 'MarkdownV2',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'HTML',\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: 'HTML',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\tdefault: 'HTML',\n\t\t\t\t\t\t\t\t\t\tdescription: 'How to parse the text',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendMessage\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Text',\n\t\t\t\tname: 'text',\n\t\t\t\ttype: 'string',\n\t\t\t\trequired: true,\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['editMessageText', 'sendMessage'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription: 'Text of the message to be sent',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendPhoto\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Photo',\n\t\t\t\tname: 'file',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendPhoto'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t\tbinaryData: [false],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription:\n\t\t\t\t\t'Photo to send. Pass a file_id to send a photo that exists on the Telegram servers (recommended), an HTTP URL for Telegram to get a photo from the Internet.',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendSticker\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Sticker',\n\t\t\t\tname: 'file',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendSticker'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t\tbinaryData: [false],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription:\n\t\t\t\t\t'Sticker to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), an HTTP URL for Telegram to get a .webp file from the Internet.',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:sendVideo\n\t\t\t// ----------------------------------\n\t\t\t{\n\t\t\t\tdisplayName: 'Video',\n\t\t\t\tname: 'file',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: ['sendVideo'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t\tbinaryData: [false],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription:\n\t\t\t\t\t'Video file to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), an HTTP URL for Telegram to get a file from the Internet.',\n\t\t\t},\n\n\t\t\t// ----------------------------------\n\t\t\t// message:editMessageText/sendAnimation/sendAudio/sendLocation/sendMessage/sendPhoto/sendSticker/sendVideo\n\t\t\t// ----------------------------------\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Reply Markup',\n\t\t\t\tname: 'replyMarkup',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: [\n\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t'sendMessage',\n\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t'sendSticker',\n\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t'sendLocation',\n\t\t\t\t\t\t],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Force Reply',\n\t\t\t\t\t\tvalue: 'forceReply',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Inline Keyboard',\n\t\t\t\t\t\tvalue: 'inlineKeyboard',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'None',\n\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Reply Keyboard',\n\t\t\t\t\t\tvalue: 'replyKeyboard',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Reply Keyboard Remove',\n\t\t\t\t\t\tvalue: 'replyKeyboardRemove',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'none',\n\t\t\t\tdescription: 'Additional interface options',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Force Reply',\n\t\t\t\tname: 'forceReply',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\treplyMarkup: ['forceReply'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Force Reply',\n\t\t\t\t\t\tname: 'force_reply',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Whether to show reply interface to the user, as if they manually selected the bot‘s message and tapped ’Reply',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Selective',\n\t\t\t\t\t\tname: 'selective',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription: 'Whether to force reply from specific users only',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Inline Keyboard',\n\t\t\t\tname: 'inlineKeyboard',\n\t\t\t\tplaceholder: 'Add Keyboard Row',\n\t\t\t\tdescription: 'Adds an inline keyboard that appears right next to the message it belongs to',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t},\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\treplyMarkup: ['inlineKeyboard'],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Rows',\n\t\t\t\t\t\tname: 'rows',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Row',\n\t\t\t\t\t\t\t\tname: 'row',\n\t\t\t\t\t\t\t\ttype: 'fixedCollection',\n\t\t\t\t\t\t\t\tdescription: 'The value to set',\n\t\t\t\t\t\t\t\tplaceholder: 'Add Button',\n\t\t\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\t\t\tmultipleValues: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdefault: {},\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tdisplayName: 'Buttons',\n\t\t\t\t\t\t\t\t\t\tname: 'buttons',\n\t\t\t\t\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Text',\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'text',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: 'Label text on the button',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Additional Fields',\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'additionalFields',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'collection',\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: {},\n\t\t\t\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Callback Data',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'callback_data',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Data to be sent in a callback query to the bot when button is pressed, 1-64 bytes',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Pay',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'pay',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: 'Whether to send a Pay button',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Switch Inline Query Current Chat',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'switch_inline_query_current_chat',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"If set, pressing the button will insert the bot‘s username and the specified inline query in the current chat's input field.Can be empty, in which case only the bot’s username will be inserted\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Switch Inline Query',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'switch_inline_query',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'If set, pressing the button will prompt the user to select one of their chats, open that chat and insert the bot‘s username and the specified inline query in the input field. Can be empty, in which case just the bot’s username will be inserted.',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'url',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: 'HTTP or tg:// URL to be opened when button is pressed',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Web App',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'web_app',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'collection',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder: 'Set Telegram Web App URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmultipleValues: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: {},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'url',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: 'An HTTPS URL of a Web App to be opened',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: 'Launch the Telegram Web App',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Reply Keyboard',\n\t\t\t\tname: 'replyKeyboard',\n\t\t\t\tplaceholder: 'Add Reply Keyboard Row',\n\t\t\t\tdescription: 'Adds a custom keyboard with reply options',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t},\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\treplyMarkup: ['replyKeyboard'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Rows',\n\t\t\t\t\t\tname: 'rows',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Row',\n\t\t\t\t\t\t\t\tname: 'row',\n\t\t\t\t\t\t\t\ttype: 'fixedCollection',\n\t\t\t\t\t\t\t\tdescription: 'The value to set',\n\t\t\t\t\t\t\t\tplaceholder: 'Add Button',\n\t\t\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\t\t\tmultipleValues: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdefault: {},\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tdisplayName: 'Buttons',\n\t\t\t\t\t\t\t\t\t\tname: 'buttons',\n\t\t\t\t\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Text',\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'text',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Text of the button. If none of the optional fields are used, it will be sent as a message when the button is pressed.',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Additional Fields',\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'additionalFields',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'collection',\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: {},\n\t\t\t\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Request Contact',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'request_contact',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Whether the user's phone number will be sent as a contact when the button is pressed.Available in private chats only\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Request Location',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'request_location',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"Whether the user's request_location\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'Web App',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'web_app',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'collection',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder: 'Set Telegram Web App URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmultipleValues: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: {},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayName: 'URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: 'url',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: 'An HTTPS URL of a Web App to be opened',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: 'Launch the Telegram Web App',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Reply Keyboard Options',\n\t\t\t\tname: 'replyKeyboardOptions',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add option',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\treplyMarkup: ['replyKeyboard'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Resize Keyboard',\n\t\t\t\t\t\tname: 'resize_keyboard',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Whether to request clients to resize the keyboard vertically for optimal fit',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'One Time Keyboard',\n\t\t\t\t\t\tname: 'one_time_keyboard',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\"Whether to request clients to hide the keyboard as soon as it's been used\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Selective',\n\t\t\t\t\t\tname: 'selective',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription: 'Whether to show the keyboard to specific users only',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Reply Keyboard Remove',\n\t\t\t\tname: 'replyKeyboardRemove',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\treplyMarkup: ['replyKeyboardRemove'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Remove Keyboard',\n\t\t\t\t\t\tname: 'remove_keyboard',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription: 'Whether to request clients to remove the custom keyboard',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Selective',\n\t\t\t\t\t\tname: 'selective',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription: 'Whether to force reply from specific users only',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisplayName: 'Additional Fields',\n\t\t\t\tname: 'additionalFields',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add Field',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\toperation: [\n\t\t\t\t\t\t\t'editMessageText',\n\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t'sendLocation',\n\t\t\t\t\t\t\t'sendMessage',\n\t\t\t\t\t\t\t'sendMediaGroup',\n\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t'sendSticker',\n\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t],\n\t\t\t\t\t\tresource: ['message'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\t...appendAttributionOption,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Whether to include the phrase “This message was sent automatically with n8n” to the end of the message',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['sendMessage'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Caption',\n\t\t\t\t\t\tname: 'caption',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': [\n\t\t\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription: 'Caption text to set, 0-1024 characters',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Disable Notification',\n\t\t\t\t\t\tname: 'disable_notification',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\thide: {\n\t\t\t\t\t\t\t\t'/operation': ['editMessageText'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Whether to send the message silently. Users will receive a notification with no sound.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Disable WebPage Preview',\n\t\t\t\t\t\tname: 'disable_web_page_preview',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['editMessageText', 'sendMessage'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription: 'Whether to disable link previews for links in this message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Duration',\n\t\t\t\t\t\tname: 'duration',\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\tminValue: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['sendAnimation', 'sendAudio', 'sendVideo'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 0,\n\t\t\t\t\t\tdescription: 'Duration of clip in seconds',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'File Name',\n\t\t\t\t\t\tname: 'fileName',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': [\n\t\t\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t\t\t'sendSticker',\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t'/resource': ['message'],\n\t\t\t\t\t\t\t\t'/binaryData': [true],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tplaceholder: 'image.jpeg',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Height',\n\t\t\t\t\t\tname: 'height',\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\tminValue: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['sendAnimation', 'sendVideo'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 0,\n\t\t\t\t\t\tdescription: 'Height of the video',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Parse Mode',\n\t\t\t\t\t\tname: 'parse_mode',\n\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Markdown (Legacy)',\n\t\t\t\t\t\t\t\tvalue: 'Markdown',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'MarkdownV2',\n\t\t\t\t\t\t\t\tvalue: 'MarkdownV2',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'HTML',\n\t\t\t\t\t\t\t\tvalue: 'HTML',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': [\n\t\t\t\t\t\t\t\t\t'editMessageText',\n\t\t\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t\t\t'sendMessage',\n\t\t\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 'HTML',\n\t\t\t\t\t\tdescription: 'How to parse the text',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Performer',\n\t\t\t\t\t\tname: 'performer',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['sendAudio'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription: 'Name of the performer',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Reply To Message ID',\n\t\t\t\t\t\tname: 'reply_to_message_id',\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\thide: {\n\t\t\t\t\t\t\t\t'/operation': ['editMessageText'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 0,\n\t\t\t\t\t\tdescription: 'If the message is a reply, ID of the original message',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Message Thread ID',\n\t\t\t\t\t\tname: 'message_thread_id',\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': [\n\t\t\t\t\t\t\t\t\t'sendAnimation',\n\t\t\t\t\t\t\t\t\t'sendAudio',\n\t\t\t\t\t\t\t\t\t'sendChatAction',\n\t\t\t\t\t\t\t\t\t'sendDocument',\n\t\t\t\t\t\t\t\t\t'sendLocation',\n\t\t\t\t\t\t\t\t\t'sendMediaGroup',\n\t\t\t\t\t\t\t\t\t'sendMessage',\n\t\t\t\t\t\t\t\t\t'sendPhoto',\n\t\t\t\t\t\t\t\t\t'sendSticker',\n\t\t\t\t\t\t\t\t\t'sendVideo',\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 0,\n\t\t\t\t\t\tdescription: 'The unique identifier of the forum topic',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Title',\n\t\t\t\t\t\tname: 'title',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['sendAudio'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription: 'Title of the track',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Thumbnail',\n\t\t\t\t\t\tname: 'thumb',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['sendAnimation', 'sendAudio', 'sendDocument', 'sendVideo'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Thumbnail of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail‘s width and height should not exceed 320.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Width',\n\t\t\t\t\t\tname: 'width',\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\tminValue: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\t\t'/operation': ['sendAnimation', 'sendVideo'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 0,\n\t\t\t\t\t\tdescription: 'Width of the video',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t...getSendAndWaitProperties(\n\t\t\t\t[\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Chat ID',\n\t\t\t\t\t\tname: 'chatId',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Unique identifier for the target chat or username of the target channel (in the format @channelusername). To find your chat ID ask @get_id_bot.',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t'message',\n\t\t\t\tundefined,\n\t\t\t\t{\n\t\t\t\t\tnoButtonStyle: true,\n\t\t\t\t\tdefaultApproveLabel: '✅ Approve',\n\t\t\t\t\tdefaultDisapproveLabel: '❌ Decline',\n\t\t\t\t},\n\t\t\t).filter((p) => p.name !== 'subject'),\n\t\t],\n\t};\n\n\twebhook = sendAndWaitWebhook;\n\n\tasync execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst items = this.getInputData();\n\t\tconst returnData: INodeExecutionData[] = [];\n\n\t\t// For Post\n\t\tlet body: IDataObject;\n\t\t// For Query string\n\t\tlet qs: IDataObject;\n\n\t\tlet requestMethod: IHttpRequestMethods;\n\t\tlet endpoint: string;\n\n\t\tconst operation = this.getNodeParameter('operation', 0);\n\t\tconst resource = this.getNodeParameter('resource', 0);\n\t\tconst binaryData = this.getNodeParameter('binaryData', 0, false);\n\n\t\tconst nodeVersion = this.getNode().typeVersion;\n\t\tconst instanceId = this.getInstanceId();\n\n\t\tif (resource === 'message' && operation === SEND_AND_WAIT_OPERATION) {\n\t\t\tbody = createSendAndWaitMessageBody(this);\n\n\t\t\tawait apiRequest.call(this, 'POST', 'sendMessage', body);\n\n\t\t\tconst waitTill = configureWaitTillDate(this);\n\n\t\t\tawait this.putExecutionToWait(waitTill);\n\t\t\treturn [this.getInputData()];\n\t\t}\n\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\ttry {\n\t\t\t\t// Reset all values\n\t\t\t\trequestMethod = 'POST';\n\t\t\t\tendpoint = '';\n\t\t\t\tbody = {};\n\t\t\t\tqs = {};\n\n\t\t\t\tif (resource === 'callback') {\n\t\t\t\t\tif (operation === 'answerQuery') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// callback:answerQuery\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'answerCallbackQuery';\n\n\t\t\t\t\t\tbody.callback_query_id = this.getNodeParameter('queryId', i) as string;\n\n\t\t\t\t\t\t// Add additional fields\n\t\t\t\t\t\tconst additionalFields = this.getNodeParameter('additionalFields', i);\n\t\t\t\t\t\tObject.assign(body, additionalFields);\n\t\t\t\t\t} else if (operation === 'answerInlineQuery') {\n\t\t\t\t\t\t// -----------------------------------------------\n\t\t\t\t\t\t// callback:answerInlineQuery\n\t\t\t\t\t\t// -----------------------------------------------\n\n\t\t\t\t\t\tendpoint = 'answerInlineQuery';\n\n\t\t\t\t\t\tbody.inline_query_id = this.getNodeParameter('queryId', i) as string;\n\t\t\t\t\t\tbody.results = this.getNodeParameter('results', i) as string;\n\n\t\t\t\t\t\t// Add additional fields\n\t\t\t\t\t\tconst additionalFields = this.getNodeParameter('additionalFields', i);\n\t\t\t\t\t\tObject.assign(body, additionalFields);\n\t\t\t\t\t}\n\t\t\t\t} else if (resource === 'chat') {\n\t\t\t\t\tif (operation === 'get') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// chat:get\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'getChat';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t} else if (operation === 'administrators') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// chat:administrators\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'getChatAdministrators';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t} else if (operation === 'leave') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// chat:leave\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'leaveChat';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t} else if (operation === 'member') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// chat:member\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'getChatMember';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.user_id = this.getNodeParameter('userId', i) as string;\n\t\t\t\t\t} else if (operation === 'setDescription') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// chat:setDescription\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'setChatDescription';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.description = this.getNodeParameter('description', i) as string;\n\t\t\t\t\t} else if (operation === 'setTitle') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// chat:setTitle\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'setChatTitle';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.title = this.getNodeParameter('title', i) as string;\n\t\t\t\t\t}\n\t\t\t\t\t// } else if (resource === 'bot') {\n\t\t\t\t\t// \tif (operation === 'info') {\n\t\t\t\t\t// \t\tendpoint = 'getUpdates';\n\t\t\t\t\t// \t}\n\t\t\t\t} else if (resource === 'file') {\n\t\t\t\t\tif (operation === 'get') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// file:get\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'getFile';\n\n\t\t\t\t\t\tbody.file_id = this.getNodeParameter('fileId', i) as string;\n\t\t\t\t\t}\n\t\t\t\t} else if (resource === 'message') {\n\t\t\t\t\tif (operation === 'editMessageText') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:editMessageText\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'editMessageText';\n\n\t\t\t\t\t\tconst messageType = this.getNodeParameter('messageType', i) as string;\n\n\t\t\t\t\t\tif (messageType === 'inlineMessage') {\n\t\t\t\t\t\t\tbody.inline_message_id = this.getNodeParameter('inlineMessageId', i) as string;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\t\tbody.message_id = this.getNodeParameter('messageId', i) as string;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tbody.text = this.getNodeParameter('text', i) as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t} else if (operation === 'deleteMessage') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:deleteMessage\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'deleteMessage';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.message_id = this.getNodeParameter('messageId', i) as string;\n\t\t\t\t\t} else if (operation === 'pinChatMessage') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:pinChatMessage\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'pinChatMessage';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.message_id = this.getNodeParameter('messageId', i) as string;\n\n\t\t\t\t\t\tconst { disable_notification } = this.getNodeParameter('additionalFields', i);\n\t\t\t\t\t\tif (disable_notification) {\n\t\t\t\t\t\t\tbody.disable_notification = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (operation === 'unpinChatMessage') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:unpinChatMessage\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'unpinChatMessage';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.message_id = this.getNodeParameter('messageId', i) as string;\n\t\t\t\t\t} else if (operation === 'sendAnimation') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendAnimation\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendAnimation';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.animation = this.getNodeParameter('file', i, '') as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t} else if (operation === 'sendAudio') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendAudio\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendAudio';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.audio = this.getNodeParameter('file', i, '') as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t} else if (operation === 'sendChatAction') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendChatAction\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendChatAction';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.action = this.getNodeParameter('action', i) as string;\n\t\t\t\t\t} else if (operation === 'sendDocument') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendDocument\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendDocument';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.document = this.getNodeParameter('file', i, '') as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t} else if (operation === 'sendLocation') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendLocation\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendLocation';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.latitude = this.getNodeParameter('latitude', i) as string;\n\t\t\t\t\t\tbody.longitude = this.getNodeParameter('longitude', i) as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t} else if (operation === 'sendMessage') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendMessage\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendMessage';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.text = this.getNodeParameter('text', i) as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i, nodeVersion, instanceId);\n\t\t\t\t\t} else if (operation === 'sendMediaGroup') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendMediaGroup\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendMediaGroup';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\n\t\t\t\t\t\tconst additionalFields = this.getNodeParameter('additionalFields', i);\n\t\t\t\t\t\tObject.assign(body, additionalFields);\n\n\t\t\t\t\t\tconst mediaItems = this.getNodeParameter('media', i) as IDataObject;\n\t\t\t\t\t\tbody.media = [];\n\t\t\t\t\t\tfor (const mediaItem of mediaItems.media as IDataObject[]) {\n\t\t\t\t\t\t\tif (mediaItem.additionalFields !== undefined) {\n\t\t\t\t\t\t\t\tObject.assign(mediaItem, mediaItem.additionalFields);\n\t\t\t\t\t\t\t\tdelete mediaItem.additionalFields;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t(body.media as IDataObject[]).push(mediaItem);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (operation === 'sendPhoto') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendPhoto\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendPhoto';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.photo = this.getNodeParameter('file', i, '') as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t} else if (operation === 'sendSticker') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendSticker\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendSticker';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.sticker = this.getNodeParameter('file', i, '') as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t} else if (operation === 'sendVideo') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// message:sendVideo\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\tendpoint = 'sendVideo';\n\n\t\t\t\t\t\tbody.chat_id = this.getNodeParameter('chatId', i) as string;\n\t\t\t\t\t\tbody.video = this.getNodeParameter('file', i, '') as string;\n\n\t\t\t\t\t\t// Add additional fields and replyMarkup\n\t\t\t\t\t\taddAdditionalFields.call(this, body, i);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthrow new NodeOperationError(this.getNode(), `The resource \"${resource}\" is not known!`, {\n\t\t\t\t\t\titemIndex: i,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tlet responseData;\n\n\t\t\t\tif (binaryData) {\n\t\t\t\t\tconst binaryPropertyName = this.getNodeParameter('binaryPropertyName', 0);\n\t\t\t\t\tconst itemBinaryData = items[i].binary![binaryPropertyName];\n\t\t\t\t\tconst propertyName = getPropertyName(operation);\n\t\t\t\t\tconst fileName = this.getNodeParameter('additionalFields.fileName', 0, '') as string;\n\n\t\t\t\t\tconst filename = fileName || itemBinaryData.fileName?.toString();\n\n\t\t\t\t\tif (!fileName && !itemBinaryData.fileName) {\n\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t`File name is needed to ${operation}. Make sure the property that holds the binary data\n\t\t\t\t\t\thas the file name property set or set it manually in the node using the File Name parameter under\n\t\t\t\t\t\tAdditional Fields.`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tbody.disable_notification = body.disable_notification?.toString() || 'false';\n\n\t\t\t\t\tlet uploadData: Buffer | Readable;\n\t\t\t\t\tif (itemBinaryData.id) {\n\t\t\t\t\t\tuploadData = await this.helpers.getBinaryStream(itemBinaryData.id);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tuploadData = Buffer.from(itemBinaryData.data, BINARY_ENCODING);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst formData = {\n\t\t\t\t\t\t...body,\n\t\t\t\t\t\t[propertyName]: {\n\t\t\t\t\t\t\tvalue: uploadData,\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tfilename,\n\t\t\t\t\t\t\t\tcontentType: itemBinaryData.mimeType,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\n\t\t\t\t\tresponseData = await apiRequest.call(this, requestMethod, endpoint, {}, qs, {\n\t\t\t\t\t\tformData,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tresponseData = await apiRequest.call(this, requestMethod, endpoint, body, qs);\n\t\t\t\t}\n\n\t\t\t\tif (resource === 'file' && operation === 'get') {\n\t\t\t\t\tif (this.getNodeParameter('download', i, false)) {\n\t\t\t\t\t\tconst filePath = responseData.result.file_path;\n\n\t\t\t\t\t\tconst credentials = await this.getCredentials('telegramApi');\n\t\t\t\t\t\tconst file = await apiRequest.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'GET',\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tjson: false,\n\t\t\t\t\t\t\t\tencoding: null,\n\t\t\t\t\t\t\t\turi: `${credentials.baseUrl}/file/bot${credentials.accessToken}/${filePath}`,\n\t\t\t\t\t\t\t\tresolveWithFullResponse: true,\n\t\t\t\t\t\t\t\tuseStream: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst fileName = filePath.split('/').pop();\n\n\t\t\t\t\t\tconst data = await this.helpers.prepareBinaryData(\n\t\t\t\t\t\t\tfile.body as Buffer,\n\t\t\t\t\t\t\tfileName as string,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturnData.push({\n\t\t\t\t\t\t\tjson: responseData,\n\t\t\t\t\t\t\tbinary: { data },\n\t\t\t\t\t\t\tpairedItem: { item: i },\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t} else if (resource === 'chat' && operation === 'administrators') {\n\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\tthis.helpers.returnJsonArray(responseData.result as IDataObject[]),\n\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t);\n\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\tthis.helpers.returnJsonArray(responseData as IDataObject[]),\n\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t);\n\t\t\t\treturnData.push(...executionData);\n\t\t\t} catch (error) {\n\t\t\t\tif (this.continueOnFail()) {\n\t\t\t\t\tconst executionErrorData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\tthis.helpers.returnJsonArray({ error: error.description ?? error.message }),\n\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t);\n\t\t\t\t\treturnData.push(...executionErrorData);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\treturn [returnData];\n\t}\n}\n"],"mappings":"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","names":["import_descriptions","executionData"]}
@@ -197,7 +197,8 @@ function aggregateAndSplitData({
197
197
  inputItems: items,
198
198
  fieldsToSummarize,
199
199
  options,
200
- getValue
200
+ getValue,
201
+ convertKeysToString
201
202
  })
202
203
  ])
203
204
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../nodes/Transform/Summarize/utils.ts"],"sourcesContent":["import get from 'lodash/get';\nimport {\n\ttype GenericValue,\n\ttype IDataObject,\n\ttype IExecuteFunctions,\n\tNodeOperationError,\n} from 'n8n-workflow';\n\ntype AggregationType =\n\t| 'append'\n\t| 'average'\n\t| 'concatenate'\n\t| 'count'\n\t| 'countUnique'\n\t| 'max'\n\t| 'min'\n\t| 'sum';\n\nexport type Aggregation = {\n\taggregation: AggregationType;\n\tfield: string;\n\tincludeEmpty?: boolean;\n\tseparateBy?: string;\n\tcustomSeparator?: string;\n};\n\nexport type Aggregations = Aggregation[];\n\nconst AggregationDisplayNames = {\n\tappend: 'appended_',\n\taverage: 'average_',\n\tconcatenate: 'concatenated_',\n\tcount: 'count_',\n\tcountUnique: 'unique_count_',\n\tmax: 'max_',\n\tmin: 'min_',\n\tsum: 'sum_',\n};\n\nexport const NUMERICAL_AGGREGATIONS = ['average', 'sum'];\n\nexport type SummarizeOptions = {\n\tcontinueIfFieldNotFound: boolean;\n\tdisableDotNotation?: boolean;\n\toutputFormat?: 'separateItems' | 'singleItem';\n\tskipEmptySplitFields?: boolean;\n};\n\nexport type ValueGetterFn = (\n\titem: IDataObject,\n\tfield: string,\n) => IDataObject | IDataObject[] | GenericValue | GenericValue[];\n\nfunction isEmpty<T>(value: T) {\n\treturn value === undefined || value === null || value === '';\n}\n\nfunction normalizeFieldName(fieldName: string) {\n\treturn fieldName.replace(/[\\]\\[\"]/g, '').replace(/[ .]/g, '_');\n}\n\nexport const fieldValueGetter = (disableDotNotation?: boolean) => {\n\treturn (item: IDataObject, field: string) =>\n\t\tdisableDotNotation ? item[field] : get(item, field);\n};\n\nexport function checkIfFieldExists(\n\tthis: IExecuteFunctions,\n\titems: IDataObject[],\n\taggregations: Aggregations,\n\tgetValue: ValueGetterFn,\n) {\n\tfor (const aggregation of aggregations) {\n\t\tif (aggregation.field === '') {\n\t\t\tcontinue;\n\t\t}\n\t\tconst exist = items.some((item) => getValue(item, aggregation.field) !== undefined);\n\t\tif (!exist) {\n\t\t\tthrow new NodeOperationError(\n\t\t\t\tthis.getNode(),\n\t\t\t\t`The field '${aggregation.field}' does not exist in any items`,\n\t\t\t);\n\t\t}\n\t}\n}\n\nfunction aggregate(items: IDataObject[], entry: Aggregation, getValue: ValueGetterFn) {\n\tconst { aggregation, field } = entry;\n\tlet data = [...items];\n\n\tif (NUMERICAL_AGGREGATIONS.includes(aggregation)) {\n\t\tdata = data.filter(\n\t\t\t(item) => typeof getValue(item, field) === 'number' && !isEmpty(getValue(item, field)),\n\t\t);\n\t}\n\n\tswitch (aggregation) {\n\t\t//combine operations\n\t\tcase 'append':\n\t\t\tif (!entry.includeEmpty) {\n\t\t\t\tdata = data.filter((item) => !isEmpty(getValue(item, field)));\n\t\t\t}\n\t\t\treturn data.map((item) => getValue(item, field));\n\t\tcase 'concatenate':\n\t\t\tconst separateBy = entry.separateBy === 'other' ? entry.customSeparator : entry.separateBy;\n\t\t\tif (!entry.includeEmpty) {\n\t\t\t\tdata = data.filter((item) => !isEmpty(getValue(item, field)));\n\t\t\t}\n\t\t\treturn data\n\t\t\t\t.map((item) => {\n\t\t\t\t\tlet value = getValue(item, field);\n\t\t\t\t\tif (typeof value === 'object') {\n\t\t\t\t\t\tvalue = JSON.stringify(value);\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof value === 'undefined') {\n\t\t\t\t\t\tvalue = 'undefined';\n\t\t\t\t\t}\n\n\t\t\t\t\treturn value;\n\t\t\t\t})\n\t\t\t\t.join(separateBy);\n\n\t\t//numerical operations\n\t\tcase 'average':\n\t\t\treturn (\n\t\t\t\tdata.reduce((acc, item) => {\n\t\t\t\t\treturn acc + (getValue(item, field) as number);\n\t\t\t\t}, 0) / data.length\n\t\t\t);\n\t\tcase 'sum':\n\t\t\treturn data.reduce((acc, item) => {\n\t\t\t\treturn acc + (getValue(item, field) as number);\n\t\t\t}, 0);\n\t\t//comparison operations\n\t\tcase 'min':\n\t\t\tlet min;\n\t\t\tfor (const item of data) {\n\t\t\t\tconst value = getValue(item, field);\n\t\t\t\tif (value !== undefined && value !== null && value !== '') {\n\t\t\t\t\tif (min === undefined || value < min) {\n\t\t\t\t\t\tmin = value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn min ?? null;\n\t\tcase 'max':\n\t\t\tlet max;\n\t\t\tfor (const item of data) {\n\t\t\t\tconst value = getValue(item, field);\n\t\t\t\tif (value !== undefined && value !== null && value !== '') {\n\t\t\t\t\tif (max === undefined || value > max) {\n\t\t\t\t\t\tmax = value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn max ?? null;\n\n\t\t//count operations\n\t\tcase 'countUnique':\n\t\t\tif (!entry.includeEmpty) {\n\t\t\t\treturn new Set(data.map((item) => getValue(item, field)).filter((item) => !isEmpty(item)))\n\t\t\t\t\t.size;\n\t\t\t}\n\t\t\treturn new Set(data.map((item) => getValue(item, field))).size;\n\n\t\tdefault:\n\t\t\t//count by default\n\t\t\tif (!entry.includeEmpty) {\n\t\t\t\treturn data.filter((item) => !isEmpty(getValue(item, field))).length;\n\t\t\t}\n\t\t\treturn data.length;\n\t}\n}\n\nfunction aggregateData(\n\tdata: IDataObject[],\n\tfieldsToSummarize: Aggregations,\n\toptions: SummarizeOptions,\n\tgetValue: ValueGetterFn,\n): { returnData: IDataObject; pairedItems?: number[] } {\n\tconst returnData = Object.fromEntries(\n\t\tfieldsToSummarize.map((aggregation) => {\n\t\t\tconst key = normalizeFieldName(\n\t\t\t\t`${AggregationDisplayNames[aggregation.aggregation]}${aggregation.field}`,\n\t\t\t);\n\t\t\tconst result = aggregate(data, aggregation, getValue);\n\t\t\treturn [key, result];\n\t\t}),\n\t);\n\n\tif (options.outputFormat === 'singleItem') {\n\t\treturn { returnData };\n\t}\n\n\treturn { returnData, pairedItems: data.map((item) => item._itemIndex as number) };\n}\n\ntype AggregationResult = { returnData: IDataObject; pairedItems?: number[] };\ntype NestedAggregationResult =\n\t| AggregationResult\n\t| { fieldName: string; splits: Map<unknown, NestedAggregationResult> };\n\n// Using Map to preserve types\n// With a plain JS object, keys are converted to string\nexport function aggregateAndSplitData({\n\tsplitKeys,\n\tinputItems,\n\tfieldsToSummarize,\n\toptions,\n\tgetValue,\n\tconvertKeysToString = false,\n}: {\n\tsplitKeys: string[] | undefined;\n\tinputItems: IDataObject[];\n\tfieldsToSummarize: Aggregations;\n\toptions: SummarizeOptions;\n\tgetValue: ValueGetterFn;\n\tconvertKeysToString?: boolean; // Legacy option for v1\n}): NestedAggregationResult {\n\tif (!splitKeys?.length) {\n\t\treturn aggregateData(inputItems, fieldsToSummarize, options, getValue);\n\t}\n\n\tconst [firstSplitKey, ...restSplitKeys] = splitKeys;\n\n\tconst groupedItems = new Map<unknown, IDataObject[]>();\n\tfor (const item of inputItems) {\n\t\tlet splitValue = getValue(item, firstSplitKey);\n\n\t\tif (splitValue && typeof splitValue === 'object') {\n\t\t\tsplitValue = JSON.stringify(splitValue);\n\t\t}\n\n\t\tif (convertKeysToString) {\n\t\t\tsplitValue = String(splitValue);\n\t\t}\n\n\t\tif (options.skipEmptySplitFields && typeof splitValue !== 'number' && !splitValue) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst group = groupedItems.get(splitValue) ?? [];\n\t\tgroupedItems.set(splitValue, group.concat([item]));\n\t}\n\n\tconst splits = new Map(\n\t\tArray.from(groupedItems.entries()).map(([groupKey, items]) => [\n\t\t\tgroupKey,\n\t\t\taggregateAndSplitData({\n\t\t\t\tsplitKeys: restSplitKeys,\n\t\t\t\tinputItems: items,\n\t\t\t\tfieldsToSummarize,\n\t\t\t\toptions,\n\t\t\t\tgetValue,\n\t\t\t}),\n\t\t]),\n\t);\n\n\treturn { fieldName: firstSplitKey, splits };\n}\n\nexport function flattenAggregationResultToObject(result: NestedAggregationResult): IDataObject {\n\tif ('splits' in result) {\n\t\treturn Object.fromEntries(\n\t\t\tArray.from(result.splits.entries()).map(([key, value]) => [\n\t\t\t\tkey,\n\t\t\t\tflattenAggregationResultToObject(value),\n\t\t\t]),\n\t\t);\n\t}\n\n\treturn result.returnData;\n}\n\nexport function flattenAggregationResultToArray(\n\tresult: NestedAggregationResult,\n): AggregationResult[] {\n\tif ('splits' in result) {\n\t\treturn Array.from(result.splits.entries()).flatMap(([value, innerResult]) =>\n\t\t\tflattenAggregationResultToArray(innerResult).map((v) => {\n\t\t\t\tv.returnData[normalizeFieldName(result.fieldName)] = value as IDataObject;\n\t\t\t\treturn v;\n\t\t\t}),\n\t\t);\n\t}\n\treturn [result];\n}\n"],"mappings":"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","names":["get"]}
1
+ {"version":3,"sources":["../../../../nodes/Transform/Summarize/utils.ts"],"sourcesContent":["import get from 'lodash/get';\nimport {\n\ttype GenericValue,\n\ttype IDataObject,\n\ttype IExecuteFunctions,\n\tNodeOperationError,\n} from 'n8n-workflow';\n\ntype AggregationType =\n\t| 'append'\n\t| 'average'\n\t| 'concatenate'\n\t| 'count'\n\t| 'countUnique'\n\t| 'max'\n\t| 'min'\n\t| 'sum';\n\nexport type Aggregation = {\n\taggregation: AggregationType;\n\tfield: string;\n\tincludeEmpty?: boolean;\n\tseparateBy?: string;\n\tcustomSeparator?: string;\n};\n\nexport type Aggregations = Aggregation[];\n\nconst AggregationDisplayNames = {\n\tappend: 'appended_',\n\taverage: 'average_',\n\tconcatenate: 'concatenated_',\n\tcount: 'count_',\n\tcountUnique: 'unique_count_',\n\tmax: 'max_',\n\tmin: 'min_',\n\tsum: 'sum_',\n};\n\nexport const NUMERICAL_AGGREGATIONS = ['average', 'sum'];\n\nexport type SummarizeOptions = {\n\tcontinueIfFieldNotFound: boolean;\n\tdisableDotNotation?: boolean;\n\toutputFormat?: 'separateItems' | 'singleItem';\n\tskipEmptySplitFields?: boolean;\n};\n\nexport type ValueGetterFn = (\n\titem: IDataObject,\n\tfield: string,\n) => IDataObject | IDataObject[] | GenericValue | GenericValue[];\n\nfunction isEmpty<T>(value: T) {\n\treturn value === undefined || value === null || value === '';\n}\n\nfunction normalizeFieldName(fieldName: string) {\n\treturn fieldName.replace(/[\\]\\[\"]/g, '').replace(/[ .]/g, '_');\n}\n\nexport const fieldValueGetter = (disableDotNotation?: boolean) => {\n\treturn (item: IDataObject, field: string) =>\n\t\tdisableDotNotation ? item[field] : get(item, field);\n};\n\nexport function checkIfFieldExists(\n\tthis: IExecuteFunctions,\n\titems: IDataObject[],\n\taggregations: Aggregations,\n\tgetValue: ValueGetterFn,\n) {\n\tfor (const aggregation of aggregations) {\n\t\tif (aggregation.field === '') {\n\t\t\tcontinue;\n\t\t}\n\t\tconst exist = items.some((item) => getValue(item, aggregation.field) !== undefined);\n\t\tif (!exist) {\n\t\t\tthrow new NodeOperationError(\n\t\t\t\tthis.getNode(),\n\t\t\t\t`The field '${aggregation.field}' does not exist in any items`,\n\t\t\t);\n\t\t}\n\t}\n}\n\nfunction aggregate(items: IDataObject[], entry: Aggregation, getValue: ValueGetterFn) {\n\tconst { aggregation, field } = entry;\n\tlet data = [...items];\n\n\tif (NUMERICAL_AGGREGATIONS.includes(aggregation)) {\n\t\tdata = data.filter(\n\t\t\t(item) => typeof getValue(item, field) === 'number' && !isEmpty(getValue(item, field)),\n\t\t);\n\t}\n\n\tswitch (aggregation) {\n\t\t//combine operations\n\t\tcase 'append':\n\t\t\tif (!entry.includeEmpty) {\n\t\t\t\tdata = data.filter((item) => !isEmpty(getValue(item, field)));\n\t\t\t}\n\t\t\treturn data.map((item) => getValue(item, field));\n\t\tcase 'concatenate':\n\t\t\tconst separateBy = entry.separateBy === 'other' ? entry.customSeparator : entry.separateBy;\n\t\t\tif (!entry.includeEmpty) {\n\t\t\t\tdata = data.filter((item) => !isEmpty(getValue(item, field)));\n\t\t\t}\n\t\t\treturn data\n\t\t\t\t.map((item) => {\n\t\t\t\t\tlet value = getValue(item, field);\n\t\t\t\t\tif (typeof value === 'object') {\n\t\t\t\t\t\tvalue = JSON.stringify(value);\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof value === 'undefined') {\n\t\t\t\t\t\tvalue = 'undefined';\n\t\t\t\t\t}\n\n\t\t\t\t\treturn value;\n\t\t\t\t})\n\t\t\t\t.join(separateBy);\n\n\t\t//numerical operations\n\t\tcase 'average':\n\t\t\treturn (\n\t\t\t\tdata.reduce((acc, item) => {\n\t\t\t\t\treturn acc + (getValue(item, field) as number);\n\t\t\t\t}, 0) / data.length\n\t\t\t);\n\t\tcase 'sum':\n\t\t\treturn data.reduce((acc, item) => {\n\t\t\t\treturn acc + (getValue(item, field) as number);\n\t\t\t}, 0);\n\t\t//comparison operations\n\t\tcase 'min':\n\t\t\tlet min;\n\t\t\tfor (const item of data) {\n\t\t\t\tconst value = getValue(item, field);\n\t\t\t\tif (value !== undefined && value !== null && value !== '') {\n\t\t\t\t\tif (min === undefined || value < min) {\n\t\t\t\t\t\tmin = value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn min ?? null;\n\t\tcase 'max':\n\t\t\tlet max;\n\t\t\tfor (const item of data) {\n\t\t\t\tconst value = getValue(item, field);\n\t\t\t\tif (value !== undefined && value !== null && value !== '') {\n\t\t\t\t\tif (max === undefined || value > max) {\n\t\t\t\t\t\tmax = value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn max ?? null;\n\n\t\t//count operations\n\t\tcase 'countUnique':\n\t\t\tif (!entry.includeEmpty) {\n\t\t\t\treturn new Set(data.map((item) => getValue(item, field)).filter((item) => !isEmpty(item)))\n\t\t\t\t\t.size;\n\t\t\t}\n\t\t\treturn new Set(data.map((item) => getValue(item, field))).size;\n\n\t\tdefault:\n\t\t\t//count by default\n\t\t\tif (!entry.includeEmpty) {\n\t\t\t\treturn data.filter((item) => !isEmpty(getValue(item, field))).length;\n\t\t\t}\n\t\t\treturn data.length;\n\t}\n}\n\nfunction aggregateData(\n\tdata: IDataObject[],\n\tfieldsToSummarize: Aggregations,\n\toptions: SummarizeOptions,\n\tgetValue: ValueGetterFn,\n): { returnData: IDataObject; pairedItems?: number[] } {\n\tconst returnData = Object.fromEntries(\n\t\tfieldsToSummarize.map((aggregation) => {\n\t\t\tconst key = normalizeFieldName(\n\t\t\t\t`${AggregationDisplayNames[aggregation.aggregation]}${aggregation.field}`,\n\t\t\t);\n\t\t\tconst result = aggregate(data, aggregation, getValue);\n\t\t\treturn [key, result];\n\t\t}),\n\t);\n\n\tif (options.outputFormat === 'singleItem') {\n\t\treturn { returnData };\n\t}\n\n\treturn { returnData, pairedItems: data.map((item) => item._itemIndex as number) };\n}\n\ntype AggregationResult = { returnData: IDataObject; pairedItems?: number[] };\ntype NestedAggregationResult =\n\t| AggregationResult\n\t| { fieldName: string; splits: Map<unknown, NestedAggregationResult> };\n\n// Using Map to preserve types\n// With a plain JS object, keys are converted to string\nexport function aggregateAndSplitData({\n\tsplitKeys,\n\tinputItems,\n\tfieldsToSummarize,\n\toptions,\n\tgetValue,\n\tconvertKeysToString = false,\n}: {\n\tsplitKeys: string[] | undefined;\n\tinputItems: IDataObject[];\n\tfieldsToSummarize: Aggregations;\n\toptions: SummarizeOptions;\n\tgetValue: ValueGetterFn;\n\tconvertKeysToString?: boolean; // Legacy option for v1\n}): NestedAggregationResult {\n\tif (!splitKeys?.length) {\n\t\treturn aggregateData(inputItems, fieldsToSummarize, options, getValue);\n\t}\n\n\tconst [firstSplitKey, ...restSplitKeys] = splitKeys;\n\n\tconst groupedItems = new Map<unknown, IDataObject[]>();\n\tfor (const item of inputItems) {\n\t\tlet splitValue = getValue(item, firstSplitKey);\n\n\t\tif (splitValue && typeof splitValue === 'object') {\n\t\t\tsplitValue = JSON.stringify(splitValue);\n\t\t}\n\n\t\tif (convertKeysToString) {\n\t\t\tsplitValue = String(splitValue);\n\t\t}\n\n\t\tif (options.skipEmptySplitFields && typeof splitValue !== 'number' && !splitValue) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst group = groupedItems.get(splitValue) ?? [];\n\t\tgroupedItems.set(splitValue, group.concat([item]));\n\t}\n\n\tconst splits = new Map(\n\t\tArray.from(groupedItems.entries()).map(([groupKey, items]) => [\n\t\t\tgroupKey,\n\t\t\taggregateAndSplitData({\n\t\t\t\tsplitKeys: restSplitKeys,\n\t\t\t\tinputItems: items,\n\t\t\t\tfieldsToSummarize,\n\t\t\t\toptions,\n\t\t\t\tgetValue,\n\t\t\t\tconvertKeysToString,\n\t\t\t}),\n\t\t]),\n\t);\n\n\treturn { fieldName: firstSplitKey, splits };\n}\n\nexport function flattenAggregationResultToObject(result: NestedAggregationResult): IDataObject {\n\tif ('splits' in result) {\n\t\treturn Object.fromEntries(\n\t\t\tArray.from(result.splits.entries()).map(([key, value]) => [\n\t\t\t\tkey,\n\t\t\t\tflattenAggregationResultToObject(value),\n\t\t\t]),\n\t\t);\n\t}\n\n\treturn result.returnData;\n}\n\nexport function flattenAggregationResultToArray(\n\tresult: NestedAggregationResult,\n): AggregationResult[] {\n\tif ('splits' in result) {\n\t\treturn Array.from(result.splits.entries()).flatMap(([value, innerResult]) =>\n\t\t\tflattenAggregationResultToArray(innerResult).map((v) => {\n\t\t\t\tv.returnData[normalizeFieldName(result.fieldName)] = value as IDataObject;\n\t\t\t\treturn v;\n\t\t\t}),\n\t\t);\n\t}\n\treturn [result];\n}\n"],"mappings":"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","names":["get"]}