@mtkruto/node 0.1.303 → 0.1.500

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 (627) hide show
  1. package/esm/0_deps.d.ts +6 -5
  2. package/esm/0_deps.js +7 -6
  3. package/esm/1_utilities.d.ts +2 -0
  4. package/esm/1_utilities.js +2 -0
  5. package/esm/3_types.d.ts +6 -1
  6. package/esm/3_types.js +6 -1
  7. package/esm/client/0_markdown.d.ts +19 -0
  8. package/esm/client/0_markdown.js +19 -1
  9. package/esm/client/0_message.js +11 -11
  10. package/esm/client/0_params.d.ts +12 -1
  11. package/esm/client/0_password.js +14 -6
  12. package/esm/client/0_types.d.ts +18 -7
  13. package/esm/client/0_utilities.d.ts +19 -2
  14. package/esm/client/0_utilities.js +2 -45
  15. package/esm/client/1_client_plain.js +6 -6
  16. package/esm/client/1_file_manager.d.ts +3 -21
  17. package/esm/client/1_file_manager.js +244 -104
  18. package/esm/client/2_message_manager.d.ts +4 -1
  19. package/esm/client/2_message_manager.js +166 -23
  20. package/esm/client/3_callback_query_manager.d.ts +2 -1
  21. package/esm/client/3_callback_query_manager.js +33 -5
  22. package/esm/client/3_inline_query_manager.d.ts +3 -2
  23. package/esm/client/3_inline_query_manager.js +20 -4
  24. package/esm/client/3_story_manager.js +4 -6
  25. package/esm/client/4_client.d.ts +41 -4
  26. package/esm/client/4_client.js +120 -49
  27. package/esm/connection/1_connection_web_socket.js +3 -3
  28. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert.js +1 -0
  29. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_almost_equals.js +1 -0
  30. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_array_includes.js +1 -0
  31. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_equals.js +1 -0
  32. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_exists.js +1 -0
  33. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_false.js +1 -0
  34. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_greater.js +1 -0
  35. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_greater_or_equal.js +1 -0
  36. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_instance_of.js +1 -0
  37. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_is_error.js +1 -0
  38. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_less.js +1 -0
  39. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_less_or_equal.js +1 -0
  40. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_match.js +1 -0
  41. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_equals.js +1 -0
  42. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_instance_of.js +1 -0
  43. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_match.js +1 -0
  44. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_strict_equals.js +1 -0
  45. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_object_match.js +1 -0
  46. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_rejects.js +1 -0
  47. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_strict_equals.js +1 -0
  48. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_string_includes.js +1 -0
  49. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_throws.js +1 -0
  50. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assertion_error.js +1 -0
  51. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/equal.js +1 -0
  52. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/fail.js +1 -0
  53. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/mod.js +1 -0
  54. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/unimplemented.js +1 -0
  55. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/unreachable.js +1 -0
  56. package/esm/deps/deno.land/std@0.223.0/bytes/concat.d.ts +13 -0
  57. package/esm/deps/deno.land/std@0.223.0/bytes/concat.js +27 -0
  58. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/encoding/base64.d.ts +8 -2
  59. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/encoding/base64.js +19 -2
  60. package/{script/deps/deno.land/std@0.221.0 → esm/deps/deno.land/std@0.223.0}/media_types/_util.d.ts +1 -0
  61. package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/_util.js +1 -1
  62. package/{script/deps/deno.land/x/tgcrypto@0.4.0 → esm/deps/deno.land/x/tgcrypto@0.4.1}/mod.d.ts +14 -2
  63. package/esm/deps/deno.land/x/{tgcrypto@0.4.0 → tgcrypto@0.4.1}/mod.js +56 -42
  64. package/esm/storage/0_storage.d.ts +10 -0
  65. package/esm/storage/0_storage.js +42 -0
  66. package/esm/tl/0_tl_raw_writer.js +3 -2
  67. package/esm/transport/0_obfuscation.js +4 -3
  68. package/esm/transport/0_transport.d.ts +1 -1
  69. package/esm/transport/0_transport.js +7 -0
  70. package/esm/transport/1_transport_abridged.js +4 -2
  71. package/esm/transport/1_transport_intermediate.js +4 -2
  72. package/esm/types/0_callback_query_answer.d.ts +30 -0
  73. package/esm/types/0_callback_query_answer.js +26 -0
  74. package/esm/types/0_callback_query_question.d.ts +49 -0
  75. package/esm/types/0_callback_query_question.js +31 -0
  76. package/esm/types/0_file_source.d.ts +2 -2
  77. package/esm/types/0_self_destruct_option.d.ts +25 -0
  78. package/esm/types/0_self_destruct_option.js +39 -0
  79. package/esm/types/1_input_media.d.ts +108 -0
  80. package/esm/types/{1_input_message_content.d.ts → 1_message_content.d.ts} +6 -6
  81. package/esm/types/1_message_content.js +20 -0
  82. package/esm/types/1_photo.d.ts +4 -0
  83. package/esm/types/1_photo.js +12 -26
  84. package/esm/types/4_inline_query_result.d.ts +52 -49
  85. package/esm/types/4_inline_query_result.js +225 -44
  86. package/esm/types/5_inline_query_answer.d.ts +31 -0
  87. package/esm/types/5_inline_query_answer.js +28 -0
  88. package/esm/types/_file_id.d.ts +5 -0
  89. package/esm/types/_file_id.js +32 -1
  90. package/esm/utilities/0_buffer.d.ts +0 -1
  91. package/esm/utilities/0_buffer.js +0 -13
  92. package/esm/utilities/0_crypto.d.ts +3 -3
  93. package/esm/utilities/0_crypto.js +23 -20
  94. package/esm/utilities/0_part_stream.d.ts +29 -0
  95. package/esm/utilities/0_part_stream.js +65 -0
  96. package/esm/utilities/0_units.d.ts +25 -0
  97. package/esm/utilities/0_units.js +25 -0
  98. package/esm/utilities/1_auth.js +5 -5
  99. package/esm/utilities/1_misc.d.ts +1 -0
  100. package/esm/utilities/1_misc.js +17 -2
  101. package/package.json +1 -1
  102. package/script/0_deps.d.ts +6 -5
  103. package/script/0_deps.js +11 -7
  104. package/script/1_utilities.d.ts +2 -0
  105. package/script/1_utilities.js +2 -0
  106. package/script/3_types.d.ts +6 -1
  107. package/script/3_types.js +6 -1
  108. package/script/client/0_markdown.d.ts +19 -0
  109. package/script/client/0_markdown.js +19 -1
  110. package/script/client/0_message.js +9 -9
  111. package/script/client/0_params.d.ts +12 -1
  112. package/script/client/0_password.js +13 -5
  113. package/script/client/0_types.d.ts +18 -7
  114. package/script/client/0_utilities.d.ts +19 -2
  115. package/script/client/0_utilities.js +3 -70
  116. package/script/client/1_client_plain.js +4 -4
  117. package/script/client/1_file_manager.d.ts +3 -21
  118. package/script/client/1_file_manager.js +266 -103
  119. package/script/client/2_message_manager.d.ts +4 -1
  120. package/script/client/2_message_manager.js +164 -21
  121. package/script/client/3_callback_query_manager.d.ts +2 -1
  122. package/script/client/3_callback_query_manager.js +30 -2
  123. package/script/client/3_inline_query_manager.d.ts +3 -2
  124. package/script/client/3_inline_query_manager.js +18 -2
  125. package/script/client/3_story_manager.js +3 -5
  126. package/script/client/4_client.d.ts +41 -4
  127. package/script/client/4_client.js +119 -48
  128. package/script/connection/1_connection_web_socket.js +1 -1
  129. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert.js +1 -0
  130. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_almost_equals.js +1 -0
  131. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_array_includes.js +1 -0
  132. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_equals.js +1 -0
  133. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_exists.js +1 -0
  134. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_false.js +1 -0
  135. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_greater.js +1 -0
  136. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_greater_or_equal.js +1 -0
  137. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_instance_of.js +1 -0
  138. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_is_error.js +1 -0
  139. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_less.js +1 -0
  140. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_less_or_equal.js +1 -0
  141. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_match.js +1 -0
  142. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_equals.js +1 -0
  143. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_instance_of.js +1 -0
  144. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_match.js +1 -0
  145. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_strict_equals.js +1 -0
  146. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_object_match.js +1 -0
  147. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_rejects.js +1 -0
  148. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_strict_equals.js +1 -0
  149. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_string_includes.js +1 -0
  150. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_throws.js +1 -0
  151. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assertion_error.js +1 -0
  152. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/equal.js +1 -0
  153. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/fail.js +1 -0
  154. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/mod.js +1 -0
  155. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/unimplemented.js +1 -0
  156. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/unreachable.js +1 -0
  157. package/script/deps/deno.land/std@0.223.0/bytes/concat.d.ts +13 -0
  158. package/script/deps/deno.land/std@0.223.0/bytes/concat.js +31 -0
  159. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/encoding/base64.d.ts +8 -2
  160. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/encoding/base64.js +19 -2
  161. package/{esm/deps/deno.land/std@0.221.0 → script/deps/deno.land/std@0.223.0}/media_types/_util.d.ts +1 -0
  162. package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/_util.js +2 -1
  163. package/{esm/deps/deno.land/x/tgcrypto@0.4.0 → script/deps/deno.land/x/tgcrypto@0.4.1}/mod.d.ts +14 -2
  164. package/script/deps/deno.land/x/{tgcrypto@0.4.0 → tgcrypto@0.4.1}/mod.js +61 -43
  165. package/script/storage/0_storage.d.ts +10 -0
  166. package/script/storage/0_storage.js +42 -0
  167. package/script/tl/0_tl_raw_writer.js +2 -1
  168. package/script/transport/0_obfuscation.js +3 -2
  169. package/script/transport/0_transport.d.ts +1 -1
  170. package/script/transport/0_transport.js +7 -0
  171. package/script/transport/1_transport_abridged.js +3 -1
  172. package/script/transport/1_transport_intermediate.js +3 -1
  173. package/script/types/0_callback_query_answer.d.ts +30 -0
  174. package/script/types/0_callback_query_answer.js +30 -0
  175. package/script/types/0_callback_query_question.d.ts +49 -0
  176. package/script/types/0_callback_query_question.js +35 -0
  177. package/script/types/0_file_source.d.ts +2 -2
  178. package/script/types/0_self_destruct_option.d.ts +25 -0
  179. package/script/types/0_self_destruct_option.js +43 -0
  180. package/script/types/1_input_media.d.ts +108 -0
  181. package/script/types/{1_input_message_content.d.ts → 1_message_content.d.ts} +6 -6
  182. package/script/types/1_message_content.js +21 -0
  183. package/script/types/1_photo.d.ts +4 -0
  184. package/script/types/1_photo.js +14 -27
  185. package/script/types/4_inline_query_result.d.ts +52 -49
  186. package/script/types/4_inline_query_result.js +224 -42
  187. package/script/types/5_inline_query_answer.d.ts +31 -0
  188. package/script/types/5_inline_query_answer.js +32 -0
  189. package/script/types/_file_id.d.ts +5 -0
  190. package/script/types/_file_id.js +33 -1
  191. package/script/utilities/0_buffer.d.ts +0 -1
  192. package/script/utilities/0_buffer.js +1 -15
  193. package/script/utilities/0_crypto.d.ts +3 -3
  194. package/script/utilities/0_crypto.js +22 -19
  195. package/script/utilities/0_part_stream.d.ts +29 -0
  196. package/script/utilities/0_part_stream.js +69 -0
  197. package/script/utilities/0_units.d.ts +25 -0
  198. package/script/utilities/0_units.js +28 -0
  199. package/script/utilities/1_auth.js +3 -3
  200. package/script/utilities/1_misc.d.ts +1 -0
  201. package/script/utilities/1_misc.js +19 -3
  202. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/_constants.d.ts +0 -0
  203. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/_constants.js +0 -0
  204. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/_diff.d.ts +0 -0
  205. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/_diff.js +0 -0
  206. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/_format.d.ts +0 -0
  207. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/_format.js +0 -0
  208. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert.d.ts +0 -0
  209. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_almost_equals.d.ts +0 -0
  210. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_array_includes.d.ts +0 -0
  211. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_equals.d.ts +0 -0
  212. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_exists.d.ts +0 -0
  213. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_false.d.ts +0 -0
  214. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_greater.d.ts +0 -0
  215. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_greater_or_equal.d.ts +0 -0
  216. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_instance_of.d.ts +0 -0
  217. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_is_error.d.ts +0 -0
  218. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_less.d.ts +0 -0
  219. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_less_or_equal.d.ts +0 -0
  220. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_match.d.ts +0 -0
  221. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_equals.d.ts +0 -0
  222. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_instance_of.d.ts +0 -0
  223. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_match.d.ts +0 -0
  224. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_strict_equals.d.ts +0 -0
  225. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_object_match.d.ts +0 -0
  226. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_rejects.d.ts +0 -0
  227. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_strict_equals.d.ts +0 -0
  228. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_string_includes.d.ts +0 -0
  229. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_throws.d.ts +0 -0
  230. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assertion_error.d.ts +0 -0
  231. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/equal.d.ts +0 -0
  232. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/fail.d.ts +0 -0
  233. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/mod.d.ts +0 -0
  234. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/unimplemented.d.ts +0 -0
  235. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/unreachable.d.ts +0 -0
  236. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/encoding/_util.d.ts +0 -0
  237. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/encoding/_util.js +0 -0
  238. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/fmt/colors.d.ts +0 -0
  239. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/fmt/colors.js +0 -0
  240. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/_db.d.ts +0 -0
  241. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/_db.js +0 -0
  242. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/content_type.d.ts +0 -0
  243. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/content_type.js +0 -0
  244. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/extension.d.ts +0 -0
  245. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/extension.js +0 -0
  246. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/extensions_by_type.d.ts +0 -0
  247. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/extensions_by_type.js +0 -0
  248. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/format_media_type.d.ts +0 -0
  249. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/format_media_type.js +0 -0
  250. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/get_charset.d.ts +0 -0
  251. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/get_charset.js +0 -0
  252. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/parse_media_type.d.ts +0 -0
  253. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/parse_media_type.js +0 -0
  254. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/type_by_extension.d.ts +0 -0
  255. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/type_by_extension.js +0 -0
  256. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/vendor/mime-db.v1.52.0.d.ts +0 -0
  257. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/vendor/mime-db.v1.52.0.js +0 -0
  258. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/assert_path.d.ts +0 -0
  259. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/assert_path.js +0 -0
  260. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/basename.d.ts +0 -0
  261. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/basename.js +0 -0
  262. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/common.d.ts +0 -0
  263. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/common.js +0 -0
  264. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/constants.d.ts +0 -0
  265. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/constants.js +0 -0
  266. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/dirname.d.ts +0 -0
  267. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/dirname.js +0 -0
  268. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/format.d.ts +0 -0
  269. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/format.js +0 -0
  270. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/from_file_url.d.ts +0 -0
  271. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/from_file_url.js +0 -0
  272. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/glob_to_reg_exp.d.ts +0 -0
  273. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/glob_to_reg_exp.js +0 -0
  274. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/normalize.d.ts +0 -0
  275. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/normalize.js +0 -0
  276. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/normalize_string.d.ts +0 -0
  277. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/normalize_string.js +0 -0
  278. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/relative.d.ts +0 -0
  279. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/relative.js +0 -0
  280. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/strip_trailing_separators.d.ts +0 -0
  281. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/strip_trailing_separators.js +0 -0
  282. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/to_file_url.d.ts +0 -0
  283. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/to_file_url.js +0 -0
  284. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_interface.d.ts +0 -0
  285. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_interface.js +0 -0
  286. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_os.d.ts +0 -0
  287. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_os.js +0 -0
  288. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/basename.d.ts +0 -0
  289. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/basename.js +0 -0
  290. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/common.d.ts +0 -0
  291. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/common.js +0 -0
  292. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/constants.d.ts +0 -0
  293. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/constants.js +0 -0
  294. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/dirname.d.ts +0 -0
  295. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/dirname.js +0 -0
  296. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/extname.d.ts +0 -0
  297. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/extname.js +0 -0
  298. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/format.d.ts +0 -0
  299. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/format.js +0 -0
  300. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/from_file_url.d.ts +0 -0
  301. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/from_file_url.js +0 -0
  302. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/glob_to_regexp.d.ts +0 -0
  303. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/glob_to_regexp.js +0 -0
  304. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/is_absolute.d.ts +0 -0
  305. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/is_absolute.js +0 -0
  306. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/is_glob.d.ts +0 -0
  307. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/is_glob.js +0 -0
  308. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/join.d.ts +0 -0
  309. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/join.js +0 -0
  310. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/join_globs.d.ts +0 -0
  311. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/join_globs.js +0 -0
  312. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/mod.d.ts +0 -0
  313. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/mod.js +0 -0
  314. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/normalize.d.ts +0 -0
  315. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/normalize.js +0 -0
  316. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/normalize_glob.d.ts +0 -0
  317. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/normalize_glob.js +0 -0
  318. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/parse.d.ts +0 -0
  319. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/parse.js +0 -0
  320. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/_util.d.ts +0 -0
  321. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/_util.js +0 -0
  322. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/basename.d.ts +0 -0
  323. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/basename.js +0 -0
  324. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/common.d.ts +0 -0
  325. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/common.js +0 -0
  326. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/constants.d.ts +0 -0
  327. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/constants.js +0 -0
  328. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/dirname.d.ts +0 -0
  329. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/dirname.js +0 -0
  330. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/extname.d.ts +0 -0
  331. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/extname.js +0 -0
  332. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/format.d.ts +0 -0
  333. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/format.js +0 -0
  334. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/from_file_url.d.ts +0 -0
  335. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/from_file_url.js +0 -0
  336. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/glob_to_regexp.d.ts +0 -0
  337. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/glob_to_regexp.js +0 -0
  338. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/is_absolute.d.ts +0 -0
  339. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/is_absolute.js +0 -0
  340. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/is_glob.d.ts +0 -0
  341. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/is_glob.js +0 -0
  342. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/join.d.ts +0 -0
  343. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/join.js +0 -0
  344. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/join_globs.d.ts +0 -0
  345. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/join_globs.js +0 -0
  346. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/mod.d.ts +0 -0
  347. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/mod.js +0 -0
  348. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/normalize.d.ts +0 -0
  349. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/normalize.js +0 -0
  350. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/normalize_glob.d.ts +0 -0
  351. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/normalize_glob.js +0 -0
  352. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/parse.d.ts +0 -0
  353. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/parse.js +0 -0
  354. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/relative.d.ts +0 -0
  355. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/relative.js +0 -0
  356. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/resolve.d.ts +0 -0
  357. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/resolve.js +0 -0
  358. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/to_file_url.d.ts +0 -0
  359. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/to_file_url.js +0 -0
  360. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/to_namespaced_path.d.ts +0 -0
  361. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/to_namespaced_path.js +0 -0
  362. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/relative.d.ts +0 -0
  363. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/relative.js +0 -0
  364. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/resolve.d.ts +0 -0
  365. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/resolve.js +0 -0
  366. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/to_file_url.d.ts +0 -0
  367. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/to_file_url.js +0 -0
  368. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/to_namespaced_path.d.ts +0 -0
  369. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/to_namespaced_path.js +0 -0
  370. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/_util.d.ts +0 -0
  371. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/_util.js +0 -0
  372. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/basename.d.ts +0 -0
  373. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/basename.js +0 -0
  374. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/common.d.ts +0 -0
  375. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/common.js +0 -0
  376. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/constants.d.ts +0 -0
  377. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/constants.js +0 -0
  378. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/dirname.d.ts +0 -0
  379. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/dirname.js +0 -0
  380. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/extname.d.ts +0 -0
  381. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/extname.js +0 -0
  382. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/format.d.ts +0 -0
  383. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/format.js +0 -0
  384. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/from_file_url.d.ts +0 -0
  385. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/from_file_url.js +0 -0
  386. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/glob_to_regexp.d.ts +0 -0
  387. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/glob_to_regexp.js +0 -0
  388. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/is_absolute.d.ts +0 -0
  389. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/is_absolute.js +0 -0
  390. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/is_glob.d.ts +0 -0
  391. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/is_glob.js +0 -0
  392. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/join.d.ts +0 -0
  393. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/join.js +0 -0
  394. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/join_globs.d.ts +0 -0
  395. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/join_globs.js +0 -0
  396. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/mod.d.ts +0 -0
  397. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/mod.js +0 -0
  398. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/normalize.d.ts +0 -0
  399. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/normalize.js +0 -0
  400. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/normalize_glob.d.ts +0 -0
  401. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/normalize_glob.js +0 -0
  402. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/parse.d.ts +0 -0
  403. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/parse.js +0 -0
  404. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/relative.d.ts +0 -0
  405. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/relative.js +0 -0
  406. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/resolve.d.ts +0 -0
  407. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/resolve.js +0 -0
  408. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/to_file_url.d.ts +0 -0
  409. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/to_file_url.js +0 -0
  410. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/to_namespaced_path.d.ts +0 -0
  411. /package/esm/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/to_namespaced_path.js +0 -0
  412. /package/esm/deps/deno.land/x/{tgcrypto@0.4.0 → tgcrypto@0.4.1}/tgcrypto.d.ts +0 -0
  413. /package/esm/deps/deno.land/x/{tgcrypto@0.4.0 → tgcrypto@0.4.1}/tgcrypto.js +0 -0
  414. /package/esm/types/{1_input_message_content.js → 1_input_media.js} +0 -0
  415. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/_constants.d.ts +0 -0
  416. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/_constants.js +0 -0
  417. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/_diff.d.ts +0 -0
  418. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/_diff.js +0 -0
  419. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/_format.d.ts +0 -0
  420. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/_format.js +0 -0
  421. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert.d.ts +0 -0
  422. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_almost_equals.d.ts +0 -0
  423. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_array_includes.d.ts +0 -0
  424. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_equals.d.ts +0 -0
  425. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_exists.d.ts +0 -0
  426. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_false.d.ts +0 -0
  427. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_greater.d.ts +0 -0
  428. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_greater_or_equal.d.ts +0 -0
  429. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_instance_of.d.ts +0 -0
  430. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_is_error.d.ts +0 -0
  431. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_less.d.ts +0 -0
  432. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_less_or_equal.d.ts +0 -0
  433. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_match.d.ts +0 -0
  434. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_equals.d.ts +0 -0
  435. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_instance_of.d.ts +0 -0
  436. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_match.d.ts +0 -0
  437. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_not_strict_equals.d.ts +0 -0
  438. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_object_match.d.ts +0 -0
  439. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_rejects.d.ts +0 -0
  440. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_strict_equals.d.ts +0 -0
  441. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_string_includes.d.ts +0 -0
  442. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assert_throws.d.ts +0 -0
  443. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/assertion_error.d.ts +0 -0
  444. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/equal.d.ts +0 -0
  445. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/fail.d.ts +0 -0
  446. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/mod.d.ts +0 -0
  447. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/unimplemented.d.ts +0 -0
  448. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/assert/unreachable.d.ts +0 -0
  449. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/encoding/_util.d.ts +0 -0
  450. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/encoding/_util.js +0 -0
  451. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/fmt/colors.d.ts +0 -0
  452. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/fmt/colors.js +0 -0
  453. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/_db.d.ts +0 -0
  454. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/_db.js +0 -0
  455. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/content_type.d.ts +0 -0
  456. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/content_type.js +0 -0
  457. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/extension.d.ts +0 -0
  458. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/extension.js +0 -0
  459. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/extensions_by_type.d.ts +0 -0
  460. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/extensions_by_type.js +0 -0
  461. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/format_media_type.d.ts +0 -0
  462. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/format_media_type.js +0 -0
  463. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/get_charset.d.ts +0 -0
  464. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/get_charset.js +0 -0
  465. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/parse_media_type.d.ts +0 -0
  466. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/parse_media_type.js +0 -0
  467. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/type_by_extension.d.ts +0 -0
  468. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/type_by_extension.js +0 -0
  469. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/vendor/mime-db.v1.52.0.d.ts +0 -0
  470. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/media_types/vendor/mime-db.v1.52.0.js +0 -0
  471. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/assert_path.d.ts +0 -0
  472. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/assert_path.js +0 -0
  473. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/basename.d.ts +0 -0
  474. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/basename.js +0 -0
  475. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/common.d.ts +0 -0
  476. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/common.js +0 -0
  477. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/constants.d.ts +0 -0
  478. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/constants.js +0 -0
  479. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/dirname.d.ts +0 -0
  480. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/dirname.js +0 -0
  481. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/format.d.ts +0 -0
  482. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/format.js +0 -0
  483. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/from_file_url.d.ts +0 -0
  484. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/from_file_url.js +0 -0
  485. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/glob_to_reg_exp.d.ts +0 -0
  486. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/glob_to_reg_exp.js +0 -0
  487. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/normalize.d.ts +0 -0
  488. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/normalize.js +0 -0
  489. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/normalize_string.d.ts +0 -0
  490. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/normalize_string.js +0 -0
  491. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/relative.d.ts +0 -0
  492. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/relative.js +0 -0
  493. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/strip_trailing_separators.d.ts +0 -0
  494. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/strip_trailing_separators.js +0 -0
  495. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/to_file_url.d.ts +0 -0
  496. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_common/to_file_url.js +0 -0
  497. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_interface.d.ts +0 -0
  498. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_interface.js +0 -0
  499. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_os.d.ts +0 -0
  500. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/_os.js +0 -0
  501. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/basename.d.ts +0 -0
  502. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/basename.js +0 -0
  503. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/common.d.ts +0 -0
  504. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/common.js +0 -0
  505. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/constants.d.ts +0 -0
  506. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/constants.js +0 -0
  507. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/dirname.d.ts +0 -0
  508. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/dirname.js +0 -0
  509. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/extname.d.ts +0 -0
  510. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/extname.js +0 -0
  511. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/format.d.ts +0 -0
  512. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/format.js +0 -0
  513. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/from_file_url.d.ts +0 -0
  514. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/from_file_url.js +0 -0
  515. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/glob_to_regexp.d.ts +0 -0
  516. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/glob_to_regexp.js +0 -0
  517. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/is_absolute.d.ts +0 -0
  518. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/is_absolute.js +0 -0
  519. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/is_glob.d.ts +0 -0
  520. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/is_glob.js +0 -0
  521. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/join.d.ts +0 -0
  522. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/join.js +0 -0
  523. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/join_globs.d.ts +0 -0
  524. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/join_globs.js +0 -0
  525. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/mod.d.ts +0 -0
  526. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/mod.js +0 -0
  527. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/normalize.d.ts +0 -0
  528. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/normalize.js +0 -0
  529. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/normalize_glob.d.ts +0 -0
  530. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/normalize_glob.js +0 -0
  531. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/parse.d.ts +0 -0
  532. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/parse.js +0 -0
  533. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/_util.d.ts +0 -0
  534. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/_util.js +0 -0
  535. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/basename.d.ts +0 -0
  536. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/basename.js +0 -0
  537. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/common.d.ts +0 -0
  538. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/common.js +0 -0
  539. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/constants.d.ts +0 -0
  540. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/constants.js +0 -0
  541. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/dirname.d.ts +0 -0
  542. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/dirname.js +0 -0
  543. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/extname.d.ts +0 -0
  544. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/extname.js +0 -0
  545. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/format.d.ts +0 -0
  546. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/format.js +0 -0
  547. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/from_file_url.d.ts +0 -0
  548. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/from_file_url.js +0 -0
  549. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/glob_to_regexp.d.ts +0 -0
  550. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/glob_to_regexp.js +0 -0
  551. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/is_absolute.d.ts +0 -0
  552. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/is_absolute.js +0 -0
  553. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/is_glob.d.ts +0 -0
  554. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/is_glob.js +0 -0
  555. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/join.d.ts +0 -0
  556. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/join.js +0 -0
  557. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/join_globs.d.ts +0 -0
  558. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/join_globs.js +0 -0
  559. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/mod.d.ts +0 -0
  560. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/mod.js +0 -0
  561. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/normalize.d.ts +0 -0
  562. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/normalize.js +0 -0
  563. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/normalize_glob.d.ts +0 -0
  564. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/normalize_glob.js +0 -0
  565. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/parse.d.ts +0 -0
  566. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/parse.js +0 -0
  567. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/relative.d.ts +0 -0
  568. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/relative.js +0 -0
  569. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/resolve.d.ts +0 -0
  570. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/resolve.js +0 -0
  571. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/to_file_url.d.ts +0 -0
  572. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/to_file_url.js +0 -0
  573. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/to_namespaced_path.d.ts +0 -0
  574. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/posix/to_namespaced_path.js +0 -0
  575. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/relative.d.ts +0 -0
  576. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/relative.js +0 -0
  577. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/resolve.d.ts +0 -0
  578. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/resolve.js +0 -0
  579. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/to_file_url.d.ts +0 -0
  580. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/to_file_url.js +0 -0
  581. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/to_namespaced_path.d.ts +0 -0
  582. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/to_namespaced_path.js +0 -0
  583. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/_util.d.ts +0 -0
  584. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/_util.js +0 -0
  585. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/basename.d.ts +0 -0
  586. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/basename.js +0 -0
  587. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/common.d.ts +0 -0
  588. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/common.js +0 -0
  589. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/constants.d.ts +0 -0
  590. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/constants.js +0 -0
  591. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/dirname.d.ts +0 -0
  592. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/dirname.js +0 -0
  593. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/extname.d.ts +0 -0
  594. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/extname.js +0 -0
  595. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/format.d.ts +0 -0
  596. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/format.js +0 -0
  597. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/from_file_url.d.ts +0 -0
  598. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/from_file_url.js +0 -0
  599. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/glob_to_regexp.d.ts +0 -0
  600. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/glob_to_regexp.js +0 -0
  601. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/is_absolute.d.ts +0 -0
  602. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/is_absolute.js +0 -0
  603. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/is_glob.d.ts +0 -0
  604. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/is_glob.js +0 -0
  605. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/join.d.ts +0 -0
  606. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/join.js +0 -0
  607. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/join_globs.d.ts +0 -0
  608. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/join_globs.js +0 -0
  609. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/mod.d.ts +0 -0
  610. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/mod.js +0 -0
  611. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/normalize.d.ts +0 -0
  612. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/normalize.js +0 -0
  613. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/normalize_glob.d.ts +0 -0
  614. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/normalize_glob.js +0 -0
  615. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/parse.d.ts +0 -0
  616. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/parse.js +0 -0
  617. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/relative.d.ts +0 -0
  618. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/relative.js +0 -0
  619. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/resolve.d.ts +0 -0
  620. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/resolve.js +0 -0
  621. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/to_file_url.d.ts +0 -0
  622. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/to_file_url.js +0 -0
  623. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/to_namespaced_path.d.ts +0 -0
  624. /package/script/deps/deno.land/{std@0.221.0 → std@0.223.0}/path/windows/to_namespaced_path.js +0 -0
  625. /package/script/deps/deno.land/x/{tgcrypto@0.4.0 → tgcrypto@0.4.1}/tgcrypto.d.ts +0 -0
  626. /package/script/deps/deno.land/x/{tgcrypto@0.4.0 → tgcrypto@0.4.1}/tgcrypto.js +0 -0
  627. /package/script/types/{1_input_message_content.js → 1_input_media.js} +0 -0
@@ -18,9 +18,190 @@
18
18
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
19
19
  */
20
20
  import { unreachable } from "../0_deps.js";
21
- import { types } from "../2_tl.js";
22
- import { deserializeFileId } from "./_file_id.js";
23
- import { replyMarkupToTlObject } from "./3_reply_markup.js";
21
+ import { as, types } from "../2_tl.js";
22
+ import { cleanObject } from "../1_utilities.js";
23
+ import { deserializeFileId, FileType, getPhotoFileId, serializeFileId } from "./_file_id.js";
24
+ import { constructMessageEntity } from "./0_message_entity.js";
25
+ import { getPhotoSizes } from "./1_photo.js";
26
+ import { constructReplyMarkup, replyMarkupToTlObject } from "./3_reply_markup.js";
27
+ import { constructThumbnail } from "./0_thumbnail.js";
28
+ export function constructInlineQueryResult(result) {
29
+ const id = result.id, title = result.title ?? "", type = result.type, description = result.description;
30
+ if (result.send_message instanceof types.BotInlineMessageMediaGeo) {
31
+ const geoPoint = result.send_message.geo;
32
+ return cleanObject({
33
+ type: "location",
34
+ id,
35
+ title,
36
+ latitude: geoPoint.lat,
37
+ longitude: geoPoint.long,
38
+ horizontalAccuracy: geoPoint.accuracy_radius,
39
+ livePeriod: result.send_message.period,
40
+ heading: result.send_message.heading,
41
+ proximityAlertRadius: result.send_message.proximity_notification_radius,
42
+ });
43
+ }
44
+ else if (result.send_message instanceof types.BotInlineMessageMediaVenue) {
45
+ const geoPoint = result.send_message.geo;
46
+ return cleanObject({
47
+ type: "venue",
48
+ id,
49
+ title,
50
+ latitude: geoPoint.lat,
51
+ longitude: geoPoint.long,
52
+ address: result.send_message.address,
53
+ foursquareId: result.send_message.venue_id,
54
+ foursquareType: result.send_message.venue_type,
55
+ });
56
+ }
57
+ else if (result.send_message instanceof types.BotInlineMessageMediaWebPage || result.send_message instanceof types.BotInlineMessageText) {
58
+ return cleanObject({
59
+ type: "article",
60
+ id,
61
+ title,
62
+ description,
63
+ messageContent: cleanObject({
64
+ messageText: result.send_message.message,
65
+ entities: (result.send_message.entities ?? []).map(constructMessageEntity).filter((v) => v != null),
66
+ linkPreview: result.send_message instanceof types.InputBotInlineMessageMediaWebPage ? { url: result.send_message.url, smallMedia: result.send_message.force_small_media, largeMedia: result.send_message.force_large_media, aboveText: result.send_message.invert_media } : undefined,
67
+ }),
68
+ replyMarkup: result.send_message.reply_markup ? constructReplyMarkup(result.send_message.reply_markup) : undefined,
69
+ });
70
+ }
71
+ else if (result.send_message instanceof types.BotInlineMessageMediaAuto) {
72
+ let ref;
73
+ let attributes;
74
+ const thumbnailUrl = "thumb" in result ? result.thumb?.url : undefined;
75
+ let photoSizes;
76
+ let photo;
77
+ if (result instanceof types.BotInlineMediaResult) {
78
+ if (result.photo) {
79
+ photo = result.photo[as](types.Photo);
80
+ ref = { fileId: getPhotoFileId(photo).fileId };
81
+ const { largest } = photoSizes = getPhotoSizes(photo);
82
+ attributes = [new types.DocumentAttributeImageSize({ w: largest.w, h: largest.h })];
83
+ }
84
+ else if (result.document) {
85
+ const document = result.document[as](types.Document);
86
+ ref = {
87
+ fileId: serializeFileId({
88
+ type: FileType.Document,
89
+ dcId: document.dc_id,
90
+ fileReference: document.file_reference,
91
+ location: { type: "common", id: document.id, accessHash: document.access_hash },
92
+ }),
93
+ };
94
+ attributes = document.attributes;
95
+ }
96
+ else {
97
+ unreachable();
98
+ }
99
+ }
100
+ else if (result.content) {
101
+ ref = { url: result.content.url };
102
+ attributes = result.content.attributes;
103
+ }
104
+ else {
105
+ unreachable();
106
+ }
107
+ const messageContent = result.send_message.message
108
+ ? {
109
+ messageText: result.send_message.message,
110
+ entities: (result.send_message.entities ?? []).map(constructMessageEntity).filter((v) => v != null),
111
+ }
112
+ : undefined;
113
+ const replyMarkup = result.send_message.reply_markup ? constructReplyMarkup(result.send_message.reply_markup) : undefined;
114
+ switch (type) {
115
+ case "audio": {
116
+ const a = attributes?.find((v) => v instanceof types.DocumentAttributeAudio);
117
+ return cleanObject({
118
+ id,
119
+ type,
120
+ title,
121
+ ...ref,
122
+ messageContent,
123
+ replyMarkup,
124
+ performer: a?.performer,
125
+ audioDuration: a?.duration,
126
+ });
127
+ }
128
+ case "gif":
129
+ case "mpeg4Gif": {
130
+ const a = attributes.find((v) => v instanceof types.DocumentAttributeVideo);
131
+ return cleanObject({
132
+ id,
133
+ type,
134
+ title,
135
+ ...ref,
136
+ messageContent,
137
+ replyMarkup,
138
+ thumbnailUrl,
139
+ width: a?.w,
140
+ height: a?.h,
141
+ duration: a?.duration,
142
+ });
143
+ }
144
+ case "photo": {
145
+ const a = attributes.find((v) => v instanceof types.DocumentAttributeImageSize);
146
+ return cleanObject({
147
+ id,
148
+ type,
149
+ title,
150
+ description,
151
+ ...ref,
152
+ messageContent,
153
+ replyMarkup,
154
+ thumbnailUrl: thumbnailUrl,
155
+ thumbnails: photo ? photoSizes?.sizes.slice(0, -1).map((v) => constructThumbnail(v, photo)) : undefined,
156
+ width: a?.w,
157
+ height: a?.h,
158
+ });
159
+ }
160
+ case "video": {
161
+ const a = attributes.find((v) => v instanceof types.DocumentAttributeVideo);
162
+ return cleanObject({
163
+ id,
164
+ type,
165
+ title,
166
+ description,
167
+ ...ref,
168
+ messageContent,
169
+ replyMarkup,
170
+ mimeType: "content" in result && result.content ? result.content.mime_type : "video/mp4",
171
+ thumbnailUrl: thumbnailUrl,
172
+ width: a?.w,
173
+ height: a?.h,
174
+ videoDuration: a?.duration,
175
+ });
176
+ }
177
+ case "voice": {
178
+ const a = attributes.find((v) => v instanceof types.DocumentAttributeAudio);
179
+ return cleanObject({
180
+ id,
181
+ type,
182
+ title,
183
+ ...ref,
184
+ messageContent,
185
+ replyMarkup,
186
+ thumbnailUrl,
187
+ voiceDuration: a?.duration,
188
+ });
189
+ }
190
+ case "document":
191
+ case "file": // Does it really return this?
192
+ return cleanObject({
193
+ type: "document",
194
+ id,
195
+ title: result.title ?? "",
196
+ ...ref,
197
+ messageContent,
198
+ replyMarkup,
199
+ thumbnailUrl,
200
+ });
201
+ }
202
+ }
203
+ unreachable();
204
+ }
24
205
  // deno-lint-ignore no-explicit-any
25
206
  export async function inlineQueryResultToTlObject(result_, parseText, usernameResolver) {
26
207
  let document = null;
@@ -28,9 +209,9 @@ export async function inlineQueryResultToTlObject(result_, parseText, usernameRe
28
209
  let fileId_ = null;
29
210
  switch (result_.type) {
30
211
  case "audio":
31
- if ("audioUrl" in result_) {
212
+ if ("url" in result_) {
32
213
  document = new types.InputWebDocument({
33
- url: result_.audioUrl,
214
+ url: result_.url,
34
215
  size: 0,
35
216
  mime_type: "audio/mpeg",
36
217
  attributes: [
@@ -43,101 +224,101 @@ export async function inlineQueryResultToTlObject(result_, parseText, usernameRe
43
224
  });
44
225
  }
45
226
  else {
46
- fileId_ = result_.audioFileId;
227
+ fileId_ = result_.fileId;
47
228
  }
48
229
  break;
49
230
  case "video":
50
- if ("videoUrl" in result_) {
231
+ if ("url" in result_) {
51
232
  document = new types.InputWebDocument({
52
- url: result_.videoUrl,
233
+ url: result_.url,
53
234
  size: 0,
54
235
  mime_type: result_.mimeType ?? "video/mp4",
55
236
  attributes: [
56
237
  new types.DocumentAttributeVideo({
57
238
  duration: result_.videoDuration ?? 0,
58
- h: result_.videoHeight ?? 0,
59
- w: result_.videoWidth ?? 0,
239
+ h: result_.height ?? 0,
240
+ w: result_.width ?? 0,
60
241
  }),
61
242
  ],
62
243
  });
63
244
  }
64
245
  else {
65
- fileId_ = result_.videoFileId;
246
+ fileId_ = result_.fileId;
66
247
  }
67
248
  break;
68
249
  case "document":
69
- if ("documentUrl" in result_) {
250
+ if ("url" in result_) {
70
251
  document = new types.InputWebDocument({
71
- url: result_.documentUrl,
252
+ url: result_.url,
72
253
  mime_type: "application/octet-stream",
73
254
  attributes: [],
74
255
  size: 0,
75
256
  });
76
257
  }
77
258
  else {
78
- fileId_ = result_.documentFileId;
259
+ fileId_ = result_.fileId;
79
260
  }
80
261
  break;
81
262
  case "gif":
82
- if ("gifUrl" in result_) {
263
+ if ("url" in result_) {
83
264
  document = new types.InputWebDocument({
84
- url: result_.gifUrl,
265
+ url: result_.url,
85
266
  size: 0,
86
267
  mime_type: "image/gif",
87
268
  attributes: [
88
269
  new types.DocumentAttributeVideo({
89
- duration: result_.gifDuration ?? 0,
90
- h: result_.gifHeight ?? 0,
91
- w: result_.gifWidth ?? 0,
270
+ duration: result_.duration ?? 0,
271
+ w: result_.width ?? 0,
272
+ h: result_.height ?? 0,
92
273
  }),
93
274
  ],
94
275
  });
95
276
  }
96
277
  else {
97
- fileId_ = result_.gifFileId;
278
+ fileId_ = result_.fileId;
98
279
  }
99
280
  break;
100
281
  case "mpeg4Gif":
101
- if ("mpeg4Url" in result_) {
282
+ if ("url" in result_) {
102
283
  document = new types.InputWebDocument({
103
- url: result_.mpeg4Url,
284
+ url: result_.url,
104
285
  size: 0,
105
286
  mime_type: "video/mp4",
106
287
  attributes: [
107
288
  new types.DocumentAttributeVideo({
108
289
  nosound: true,
109
- duration: result_.mpeg4Duration ?? 0,
110
- w: result_.mpeg4Width ?? 0,
111
- h: result_.mpeg4Height ?? 0,
290
+ duration: result_.duration ?? 0,
291
+ w: result_.width ?? 0,
292
+ h: result_.height ?? 0,
112
293
  supports_streaming: true,
113
294
  }),
114
295
  ],
115
296
  });
116
297
  }
117
298
  else {
118
- fileId_ = result_.mpeg4FileId;
299
+ fileId_ = result_.fileId;
119
300
  }
120
301
  break;
121
302
  case "photo":
122
- if ("photoUrl" in result_) {
303
+ if ("url" in result_) {
123
304
  document = new types.InputWebDocument({
124
- url: result_.photoUrl,
305
+ url: result_.url,
125
306
  size: 0,
126
307
  mime_type: "image/jpeg",
127
- attributes: [new types.DocumentAttributeImageSize({ w: result_.photoWidth ?? 0, h: result_.photoHeight ?? 0 })],
308
+ attributes: [new types.DocumentAttributeImageSize({ w: result_.width ?? 0, h: result_.height ?? 0 })],
128
309
  });
129
310
  }
130
311
  else {
131
- fileId_ = result_.photoFileId;
312
+ fileId_ = result_.fileId;
132
313
  }
133
314
  break;
134
315
  case "sticker":
135
- fileId_ = result_.stickerFileId;
316
+ fileId_ = result_.fileId;
136
317
  break;
137
318
  case "voice":
138
- if ("voiceUrl" in result_) {
319
+ if ("url" in result_) {
139
320
  document = new types.InputWebDocument({
140
- url: result_.voiceUrl,
321
+ url: result_.url,
141
322
  size: 0,
142
323
  mime_type: "audio/mpeg",
143
324
  attributes: [
@@ -149,7 +330,7 @@ export async function inlineQueryResultToTlObject(result_, parseText, usernameRe
149
330
  });
150
331
  }
151
332
  else {
152
- fileId_ = result_.voiceFileId;
333
+ fileId_ = result_.fileId;
153
334
  }
154
335
  break;
155
336
  }
@@ -241,18 +422,18 @@ export async function inlineQueryResultToTlObject(result_, parseText, usernameRe
241
422
  });
242
423
  }
243
424
  else if (result_.type == "article") {
244
- if (!("messageText" in result_.inputMessageContent)) {
425
+ if (!("messageText" in result_.messageContent)) {
245
426
  unreachable();
246
427
  }
247
- const [message, entities] = await parseText(result_.inputMessageContent.messageText, { entities: result_.inputMessageContent.entities, parseMode: result_.inputMessageContent.parseMode });
248
- const noWebpage = result_.inputMessageContent?.linkPreview?.disable ? true : undefined;
249
- const invertMedia = result_.inputMessageContent?.linkPreview?.aboveText ? true : undefined;
428
+ const [message, entities] = await parseText(result_.messageContent.messageText, { entities: result_.messageContent.entities, parseMode: result_.messageContent.parseMode });
429
+ const noWebpage = result_.messageContent?.linkPreview?.disable ? true : undefined;
430
+ const invertMedia = result_.messageContent?.linkPreview?.aboveText ? true : undefined;
250
431
  let sendMessage;
251
- if (result_.inputMessageContent.linkPreview?.url) {
432
+ if (result_.messageContent.linkPreview?.url) {
252
433
  sendMessage = new types.InputBotInlineMessageMediaWebPage({
253
- url: result_.inputMessageContent.linkPreview.url,
254
- force_large_media: result_.inputMessageContent.linkPreview.largeMedia ? true : undefined,
255
- force_small_media: result_.inputMessageContent.linkPreview.smallMedia ? true : undefined,
434
+ url: result_.messageContent.linkPreview.url,
435
+ force_large_media: result_.messageContent.linkPreview.largeMedia ? true : undefined,
436
+ force_small_media: result_.messageContent.linkPreview.smallMedia ? true : undefined,
256
437
  optional: message.length ? undefined : true,
257
438
  message,
258
439
  entities,
@@ -279,7 +460,7 @@ export async function inlineQueryResultToTlObject(result_, parseText, usernameRe
279
460
  });
280
461
  }
281
462
  else if (result_.type == "venue") {
282
- if (!result_.fourSquareId || !result_.foursquareType) {
463
+ if (!result_.foursquareId || !result_.foursquareType) {
283
464
  unreachable();
284
465
  }
285
466
  return new types.InputBotInlineResult({
@@ -293,7 +474,7 @@ export async function inlineQueryResultToTlObject(result_, parseText, usernameRe
293
474
  address: result_.address,
294
475
  provider: "foursquare",
295
476
  title: result_.title,
296
- venue_id: result_.fourSquareId,
477
+ venue_id: result_.foursquareId,
297
478
  venue_type: result_.foursquareType,
298
479
  reply_markup: replyMarkup,
299
480
  }),
@@ -0,0 +1,31 @@
1
+ /**
2
+ * MTKruto - Cross-runtime JavaScript library for building Telegram clients
3
+ * Copyright (C) 2023-2024 Roj <https://roj.im/>
4
+ *
5
+ * This file is part of MTKruto.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Lesser General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public License
18
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+ import { types } from "../2_tl.js";
21
+ import { InlineQueryResult } from "./4_inline_query_result.js";
22
+ /** An answer to an inline query. */
23
+ export interface InlineQueryAnswer {
24
+ /** The ID of the inline query that yielded these results. */
25
+ id: string;
26
+ /** The inline query results. */
27
+ results: InlineQueryResult[];
28
+ /** A parameter that can be passed to next queries with the same text to yield more results. */
29
+ nextOffset?: string;
30
+ }
31
+ export declare function constructInlineQueryAnswer(results: types.messages.BotResults): InlineQueryAnswer;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * MTKruto - Cross-runtime JavaScript library for building Telegram clients
3
+ * Copyright (C) 2023-2024 Roj <https://roj.im/>
4
+ *
5
+ * This file is part of MTKruto.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Lesser General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public License
18
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+ import { cleanObject } from "../1_utilities.js";
21
+ import { constructInlineQueryResult } from "./4_inline_query_result.js";
22
+ export function constructInlineQueryAnswer(results) {
23
+ return cleanObject({
24
+ id: results.query_id + "",
25
+ results: results.results.map(constructInlineQueryResult),
26
+ nextOffset: results.next_offset,
27
+ });
28
+ }
@@ -17,6 +17,7 @@
17
17
  * You should have received a copy of the GNU Lesser General Public License
18
18
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
19
19
  */
20
+ import { types } from "../2_tl.js";
20
21
  export declare enum FileType {
21
22
  Thumbnail = 0,
22
23
  ProfilePhoto = 1,
@@ -118,4 +119,8 @@ export interface FileId {
118
119
  export declare function deserializeFileId(fileId: string): FileId;
119
120
  export declare function serializeFileId(fileId: FileId): string;
120
121
  export declare function toUniqueFileId(fileId: FileId): string;
122
+ export declare function getPhotoFileId(photo: types.Photo): {
123
+ fileId: string;
124
+ fileUniqueId: string;
125
+ };
121
126
  export {};
@@ -20,7 +20,7 @@
20
20
  import { unreachable } from "../0_deps.js";
21
21
  import { InputError } from "../0_errors.js";
22
22
  import { base64DecodeUrlSafe, base64EncodeUrlSafe, rleDecode, rleEncode } from "../1_utilities.js";
23
- import { TLReader, TLWriter } from "../2_tl.js";
23
+ import { TLReader, TLWriter, types } from "../2_tl.js";
24
24
  const NEXT_VERSION = 53;
25
25
  const PERSISTENT_ID_VERSION = 4;
26
26
  const WEB_LOCATION_FLAG = 1 << 24;
@@ -321,3 +321,34 @@ export function toUniqueFileId(fileId) {
321
321
  }
322
322
  return base64EncodeUrlSafe(rleEncode(writer.buffer));
323
323
  }
324
+ export function getPhotoFileId(photo) {
325
+ const sizes = photo.sizes
326
+ .map((v) => {
327
+ if (v instanceof types.PhotoSizeProgressive) {
328
+ return new types.PhotoSize({ type: v.type, w: v.w, h: v.h, size: Math.max(...v.sizes) });
329
+ }
330
+ else {
331
+ return v;
332
+ }
333
+ })
334
+ .filter((v) => v instanceof types.PhotoSize)
335
+ .sort((a, b) => a.size - b.size);
336
+ const largest = sizes.slice(-1)[0];
337
+ const { dc_id: dcId, id, access_hash: accessHash, file_reference: fileReference } = photo;
338
+ const fileId = {
339
+ type: FileType.Photo,
340
+ dcId,
341
+ fileReference,
342
+ location: {
343
+ type: "photo",
344
+ id,
345
+ accessHash,
346
+ source: {
347
+ type: PhotoSourceType.Thumbnail,
348
+ fileType: FileType.Photo,
349
+ thumbnailType: largest.type.charCodeAt(0),
350
+ },
351
+ },
352
+ };
353
+ return { fileId: serializeFileId(fileId), fileUniqueId: toUniqueFileId(fileId) };
354
+ }
@@ -17,5 +17,4 @@
17
17
  * You should have received a copy of the GNU Lesser General Public License
18
18
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
19
19
  */
20
- export declare function concat(...buffers: [Uint8Array, Uint8Array, ...Uint8Array[]]): Uint8Array;
21
20
  export declare function bufferFromBigInt(int: bigint | number, byteCount: number, littleEndian?: boolean, signed?: boolean): Uint8Array;
@@ -17,19 +17,6 @@
17
17
  * You should have received a copy of the GNU Lesser General Public License
18
18
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
19
19
  */
20
- export function concat(...buffers) {
21
- let length = 0;
22
- for (const b of buffers) {
23
- length += b.length;
24
- }
25
- const buffer = new Uint8Array(length);
26
- let offset = 0;
27
- for (const b of buffers) {
28
- buffer.set(b, offset);
29
- offset += b.length;
30
- }
31
- return buffer;
32
- }
33
20
  const bufferFromHexString = (hexString) => Uint8Array.from(hexString.match(/.{1,2}/g).map((byte) => parseInt(byte, 16)));
34
21
  export function bufferFromBigInt(int, byteCount, littleEndian = true, signed = false) {
35
22
  const actualByteCount = Math.ceil(int.toString(2).length / 8);
@@ -18,9 +18,9 @@
18
18
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
19
19
  */
20
20
  export declare class CTR {
21
- readonly key: Uint8Array;
22
- iv: Uint8Array;
23
- state: Uint8Array;
21
+ #private;
24
22
  constructor(key: Uint8Array, iv: Uint8Array);
23
+ /** This must not be called after destroying. */
25
24
  call(data: Uint8Array): void;
25
+ destroy(): void;
26
26
  }
@@ -17,29 +17,32 @@
17
17
  * You should have received a copy of the GNU Lesser General Public License
18
18
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
19
19
  */
20
- import { ctr256 } from "../0_deps.js";
20
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
21
+ if (kind === "m") throw new TypeError("Private method is not writable");
22
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
23
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
24
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
25
+ };
26
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
27
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
28
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
29
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
30
+ };
31
+ var _CTR_key, _CTR_state;
32
+ import { createCtr256State, ctr256, destroyCtr256State } from "../0_deps.js";
21
33
  export class CTR {
22
34
  constructor(key, iv) {
23
- Object.defineProperty(this, "key", {
24
- enumerable: true,
25
- configurable: true,
26
- writable: true,
27
- value: key
28
- });
29
- Object.defineProperty(this, "iv", {
30
- enumerable: true,
31
- configurable: true,
32
- writable: true,
33
- value: iv
34
- });
35
- Object.defineProperty(this, "state", {
36
- enumerable: true,
37
- configurable: true,
38
- writable: true,
39
- value: new Uint8Array(1)
40
- });
35
+ _CTR_key.set(this, void 0);
36
+ _CTR_state.set(this, void 0);
37
+ __classPrivateFieldSet(this, _CTR_state, createCtr256State(iv), "f");
38
+ __classPrivateFieldSet(this, _CTR_key, key, "f");
41
39
  }
40
+ /** This must not be called after destroying. */
42
41
  call(data) {
43
- ctr256(data, this.key, this.iv, this.state);
42
+ ctr256(data, __classPrivateFieldGet(this, _CTR_key, "f"), __classPrivateFieldGet(this, _CTR_state, "f"));
43
+ }
44
+ destroy() {
45
+ destroyCtr256State(__classPrivateFieldGet(this, _CTR_state, "f"));
44
46
  }
45
47
  }
48
+ _CTR_key = new WeakMap(), _CTR_state = new WeakMap();
@@ -0,0 +1,29 @@
1
+ /**
2
+ * MTKruto - Cross-runtime JavaScript library for building Telegram clients
3
+ * Copyright (C) 2023-2024 Roj <https://roj.im/>
4
+ *
5
+ * This file is part of MTKruto.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Lesser General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public License
18
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+ export interface Part {
21
+ small: boolean;
22
+ part: number;
23
+ totalParts: number;
24
+ bytes: Uint8Array;
25
+ }
26
+ export declare class PartStream extends TransformStream<Uint8Array, Part> {
27
+ #private;
28
+ constructor(chunkSize: number);
29
+ }