nodeskini 1.0.0 → 1.0.2

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 (534) hide show
  1. package/blocklySkini/archive/blocklyControleur.js +87 -0
  2. package/blocklySkini/archive/blocklySkini.js +84 -0
  3. package/blocklySkini/archive/blocklyhop.js +75 -0
  4. package/blocklySkini/archive/clientControleurBlocly.js +170 -0
  5. package/blocklySkini/archive/index.html +76 -0
  6. package/blocklySkini/archive/testHHsuspend.txt +89 -0
  7. package/blocklySkini/archive/testHHtrap.txt +262 -0
  8. package/blocklySkini/archive/testOrchestration.txt +177 -0
  9. package/blocklySkini/archive/testOrchestration.xml +447 -0
  10. package/blocklySkini/archive/testOrchestration2.xml +456 -0
  11. package/blocklySkini/blockly/README.md +77 -0
  12. package/blocklySkini/blockly/blockly.d.ts +21480 -0
  13. package/blocklySkini/blockly/blockly.js +25 -0
  14. package/blocklySkini/blockly/blockly.min.js +2188 -0
  15. package/blocklySkini/blockly/blockly_compressed.js +1455 -0
  16. package/blocklySkini/blockly/blockly_compressed.js.map +1 -0
  17. package/blocklySkini/blockly/blocks/colour.js +122 -0
  18. package/blocklySkini/blockly/blocks/lists.js +862 -0
  19. package/blocklySkini/blockly/blocks/logic.js +635 -0
  20. package/blocklySkini/blockly/blocks/loops.js +357 -0
  21. package/blocklySkini/blockly/blocks/math.js +566 -0
  22. package/blocklySkini/blockly/blocks/procedures.js +1072 -0
  23. package/blocklySkini/blockly/blocks/text.js +923 -0
  24. package/blocklySkini/blockly/blocks/variables.js +163 -0
  25. package/blocklySkini/blockly/blocks/variables_dynamic.js +180 -0
  26. package/blocklySkini/blockly/blocks.d.ts +15 -0
  27. package/blocklySkini/blockly/blocks.js +27 -0
  28. package/blocklySkini/blockly/blocks_compressed.js +182 -0
  29. package/blocklySkini/blockly/blocks_compressed.js.map +1 -0
  30. package/blocklySkini/blockly/browser.js +36 -0
  31. package/blocklySkini/blockly/core/block.js +2010 -0
  32. package/blocklySkini/blockly/core/block_animations.js +203 -0
  33. package/blocklySkini/blockly/core/block_drag_surface.js +212 -0
  34. package/blocklySkini/blockly/core/block_dragger.js +378 -0
  35. package/blocklySkini/blockly/core/block_events.js +548 -0
  36. package/blocklySkini/blockly/core/block_svg.js +1763 -0
  37. package/blocklySkini/blockly/core/blockly.js +674 -0
  38. package/blocklySkini/blockly/core/blocks.js +23 -0
  39. package/blocklySkini/blockly/core/bubble.js +880 -0
  40. package/blocklySkini/blockly/core/bubble_dragger.js +274 -0
  41. package/blocklySkini/blockly/core/comment.js +439 -0
  42. package/blocklySkini/blockly/core/components/component.js +554 -0
  43. package/blocklySkini/blockly/core/components/tree/basenode.js +895 -0
  44. package/blocklySkini/blockly/core/components/tree/treecontrol.js +332 -0
  45. package/blocklySkini/blockly/core/components/tree/treenode.js +172 -0
  46. package/blocklySkini/blockly/core/connection.js +682 -0
  47. package/blocklySkini/blockly/core/connection_checker.js +285 -0
  48. package/blocklySkini/blockly/core/connection_db.js +295 -0
  49. package/blocklySkini/blockly/core/constants.js +277 -0
  50. package/blocklySkini/blockly/core/contextmenu.js +307 -0
  51. package/blocklySkini/blockly/core/contextmenu_items.js +534 -0
  52. package/blocklySkini/blockly/core/contextmenu_registry.js +165 -0
  53. package/blocklySkini/blockly/core/css.js +549 -0
  54. package/blocklySkini/blockly/core/dropdowndiv.js +776 -0
  55. package/blocklySkini/blockly/core/events.js +387 -0
  56. package/blocklySkini/blockly/core/events_abstract.js +106 -0
  57. package/blocklySkini/blockly/core/extensions.js +450 -0
  58. package/blocklySkini/blockly/core/field.js +1162 -0
  59. package/blocklySkini/blockly/core/field_angle.js +562 -0
  60. package/blocklySkini/blockly/core/field_checkbox.js +220 -0
  61. package/blocklySkini/blockly/core/field_colour.js +664 -0
  62. package/blocklySkini/blockly/core/field_dropdown.js +760 -0
  63. package/blocklySkini/blockly/core/field_image.js +286 -0
  64. package/blocklySkini/blockly/core/field_label.js +130 -0
  65. package/blocklySkini/blockly/core/field_label_serializable.js +69 -0
  66. package/blocklySkini/blockly/core/field_multilineinput.js +299 -0
  67. package/blocklySkini/blockly/core/field_number.js +317 -0
  68. package/blocklySkini/blockly/core/field_registry.js +66 -0
  69. package/blocklySkini/blockly/core/field_textinput.js +616 -0
  70. package/blocklySkini/blockly/core/field_variable.js +463 -0
  71. package/blocklySkini/blockly/core/flyout_base.js +1071 -0
  72. package/blocklySkini/blockly/core/flyout_button.js +325 -0
  73. package/blocklySkini/blockly/core/flyout_dragger.js +76 -0
  74. package/blocklySkini/blockly/core/flyout_horizontal.js +388 -0
  75. package/blocklySkini/blockly/core/flyout_vertical.js +397 -0
  76. package/blocklySkini/blockly/core/generator.js +482 -0
  77. package/blocklySkini/blockly/core/gesture.js +993 -0
  78. package/blocklySkini/blockly/core/grid.js +222 -0
  79. package/blocklySkini/blockly/core/icon.js +206 -0
  80. package/blocklySkini/blockly/core/inject.js +487 -0
  81. package/blocklySkini/blockly/core/input.js +296 -0
  82. package/blocklySkini/blockly/core/insertion_marker_manager.js +700 -0
  83. package/blocklySkini/blockly/core/interfaces/i_accessibility.js +72 -0
  84. package/blocklySkini/blockly/core/interfaces/i_bounded_element.js +31 -0
  85. package/blocklySkini/blockly/core/interfaces/i_bubble.js +83 -0
  86. package/blocklySkini/blockly/core/interfaces/i_connection_checker.js +94 -0
  87. package/blocklySkini/blockly/core/interfaces/i_contextmenu.js +26 -0
  88. package/blocklySkini/blockly/core/interfaces/i_copyable.js +40 -0
  89. package/blocklySkini/blockly/core/interfaces/i_deletable.js +27 -0
  90. package/blocklySkini/blockly/core/interfaces/i_deletearea.js +28 -0
  91. package/blocklySkini/blockly/core/interfaces/i_flyout.js +178 -0
  92. package/blocklySkini/blockly/core/interfaces/i_movable.js +27 -0
  93. package/blocklySkini/blockly/core/interfaces/i_registrable.js +22 -0
  94. package/blocklySkini/blockly/core/interfaces/i_registrable_field.js +31 -0
  95. package/blocklySkini/blockly/core/interfaces/i_selectable.js +43 -0
  96. package/blocklySkini/blockly/core/interfaces/i_styleable.js +33 -0
  97. package/blocklySkini/blockly/core/interfaces/i_toolbox.js +131 -0
  98. package/blocklySkini/blockly/core/interfaces/i_toolbox_item.js +148 -0
  99. package/blocklySkini/blockly/core/keyboard_nav/action.js +26 -0
  100. package/blocklySkini/blockly/core/keyboard_nav/ast_node.js +684 -0
  101. package/blocklySkini/blockly/core/keyboard_nav/basic_cursor.js +208 -0
  102. package/blocklySkini/blockly/core/keyboard_nav/cursor.js +170 -0
  103. package/blocklySkini/blockly/core/keyboard_nav/flyout_cursor.js +106 -0
  104. package/blocklySkini/blockly/core/keyboard_nav/key_map.js +190 -0
  105. package/blocklySkini/blockly/core/keyboard_nav/marker.js +120 -0
  106. package/blocklySkini/blockly/core/keyboard_nav/navigation.js +1084 -0
  107. package/blocklySkini/blockly/core/keyboard_nav/tab_navigate_cursor.js +48 -0
  108. package/blocklySkini/blockly/core/marker_manager.js +183 -0
  109. package/blocklySkini/blockly/core/menu.js +465 -0
  110. package/blocklySkini/blockly/core/menuitem.js +280 -0
  111. package/blocklySkini/blockly/core/msg.js +31 -0
  112. package/blocklySkini/blockly/core/mutator.js +555 -0
  113. package/blocklySkini/blockly/core/names.js +186 -0
  114. package/blocklySkini/blockly/core/options.js +365 -0
  115. package/blocklySkini/blockly/core/procedures.js +404 -0
  116. package/blocklySkini/blockly/core/registry.js +265 -0
  117. package/blocklySkini/blockly/core/rendered_connection.js +565 -0
  118. package/blocklySkini/blockly/core/renderers/common/block_rendering.js +81 -0
  119. package/blocklySkini/blockly/core/renderers/common/constants.js +1256 -0
  120. package/blocklySkini/blockly/core/renderers/common/debugger.js +431 -0
  121. package/blocklySkini/blockly/core/renderers/common/drawer.js +468 -0
  122. package/blocklySkini/blockly/core/renderers/common/i_path_object.js +151 -0
  123. package/blocklySkini/blockly/core/renderers/common/info.js +775 -0
  124. package/blocklySkini/blockly/core/renderers/common/marker_svg.js +687 -0
  125. package/blocklySkini/blockly/core/renderers/common/path_object.js +279 -0
  126. package/blocklySkini/blockly/core/renderers/common/renderer.js +301 -0
  127. package/blocklySkini/blockly/core/renderers/geras/constants.js +64 -0
  128. package/blocklySkini/blockly/core/renderers/geras/drawer.js +205 -0
  129. package/blocklySkini/blockly/core/renderers/geras/highlight_constants.js +311 -0
  130. package/blocklySkini/blockly/core/renderers/geras/highlighter.js +256 -0
  131. package/blocklySkini/blockly/core/renderers/geras/info.js +483 -0
  132. package/blocklySkini/blockly/core/renderers/geras/measurables/inputs.js +67 -0
  133. package/blocklySkini/blockly/core/renderers/geras/path_object.js +177 -0
  134. package/blocklySkini/blockly/core/renderers/geras/renderer.js +138 -0
  135. package/blocklySkini/blockly/core/renderers/measurables/base.js +44 -0
  136. package/blocklySkini/blockly/core/renderers/measurables/connections.js +114 -0
  137. package/blocklySkini/blockly/core/renderers/measurables/inputs.js +160 -0
  138. package/blocklySkini/blockly/core/renderers/measurables/row_elements.js +185 -0
  139. package/blocklySkini/blockly/core/renderers/measurables/rows.js +532 -0
  140. package/blocklySkini/blockly/core/renderers/measurables/types.js +349 -0
  141. package/blocklySkini/blockly/core/renderers/minimalist/constants.js +29 -0
  142. package/blocklySkini/blockly/core/renderers/minimalist/drawer.js +32 -0
  143. package/blocklySkini/blockly/core/renderers/minimalist/info.js +45 -0
  144. package/blocklySkini/blockly/core/renderers/minimalist/renderer.js +70 -0
  145. package/blocklySkini/blockly/core/renderers/thrasos/info.js +338 -0
  146. package/blocklySkini/blockly/core/renderers/thrasos/renderer.js +45 -0
  147. package/blocklySkini/blockly/core/renderers/zelos/constants.js +1002 -0
  148. package/blocklySkini/blockly/core/renderers/zelos/drawer.js +233 -0
  149. package/blocklySkini/blockly/core/renderers/zelos/info.js +587 -0
  150. package/blocklySkini/blockly/core/renderers/zelos/marker_svg.js +148 -0
  151. package/blocklySkini/blockly/core/renderers/zelos/measurables/inputs.js +47 -0
  152. package/blocklySkini/blockly/core/renderers/zelos/measurables/row_elements.js +37 -0
  153. package/blocklySkini/blockly/core/renderers/zelos/measurables/rows.js +108 -0
  154. package/blocklySkini/blockly/core/renderers/zelos/path_object.js +244 -0
  155. package/blocklySkini/blockly/core/renderers/zelos/renderer.js +130 -0
  156. package/blocklySkini/blockly/core/requires.js +84 -0
  157. package/blocklySkini/blockly/core/scrollbar.js +880 -0
  158. package/blocklySkini/blockly/core/theme/classic.js +87 -0
  159. package/blocklySkini/blockly/core/theme/dark.js +33 -0
  160. package/blocklySkini/blockly/core/theme/deuteranopia.js +104 -0
  161. package/blocklySkini/blockly/core/theme/highcontrast.js +119 -0
  162. package/blocklySkini/blockly/core/theme/modern.js +108 -0
  163. package/blocklySkini/blockly/core/theme/tritanopia.js +103 -0
  164. package/blocklySkini/blockly/core/theme/zelos.js +106 -0
  165. package/blocklySkini/blockly/core/theme.js +236 -0
  166. package/blocklySkini/blockly/core/theme_manager.js +197 -0
  167. package/blocklySkini/blockly/core/toolbox/category.js +690 -0
  168. package/blocklySkini/blockly/core/toolbox/collapsible_category.js +294 -0
  169. package/blocklySkini/blockly/core/toolbox/separator.js +123 -0
  170. package/blocklySkini/blockly/core/toolbox/toolbox.js +984 -0
  171. package/blocklySkini/blockly/core/toolbox/toolbox_item.js +145 -0
  172. package/blocklySkini/blockly/core/toolbox.js +943 -0
  173. package/blocklySkini/blockly/core/tooltip.js +387 -0
  174. package/blocklySkini/blockly/core/touch.js +255 -0
  175. package/blocklySkini/blockly/core/touch_gesture.js +325 -0
  176. package/blocklySkini/blockly/core/trashcan.js +661 -0
  177. package/blocklySkini/blockly/core/ui_events.js +85 -0
  178. package/blocklySkini/blockly/core/utils/aria.js +167 -0
  179. package/blocklySkini/blockly/core/utils/colour.js +208 -0
  180. package/blocklySkini/blockly/core/utils/coordinate.js +125 -0
  181. package/blocklySkini/blockly/core/utils/deprecation.js +34 -0
  182. package/blocklySkini/blockly/core/utils/dom.js +391 -0
  183. package/blocklySkini/blockly/core/utils/global.js +37 -0
  184. package/blocklySkini/blockly/core/utils/idgenerator.js +33 -0
  185. package/blocklySkini/blockly/core/utils/keycodes.js +164 -0
  186. package/blocklySkini/blockly/core/utils/math.js +56 -0
  187. package/blocklySkini/blockly/core/utils/metrics.js +124 -0
  188. package/blocklySkini/blockly/core/utils/object.js +73 -0
  189. package/blocklySkini/blockly/core/utils/rect.js +54 -0
  190. package/blocklySkini/blockly/core/utils/size.js +58 -0
  191. package/blocklySkini/blockly/core/utils/string.js +284 -0
  192. package/blocklySkini/blockly/core/utils/style.js +281 -0
  193. package/blocklySkini/blockly/core/utils/svg.js +181 -0
  194. package/blocklySkini/blockly/core/utils/svg_paths.js +142 -0
  195. package/blocklySkini/blockly/core/utils/toolbox.js +401 -0
  196. package/blocklySkini/blockly/core/utils/useragent.js +110 -0
  197. package/blocklySkini/blockly/core/utils/xml.js +79 -0
  198. package/blocklySkini/blockly/core/utils.js +652 -0
  199. package/blocklySkini/blockly/core/variable_events.js +248 -0
  200. package/blocklySkini/blockly/core/variable_map.js +414 -0
  201. package/blocklySkini/blockly/core/variable_model.js +95 -0
  202. package/blocklySkini/blockly/core/variables.js +571 -0
  203. package/blocklySkini/blockly/core/variables_dynamic.js +100 -0
  204. package/blocklySkini/blockly/core/warning.js +200 -0
  205. package/blocklySkini/blockly/core/widgetdiv.js +241 -0
  206. package/blocklySkini/blockly/core/workspace.js +786 -0
  207. package/blocklySkini/blockly/core/workspace_audio.js +153 -0
  208. package/blocklySkini/blockly/core/workspace_comment.js +373 -0
  209. package/blocklySkini/blockly/core/workspace_comment_render_svg.js +461 -0
  210. package/blocklySkini/blockly/core/workspace_comment_svg.js +701 -0
  211. package/blocklySkini/blockly/core/workspace_drag_surface_svg.js +176 -0
  212. package/blocklySkini/blockly/core/workspace_dragger.js +85 -0
  213. package/blocklySkini/blockly/core/workspace_events.js +93 -0
  214. package/blocklySkini/blockly/core/workspace_svg.js +2661 -0
  215. package/blocklySkini/blockly/core/ws_comment_events.js +417 -0
  216. package/blocklySkini/blockly/core/xml.js +827 -0
  217. package/blocklySkini/blockly/core/zoom_controls.js +449 -0
  218. package/blocklySkini/blockly/core-browser.js +34 -0
  219. package/blocklySkini/blockly/core.d.ts +15 -0
  220. package/blocklySkini/blockly/core.js +38 -0
  221. package/blocklySkini/blockly/dart.d.ts +15 -0
  222. package/blocklySkini/blockly/dart.js +27 -0
  223. package/blocklySkini/blockly/dart_compressed.js +114 -0
  224. package/blocklySkini/blockly/dart_compressed.js.map +1 -0
  225. package/blocklySkini/blockly/generators/dart/colour.js +114 -0
  226. package/blocklySkini/blockly/generators/dart/lists.js +447 -0
  227. package/blocklySkini/blockly/generators/dart/logic.js +127 -0
  228. package/blocklySkini/blockly/generators/dart/loops.js +169 -0
  229. package/blocklySkini/blockly/generators/dart/math.js +485 -0
  230. package/blocklySkini/blockly/generators/dart/procedures.js +111 -0
  231. package/blocklySkini/blockly/generators/dart/text.js +339 -0
  232. package/blocklySkini/blockly/generators/dart/variables.js +32 -0
  233. package/blocklySkini/blockly/generators/dart/variables_dynamic.js +21 -0
  234. package/blocklySkini/blockly/generators/dart.js +290 -0
  235. package/blocklySkini/blockly/generators/javascript/colour.js +89 -0
  236. package/blocklySkini/blockly/generators/javascript/lists.js +388 -0
  237. package/blocklySkini/blockly/generators/javascript/logic.js +129 -0
  238. package/blocklySkini/blockly/generators/javascript/loops.js +184 -0
  239. package/blocklySkini/blockly/generators/javascript/math.js +409 -0
  240. package/blocklySkini/blockly/generators/javascript/procedures.js +113 -0
  241. package/blocklySkini/blockly/generators/javascript/text.js +367 -0
  242. package/blocklySkini/blockly/generators/javascript/variables.js +32 -0
  243. package/blocklySkini/blockly/generators/javascript/variables_dynamic.js +23 -0
  244. package/blocklySkini/blockly/generators/javascript.js +317 -0
  245. package/blocklySkini/blockly/generators/lua/colour.js +76 -0
  246. package/blocklySkini/blockly/generators/lua/lists.js +368 -0
  247. package/blocklySkini/blockly/generators/lua/logic.js +127 -0
  248. package/blocklySkini/blockly/generators/lua/loops.js +173 -0
  249. package/blocklySkini/blockly/generators/lua/math.js +423 -0
  250. package/blocklySkini/blockly/generators/lua/procedures.js +113 -0
  251. package/blocklySkini/blockly/generators/lua/text.js +353 -0
  252. package/blocklySkini/blockly/generators/lua/variables.js +32 -0
  253. package/blocklySkini/blockly/generators/lua/variables_dynamic.js +21 -0
  254. package/blocklySkini/blockly/generators/lua.js +198 -0
  255. package/blocklySkini/blockly/generators/php/colour.js +91 -0
  256. package/blocklySkini/blockly/generators/php/lists.js +498 -0
  257. package/blocklySkini/blockly/generators/php/logic.js +128 -0
  258. package/blocklySkini/blockly/generators/php/loops.js +170 -0
  259. package/blocklySkini/blockly/generators/php/math.js +370 -0
  260. package/blocklySkini/blockly/generators/php/procedures.js +132 -0
  261. package/blocklySkini/blockly/generators/php/text.js +271 -0
  262. package/blocklySkini/blockly/generators/php/variables.js +32 -0
  263. package/blocklySkini/blockly/generators/php/variables_dynamic.js +21 -0
  264. package/blocklySkini/blockly/generators/php.js +318 -0
  265. package/blocklySkini/blockly/generators/python/colour.js +72 -0
  266. package/blocklySkini/blockly/generators/python/lists.js +349 -0
  267. package/blocklySkini/blockly/generators/python/logic.js +127 -0
  268. package/blocklySkini/blockly/generators/python/loops.js +214 -0
  269. package/blocklySkini/blockly/generators/python/math.js +385 -0
  270. package/blocklySkini/blockly/generators/python/procedures.js +134 -0
  271. package/blocklySkini/blockly/generators/python/text.js +293 -0
  272. package/blocklySkini/blockly/generators/python/variables.js +32 -0
  273. package/blocklySkini/blockly/generators/python/variables_dynamic.js +21 -0
  274. package/blocklySkini/blockly/generators/python.js +322 -0
  275. package/blocklySkini/blockly/index.d.ts +22 -0
  276. package/blocklySkini/blockly/index.js +24 -0
  277. package/blocklySkini/blockly/javascript.d.ts +15 -0
  278. package/blocklySkini/blockly/javascript.js +27 -0
  279. package/blocklySkini/blockly/javascript_compressed.js +115 -0
  280. package/blocklySkini/blockly/javascript_compressed.js.map +1 -0
  281. package/blocklySkini/blockly/lua.d.ts +15 -0
  282. package/blocklySkini/blockly/lua.js +27 -0
  283. package/blocklySkini/blockly/lua_compressed.js +94 -0
  284. package/blocklySkini/blockly/lua_compressed.js.map +1 -0
  285. package/blocklySkini/blockly/media/1x1.gif +0 -0
  286. package/blocklySkini/blockly/media/click.mp3 +0 -0
  287. package/blocklySkini/blockly/media/click.ogg +0 -0
  288. package/blocklySkini/blockly/media/click.wav +0 -0
  289. package/blocklySkini/blockly/media/delete.mp3 +0 -0
  290. package/blocklySkini/blockly/media/delete.ogg +0 -0
  291. package/blocklySkini/blockly/media/delete.wav +0 -0
  292. package/blocklySkini/blockly/media/disconnect.mp3 +0 -0
  293. package/blocklySkini/blockly/media/disconnect.ogg +0 -0
  294. package/blocklySkini/blockly/media/disconnect.wav +0 -0
  295. package/blocklySkini/blockly/media/dropdown-arrow.svg +1 -0
  296. package/blocklySkini/blockly/media/handclosed.cur +0 -0
  297. package/blocklySkini/blockly/media/handdelete.cur +0 -0
  298. package/blocklySkini/blockly/media/handopen.cur +0 -0
  299. package/blocklySkini/blockly/media/pilcrow.png +0 -0
  300. package/blocklySkini/blockly/media/quote0.png +0 -0
  301. package/blocklySkini/blockly/media/quote1.png +0 -0
  302. package/blocklySkini/blockly/media/sprites.png +0 -0
  303. package/blocklySkini/blockly/media/sprites.svg +74 -0
  304. package/blocklySkini/blockly/msg/ab.d.ts +16 -0
  305. package/blocklySkini/blockly/msg/ab.js +447 -0
  306. package/blocklySkini/blockly/msg/ar.d.ts +16 -0
  307. package/blocklySkini/blockly/msg/ar.js +447 -0
  308. package/blocklySkini/blockly/msg/az.d.ts +16 -0
  309. package/blocklySkini/blockly/msg/az.js +447 -0
  310. package/blocklySkini/blockly/msg/ba.d.ts +16 -0
  311. package/blocklySkini/blockly/msg/ba.js +447 -0
  312. package/blocklySkini/blockly/msg/bcc.d.ts +16 -0
  313. package/blocklySkini/blockly/msg/bcc.js +447 -0
  314. package/blocklySkini/blockly/msg/be-tarask.d.ts +16 -0
  315. package/blocklySkini/blockly/msg/be-tarask.js +447 -0
  316. package/blocklySkini/blockly/msg/be.d.ts +16 -0
  317. package/blocklySkini/blockly/msg/be.js +447 -0
  318. package/blocklySkini/blockly/msg/bg.d.ts +16 -0
  319. package/blocklySkini/blockly/msg/bg.js +447 -0
  320. package/blocklySkini/blockly/msg/bn.d.ts +16 -0
  321. package/blocklySkini/blockly/msg/bn.js +447 -0
  322. package/blocklySkini/blockly/msg/br.d.ts +16 -0
  323. package/blocklySkini/blockly/msg/br.js +447 -0
  324. package/blocklySkini/blockly/msg/ca.d.ts +16 -0
  325. package/blocklySkini/blockly/msg/ca.js +447 -0
  326. package/blocklySkini/blockly/msg/constants.d.ts +16 -0
  327. package/blocklySkini/blockly/msg/cs.d.ts +16 -0
  328. package/blocklySkini/blockly/msg/cs.js +447 -0
  329. package/blocklySkini/blockly/msg/da.d.ts +16 -0
  330. package/blocklySkini/blockly/msg/da.js +447 -0
  331. package/blocklySkini/blockly/msg/de.d.ts +16 -0
  332. package/blocklySkini/blockly/msg/de.js +447 -0
  333. package/blocklySkini/blockly/msg/diq.d.ts +16 -0
  334. package/blocklySkini/blockly/msg/diq.js +447 -0
  335. package/blocklySkini/blockly/msg/dty.d.ts +16 -0
  336. package/blocklySkini/blockly/msg/dty.js +447 -0
  337. package/blocklySkini/blockly/msg/ee.d.ts +16 -0
  338. package/blocklySkini/blockly/msg/ee.js +447 -0
  339. package/blocklySkini/blockly/msg/el.d.ts +16 -0
  340. package/blocklySkini/blockly/msg/el.js +447 -0
  341. package/blocklySkini/blockly/msg/en-gb.d.ts +16 -0
  342. package/blocklySkini/blockly/msg/en-gb.js +447 -0
  343. package/blocklySkini/blockly/msg/en.d.ts +16 -0
  344. package/blocklySkini/blockly/msg/en.js +447 -0
  345. package/blocklySkini/blockly/msg/eo.d.ts +16 -0
  346. package/blocklySkini/blockly/msg/eo.js +447 -0
  347. package/blocklySkini/blockly/msg/es.d.ts +16 -0
  348. package/blocklySkini/blockly/msg/es.js +447 -0
  349. package/blocklySkini/blockly/msg/et.d.ts +16 -0
  350. package/blocklySkini/blockly/msg/et.js +447 -0
  351. package/blocklySkini/blockly/msg/eu.d.ts +16 -0
  352. package/blocklySkini/blockly/msg/eu.js +447 -0
  353. package/blocklySkini/blockly/msg/fa.d.ts +16 -0
  354. package/blocklySkini/blockly/msg/fa.js +447 -0
  355. package/blocklySkini/blockly/msg/fi.d.ts +16 -0
  356. package/blocklySkini/blockly/msg/fi.js +447 -0
  357. package/blocklySkini/blockly/msg/fr.d.ts +16 -0
  358. package/blocklySkini/blockly/msg/fr.js +447 -0
  359. package/blocklySkini/blockly/msg/gl.d.ts +16 -0
  360. package/blocklySkini/blockly/msg/gl.js +447 -0
  361. package/blocklySkini/blockly/msg/gor.d.ts +16 -0
  362. package/blocklySkini/blockly/msg/gor.js +447 -0
  363. package/blocklySkini/blockly/msg/ha.d.ts +16 -0
  364. package/blocklySkini/blockly/msg/ha.js +447 -0
  365. package/blocklySkini/blockly/msg/he.d.ts +16 -0
  366. package/blocklySkini/blockly/msg/he.js +447 -0
  367. package/blocklySkini/blockly/msg/hi.d.ts +16 -0
  368. package/blocklySkini/blockly/msg/hi.js +447 -0
  369. package/blocklySkini/blockly/msg/hrx.d.ts +16 -0
  370. package/blocklySkini/blockly/msg/hrx.js +447 -0
  371. package/blocklySkini/blockly/msg/hu.d.ts +16 -0
  372. package/blocklySkini/blockly/msg/hu.js +447 -0
  373. package/blocklySkini/blockly/msg/hy.d.ts +16 -0
  374. package/blocklySkini/blockly/msg/hy.js +447 -0
  375. package/blocklySkini/blockly/msg/ia.d.ts +16 -0
  376. package/blocklySkini/blockly/msg/ia.js +447 -0
  377. package/blocklySkini/blockly/msg/id.d.ts +16 -0
  378. package/blocklySkini/blockly/msg/id.js +447 -0
  379. package/blocklySkini/blockly/msg/ig.d.ts +16 -0
  380. package/blocklySkini/blockly/msg/ig.js +447 -0
  381. package/blocklySkini/blockly/msg/is.d.ts +16 -0
  382. package/blocklySkini/blockly/msg/is.js +447 -0
  383. package/blocklySkini/blockly/msg/it.d.ts +16 -0
  384. package/blocklySkini/blockly/msg/it.js +447 -0
  385. package/blocklySkini/blockly/msg/ja.d.ts +16 -0
  386. package/blocklySkini/blockly/msg/ja.js +447 -0
  387. package/blocklySkini/blockly/msg/kab.d.ts +16 -0
  388. package/blocklySkini/blockly/msg/kab.js +447 -0
  389. package/blocklySkini/blockly/msg/kn.d.ts +16 -0
  390. package/blocklySkini/blockly/msg/kn.js +447 -0
  391. package/blocklySkini/blockly/msg/ko.d.ts +16 -0
  392. package/blocklySkini/blockly/msg/ko.js +447 -0
  393. package/blocklySkini/blockly/msg/lb.d.ts +16 -0
  394. package/blocklySkini/blockly/msg/lb.js +447 -0
  395. package/blocklySkini/blockly/msg/lki.d.ts +16 -0
  396. package/blocklySkini/blockly/msg/lki.js +447 -0
  397. package/blocklySkini/blockly/msg/lo.d.ts +16 -0
  398. package/blocklySkini/blockly/msg/lo.js +447 -0
  399. package/blocklySkini/blockly/msg/lrc.d.ts +16 -0
  400. package/blocklySkini/blockly/msg/lrc.js +447 -0
  401. package/blocklySkini/blockly/msg/lt.d.ts +16 -0
  402. package/blocklySkini/blockly/msg/lt.js +447 -0
  403. package/blocklySkini/blockly/msg/lv.d.ts +16 -0
  404. package/blocklySkini/blockly/msg/lv.js +447 -0
  405. package/blocklySkini/blockly/msg/mk.d.ts +16 -0
  406. package/blocklySkini/blockly/msg/mk.js +447 -0
  407. package/blocklySkini/blockly/msg/mnw.d.ts +16 -0
  408. package/blocklySkini/blockly/msg/mnw.js +447 -0
  409. package/blocklySkini/blockly/msg/ms.d.ts +16 -0
  410. package/blocklySkini/blockly/msg/ms.js +447 -0
  411. package/blocklySkini/blockly/msg/msg.d.ts +444 -0
  412. package/blocklySkini/blockly/msg/nb.d.ts +16 -0
  413. package/blocklySkini/blockly/msg/nb.js +447 -0
  414. package/blocklySkini/blockly/msg/nl.d.ts +16 -0
  415. package/blocklySkini/blockly/msg/nl.js +447 -0
  416. package/blocklySkini/blockly/msg/oc.d.ts +16 -0
  417. package/blocklySkini/blockly/msg/oc.js +447 -0
  418. package/blocklySkini/blockly/msg/pl.d.ts +16 -0
  419. package/blocklySkini/blockly/msg/pl.js +447 -0
  420. package/blocklySkini/blockly/msg/pms.d.ts +16 -0
  421. package/blocklySkini/blockly/msg/pms.js +447 -0
  422. package/blocklySkini/blockly/msg/pt-br.d.ts +16 -0
  423. package/blocklySkini/blockly/msg/pt-br.js +447 -0
  424. package/blocklySkini/blockly/msg/pt.d.ts +16 -0
  425. package/blocklySkini/blockly/msg/pt.js +447 -0
  426. package/blocklySkini/blockly/msg/qqq.d.ts +16 -0
  427. package/blocklySkini/blockly/msg/ro.d.ts +16 -0
  428. package/blocklySkini/blockly/msg/ro.js +447 -0
  429. package/blocklySkini/blockly/msg/ru.d.ts +16 -0
  430. package/blocklySkini/blockly/msg/ru.js +447 -0
  431. package/blocklySkini/blockly/msg/sc.d.ts +16 -0
  432. package/blocklySkini/blockly/msg/sc.js +447 -0
  433. package/blocklySkini/blockly/msg/sd.d.ts +16 -0
  434. package/blocklySkini/blockly/msg/sd.js +447 -0
  435. package/blocklySkini/blockly/msg/shn.d.ts +16 -0
  436. package/blocklySkini/blockly/msg/shn.js +447 -0
  437. package/blocklySkini/blockly/msg/sk.d.ts +16 -0
  438. package/blocklySkini/blockly/msg/sk.js +447 -0
  439. package/blocklySkini/blockly/msg/skr-arab.d.ts +16 -0
  440. package/blocklySkini/blockly/msg/skr-arab.js +447 -0
  441. package/blocklySkini/blockly/msg/sl.d.ts +16 -0
  442. package/blocklySkini/blockly/msg/sl.js +447 -0
  443. package/blocklySkini/blockly/msg/sq.d.ts +16 -0
  444. package/blocklySkini/blockly/msg/sq.js +447 -0
  445. package/blocklySkini/blockly/msg/sr-latn.d.ts +16 -0
  446. package/blocklySkini/blockly/msg/sr-latn.js +447 -0
  447. package/blocklySkini/blockly/msg/sr.d.ts +16 -0
  448. package/blocklySkini/blockly/msg/sr.js +447 -0
  449. package/blocklySkini/blockly/msg/sv.d.ts +16 -0
  450. package/blocklySkini/blockly/msg/sv.js +447 -0
  451. package/blocklySkini/blockly/msg/synonyms.d.ts +16 -0
  452. package/blocklySkini/blockly/msg/ta.d.ts +16 -0
  453. package/blocklySkini/blockly/msg/ta.js +447 -0
  454. package/blocklySkini/blockly/msg/tcy.d.ts +16 -0
  455. package/blocklySkini/blockly/msg/tcy.js +447 -0
  456. package/blocklySkini/blockly/msg/te.d.ts +16 -0
  457. package/blocklySkini/blockly/msg/te.js +447 -0
  458. package/blocklySkini/blockly/msg/th.d.ts +16 -0
  459. package/blocklySkini/blockly/msg/th.js +447 -0
  460. package/blocklySkini/blockly/msg/tl.d.ts +16 -0
  461. package/blocklySkini/blockly/msg/tl.js +447 -0
  462. package/blocklySkini/blockly/msg/tlh.d.ts +16 -0
  463. package/blocklySkini/blockly/msg/tlh.js +447 -0
  464. package/blocklySkini/blockly/msg/tr.d.ts +16 -0
  465. package/blocklySkini/blockly/msg/tr.js +447 -0
  466. package/blocklySkini/blockly/msg/ug-arab.d.ts +16 -0
  467. package/blocklySkini/blockly/msg/ug-arab.js +447 -0
  468. package/blocklySkini/blockly/msg/uk.d.ts +16 -0
  469. package/blocklySkini/blockly/msg/uk.js +447 -0
  470. package/blocklySkini/blockly/msg/ur.d.ts +16 -0
  471. package/blocklySkini/blockly/msg/ur.js +447 -0
  472. package/blocklySkini/blockly/msg/vi.d.ts +16 -0
  473. package/blocklySkini/blockly/msg/vi.js +447 -0
  474. package/blocklySkini/blockly/msg/xmf.d.ts +16 -0
  475. package/blocklySkini/blockly/msg/xmf.js +447 -0
  476. package/blocklySkini/blockly/msg/yo.d.ts +16 -0
  477. package/blocklySkini/blockly/msg/yo.js +447 -0
  478. package/blocklySkini/blockly/msg/zh-hans.d.ts +16 -0
  479. package/blocklySkini/blockly/msg/zh-hans.js +447 -0
  480. package/blocklySkini/blockly/msg/zh-hant.d.ts +16 -0
  481. package/blocklySkini/blockly/msg/zh-hant.js +447 -0
  482. package/blocklySkini/blockly/node.js +35 -0
  483. package/blocklySkini/blockly/package.json +84 -0
  484. package/blocklySkini/blockly/php.d.ts +15 -0
  485. package/blocklySkini/blockly/php.js +27 -0
  486. package/blocklySkini/blockly/php_compressed.js +103 -0
  487. package/blocklySkini/blockly/php_compressed.js.map +1 -0
  488. package/blocklySkini/blockly/python.d.ts +15 -0
  489. package/blocklySkini/blockly/python.js +27 -0
  490. package/blocklySkini/blockly/python_compressed.js +98 -0
  491. package/blocklySkini/blockly/python_compressed.js.map +1 -0
  492. package/blocklySkini/blocklySkini.html +81 -0
  493. package/blocklySkini/orchestrations/.xml +1 -0
  494. package/blocklySkini/orchestrations/BluesSkini-1.xml +231 -0
  495. package/blocklySkini/orchestrations/BluesSkini-2.xml +741 -0
  496. package/blocklySkini/orchestrations/BluesSkini-3.xml +731 -0
  497. package/blocklySkini/orchestrations/BluesSkini-4.xml +695 -0
  498. package/blocklySkini/orchestrations/BluesSkini-5.xml +731 -0
  499. package/blocklySkini/orchestrations/BluesSkini.xml +704 -0
  500. package/blocklySkini/orchestrations/FunkBitwig-1.xml +778 -0
  501. package/blocklySkini/orchestrations/FunkBitwig-2.xml +471 -0
  502. package/blocklySkini/orchestrations/JouerLeBonInstrument1-1.xml +784 -0
  503. package/blocklySkini/orchestrations/MajeurMineur-1.xml +638 -0
  504. package/blocklySkini/orchestrations/Opus5-3 - Copie.xml +1041 -0
  505. package/blocklySkini/orchestrations/Opus5-3.xml +1128 -0
  506. package/blocklySkini/orchestrations/Quatuor1-1.xml +357 -0
  507. package/blocklySkini/orchestrations/TechnoBitwig-1.xml +221 -0
  508. package/blocklySkini/orchestrations/TestBlockly.xml +497 -0
  509. package/blocklySkini/orchestrations/TestBlockly1.xml +500 -0
  510. package/blocklySkini/orchestrations/TestBlockly2.xml +792 -0
  511. package/blocklySkini/orchestrations/TestBlockly3-1.xml +1182 -0
  512. package/blocklySkini/orchestrations/TestBlockly3.xml +1251 -0
  513. package/blocklySkini/orchestrations/TestFunction.xml +143 -0
  514. package/blocklySkini/orchestrations/TestIf.xml +80 -0
  515. package/blocklySkini/orchestrations/TestLoop.xml +127 -0
  516. package/blocklySkini/orchestrations/TestOrchestration2.xml +460 -0
  517. package/blocklySkini/orchestrations/TestPrint.xml +70 -0
  518. package/blocklySkini/orchestrations/TestSubMod.xml +81 -0
  519. package/blocklySkini/orchestrations/Testlogic.xml +113 -0
  520. package/blocklySkini/orchestrations/TrouveLaPercu-1.xml +813 -0
  521. package/blocklySkini/orchestrations/TrouveLaPercu-2.xml +813 -0
  522. package/blocklySkini/orchestrations/bar.xml +496 -0
  523. package/blocklySkini/orchestrations/bar2.xml +496 -0
  524. package/blocklySkini/orchestrations/foo.xml +500 -0
  525. package/blocklySkini/orchestrations/opus5Blockly - Copie.xml +496 -0
  526. package/blocklySkini/orchestrations/opus5Blockly-3.xml +868 -0
  527. package/blocklySkini/orchestrations/opus5Blockly.xml +496 -0
  528. package/blocklySkini/orchestrations/testOrchestration3.xml +483 -0
  529. package/blocklySkini/orchestrations/testOrchestration4.xml +487 -0
  530. package/blocklySkini/scripts/hiphop_blocks.js +6104 -0
  531. package/blocklySkini/scripts/main2.js +801 -0
  532. package/blocklySkini/styles/index.css +320 -0
  533. package/blocklySkini/styles/material.css +11552 -0
  534. package/package.json +4 -3
@@ -0,0 +1,182 @@
1
+ // Do not edit this file; automatically generated by gulp.
2
+
3
+ /* eslint-disable */
4
+ ;(function(root, factory) {
5
+ if (typeof define === 'function' && define.amd) { // AMD
6
+ define(['./blockly_compressed.js'], factory);
7
+ } else if (typeof exports === 'object') { // Node.js
8
+ module.exports = factory(require('./blockly_compressed.js'));
9
+ } else { // Browser
10
+ root.Blockly.Blocks = factory(root.Blockly);
11
+ }
12
+ }(this, function(Blockly) {
13
+ 'use strict';Blockly.Blocks.colour={};Blockly.Constants={};Blockly.Constants.Colour={};Blockly.Constants.Colour.HUE=20;
14
+ Blockly.defineBlocksWithJsonArray([{type:"colour_picker",message0:"%1",args0:[{type:"field_colour",name:"COLOUR",colour:"#ff0000"}],output:"Colour",helpUrl:"%{BKY_COLOUR_PICKER_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_PICKER_TOOLTIP}",extensions:["parent_tooltip_when_inline"]},{type:"colour_random",message0:"%{BKY_COLOUR_RANDOM_TITLE}",output:"Colour",helpUrl:"%{BKY_COLOUR_RANDOM_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RANDOM_TOOLTIP}"},{type:"colour_rgb",message0:"%{BKY_COLOUR_RGB_TITLE} %{BKY_COLOUR_RGB_RED} %1 %{BKY_COLOUR_RGB_GREEN} %2 %{BKY_COLOUR_RGB_BLUE} %3",
15
+ args0:[{type:"input_value",name:"RED",check:"Number",align:"RIGHT"},{type:"input_value",name:"GREEN",check:"Number",align:"RIGHT"},{type:"input_value",name:"BLUE",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_RGB_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RGB_TOOLTIP}"},{type:"colour_blend",message0:"%{BKY_COLOUR_BLEND_TITLE} %{BKY_COLOUR_BLEND_COLOUR1} %1 %{BKY_COLOUR_BLEND_COLOUR2} %2 %{BKY_COLOUR_BLEND_RATIO} %3",args0:[{type:"input_value",name:"COLOUR1",check:"Colour",
16
+ align:"RIGHT"},{type:"input_value",name:"COLOUR2",check:"Colour",align:"RIGHT"},{type:"input_value",name:"RATIO",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_BLEND_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_BLEND_TOOLTIP}"}]);Blockly.Blocks.lists={};Blockly.Constants.Lists={};Blockly.Constants.Lists.HUE=260;
17
+ Blockly.defineBlocksWithJsonArray([{type:"lists_create_empty",message0:"%{BKY_LISTS_CREATE_EMPTY_TITLE}",output:"Array",style:"list_blocks",tooltip:"%{BKY_LISTS_CREATE_EMPTY_TOOLTIP}",helpUrl:"%{BKY_LISTS_CREATE_EMPTY_HELPURL}"},{type:"lists_repeat",message0:"%{BKY_LISTS_REPEAT_TITLE}",args0:[{type:"input_value",name:"ITEM"},{type:"input_value",name:"NUM",check:"Number"}],output:"Array",style:"list_blocks",tooltip:"%{BKY_LISTS_REPEAT_TOOLTIP}",helpUrl:"%{BKY_LISTS_REPEAT_HELPURL}"},{type:"lists_reverse",
18
+ message0:"%{BKY_LISTS_REVERSE_MESSAGE0}",args0:[{type:"input_value",name:"LIST",check:"Array"}],output:"Array",inputsInline:!0,style:"list_blocks",tooltip:"%{BKY_LISTS_REVERSE_TOOLTIP}",helpUrl:"%{BKY_LISTS_REVERSE_HELPURL}"},{type:"lists_isEmpty",message0:"%{BKY_LISTS_ISEMPTY_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Boolean",style:"list_blocks",tooltip:"%{BKY_LISTS_ISEMPTY_TOOLTIP}",helpUrl:"%{BKY_LISTS_ISEMPTY_HELPURL}"},{type:"lists_length",message0:"%{BKY_LISTS_LENGTH_TITLE}",
19
+ args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Number",style:"list_blocks",tooltip:"%{BKY_LISTS_LENGTH_TOOLTIP}",helpUrl:"%{BKY_LISTS_LENGTH_HELPURL}"}]);
20
+ Blockly.Blocks.lists_create_with={init:function(){this.setHelpUrl(Blockly.Msg.LISTS_CREATE_WITH_HELPURL);this.setStyle("list_blocks");this.itemCount_=3;this.updateShape_();this.setOutput(!0,"Array");this.setMutator(new Blockly.Mutator(["lists_create_with_item"]));this.setTooltip(Blockly.Msg.LISTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var a=Blockly.utils.xml.createElement("mutation");a.setAttribute("items",this.itemCount_);return a},domToMutation:function(a){this.itemCount_=parseInt(a.getAttribute("items"),
21
+ 10);this.updateShape_()},decompose:function(a){var b=a.newBlock("lists_create_with_container");b.initSvg();for(var c=b.getInput("STACK").connection,d=0;d<this.itemCount_;d++){var e=a.newBlock("lists_create_with_item");e.initSvg();c.connect(e.previousConnection);c=e.nextConnection}return b},compose:function(a){var b=a.getInputTargetBlock("STACK");for(a=[];b;)a.push(b.valueConnection_),b=b.nextConnection&&b.nextConnection.targetBlock();for(b=0;b<this.itemCount_;b++){var c=this.getInput("ADD"+b).connection.targetConnection;
22
+ c&&-1==a.indexOf(c)&&c.disconnect()}this.itemCount_=a.length;this.updateShape_();for(b=0;b<this.itemCount_;b++)Blockly.Mutator.reconnect(a[b],this,"ADD"+b)},saveConnections:function(a){a=a.getInputTargetBlock("STACK");for(var b=0;a;){var c=this.getInput("ADD"+b);a.valueConnection_=c&&c.connection.targetConnection;b++;a=a.nextConnection&&a.nextConnection.targetBlock()}},updateShape_:function(){this.itemCount_&&this.getInput("EMPTY")?this.removeInput("EMPTY"):this.itemCount_||this.getInput("EMPTY")||
23
+ this.appendDummyInput("EMPTY").appendField(Blockly.Msg.LISTS_CREATE_EMPTY_TITLE);for(var a=0;a<this.itemCount_;a++)if(!this.getInput("ADD"+a)){var b=this.appendValueInput("ADD"+a).setAlign(Blockly.ALIGN_RIGHT);0==a&&b.appendField(Blockly.Msg.LISTS_CREATE_WITH_INPUT_WITH)}for(;this.getInput("ADD"+a);)this.removeInput("ADD"+a),a++}};
24
+ Blockly.Blocks.lists_create_with_container={init:function(){this.setStyle("list_blocks");this.appendDummyInput().appendField(Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD);this.appendStatementInput("STACK");this.setTooltip(Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP);this.contextMenu=!1}};
25
+ Blockly.Blocks.lists_create_with_item={init:function(){this.setStyle("list_blocks");this.appendDummyInput().appendField(Blockly.Msg.LISTS_CREATE_WITH_ITEM_TITLE);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip(Blockly.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP);this.contextMenu=!1}};
26
+ Blockly.Blocks.lists_indexOf={init:function(){var a=[[Blockly.Msg.LISTS_INDEX_OF_FIRST,"FIRST"],[Blockly.Msg.LISTS_INDEX_OF_LAST,"LAST"]];this.setHelpUrl(Blockly.Msg.LISTS_INDEX_OF_HELPURL);this.setStyle("list_blocks");this.setOutput(!0,"Number");this.appendValueInput("VALUE").setCheck("Array").appendField(Blockly.Msg.LISTS_INDEX_OF_INPUT_IN_LIST);this.appendValueInput("FIND").appendField(new Blockly.FieldDropdown(a),"END");this.setInputsInline(!0);var b=this;this.setTooltip(function(){return Blockly.Msg.LISTS_INDEX_OF_TOOLTIP.replace("%1",
27
+ b.workspace.options.oneBasedIndex?"0":"-1")})}};
28
+ Blockly.Blocks.lists_getIndex={init:function(){var a=[[Blockly.Msg.LISTS_GET_INDEX_GET,"GET"],[Blockly.Msg.LISTS_GET_INDEX_GET_REMOVE,"GET_REMOVE"],[Blockly.Msg.LISTS_GET_INDEX_REMOVE,"REMOVE"]];this.WHERE_OPTIONS=[[Blockly.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Blockly.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Blockly.Msg.LISTS_GET_INDEX_FIRST,"FIRST"],[Blockly.Msg.LISTS_GET_INDEX_LAST,"LAST"],[Blockly.Msg.LISTS_GET_INDEX_RANDOM,"RANDOM"]];this.setHelpUrl(Blockly.Msg.LISTS_GET_INDEX_HELPURL);this.setStyle("list_blocks");
29
+ a=new Blockly.FieldDropdown(a,function(c){c="REMOVE"==c;this.getSourceBlock().updateStatement_(c)});this.appendValueInput("VALUE").setCheck("Array").appendField(Blockly.Msg.LISTS_GET_INDEX_INPUT_IN_LIST);this.appendDummyInput().appendField(a,"MODE").appendField("","SPACE");this.appendDummyInput("AT");Blockly.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Blockly.Msg.LISTS_GET_INDEX_TAIL);this.setInputsInline(!0);this.setOutput(!0);this.updateAt_(!0);var b=this;this.setTooltip(function(){var c=
30
+ b.getFieldValue("MODE"),d=b.getFieldValue("WHERE"),e="";switch(c+" "+d){case "GET FROM_START":case "GET FROM_END":e=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case "GET FIRST":e=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST;break;case "GET LAST":e=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST;break;case "GET RANDOM":e=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case "GET_REMOVE FROM_START":case "GET_REMOVE FROM_END":e=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case "GET_REMOVE FIRST":e=
31
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST;break;case "GET_REMOVE LAST":e=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST;break;case "GET_REMOVE RANDOM":e=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM;break;case "REMOVE FROM_START":case "REMOVE FROM_END":e=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM;break;case "REMOVE FIRST":e=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST;break;case "REMOVE LAST":e=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST;break;case "REMOVE RANDOM":e=
32
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM}if("FROM_START"==d||"FROM_END"==d)e+=" "+("FROM_START"==d?Blockly.Msg.LISTS_INDEX_FROM_START_TOOLTIP:Blockly.Msg.LISTS_INDEX_FROM_END_TOOLTIP).replace("%1",b.workspace.options.oneBasedIndex?"#1":"#0");return e})},mutationToDom:function(){var a=Blockly.utils.xml.createElement("mutation");a.setAttribute("statement",!this.outputConnection);var b=this.getInput("AT").type==Blockly.INPUT_VALUE;a.setAttribute("at",b);return a},domToMutation:function(a){var b=
33
+ "true"==a.getAttribute("statement");this.updateStatement_(b);a="false"!=a.getAttribute("at");this.updateAt_(a)},updateStatement_:function(a){a!=!this.outputConnection&&(this.unplug(!0,!0),a?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(a){this.removeInput("AT");this.removeInput("ORDINAL",!0);a?(this.appendValueInput("AT").setCheck("Number"),Blockly.Msg.ORDINAL_NUMBER_SUFFIX&&
34
+ this.appendDummyInput("ORDINAL").appendField(Blockly.Msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput("AT");var b=new Blockly.FieldDropdown(this.WHERE_OPTIONS,function(c){var d="FROM_START"==c||"FROM_END"==c;if(d!=a){var e=this.getSourceBlock();e.updateAt_(d);e.setFieldValue(c,"WHERE");return null}});this.getInput("AT").appendField(b,"WHERE");Blockly.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}};
35
+ Blockly.Blocks.lists_setIndex={init:function(){var a=[[Blockly.Msg.LISTS_SET_INDEX_SET,"SET"],[Blockly.Msg.LISTS_SET_INDEX_INSERT,"INSERT"]];this.WHERE_OPTIONS=[[Blockly.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Blockly.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Blockly.Msg.LISTS_GET_INDEX_FIRST,"FIRST"],[Blockly.Msg.LISTS_GET_INDEX_LAST,"LAST"],[Blockly.Msg.LISTS_GET_INDEX_RANDOM,"RANDOM"]];this.setHelpUrl(Blockly.Msg.LISTS_SET_INDEX_HELPURL);this.setStyle("list_blocks");this.appendValueInput("LIST").setCheck("Array").appendField(Blockly.Msg.LISTS_SET_INDEX_INPUT_IN_LIST);
36
+ this.appendDummyInput().appendField(new Blockly.FieldDropdown(a),"MODE").appendField("","SPACE");this.appendDummyInput("AT");this.appendValueInput("TO").appendField(Blockly.Msg.LISTS_SET_INDEX_INPUT_TO);this.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip(Blockly.Msg.LISTS_SET_INDEX_TOOLTIP);this.updateAt_(!0);var b=this;this.setTooltip(function(){var c=b.getFieldValue("MODE"),d=b.getFieldValue("WHERE"),e="";switch(c+" "+d){case "SET FROM_START":case "SET FROM_END":e=
37
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM;break;case "SET FIRST":e=Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST;break;case "SET LAST":e=Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST;break;case "SET RANDOM":e=Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM;break;case "INSERT FROM_START":case "INSERT FROM_END":e=Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM;break;case "INSERT FIRST":e=Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST;break;case "INSERT LAST":e=Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST;
38
+ break;case "INSERT RANDOM":e=Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM}if("FROM_START"==d||"FROM_END"==d)e+=" "+Blockly.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",b.workspace.options.oneBasedIndex?"#1":"#0");return e})},mutationToDom:function(){var a=Blockly.utils.xml.createElement("mutation"),b=this.getInput("AT").type==Blockly.INPUT_VALUE;a.setAttribute("at",b);return a},domToMutation:function(a){a="false"!=a.getAttribute("at");this.updateAt_(a)},updateAt_:function(a){this.removeInput("AT");
39
+ this.removeInput("ORDINAL",!0);a?(this.appendValueInput("AT").setCheck("Number"),Blockly.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL").appendField(Blockly.Msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput("AT");var b=new Blockly.FieldDropdown(this.WHERE_OPTIONS,function(c){var d="FROM_START"==c||"FROM_END"==c;if(d!=a){var e=this.getSourceBlock();e.updateAt_(d);e.setFieldValue(c,"WHERE");return null}});this.moveInputBefore("AT","TO");this.getInput("ORDINAL")&&this.moveInputBefore("ORDINAL",
40
+ "TO");this.getInput("AT").appendField(b,"WHERE")}};
41
+ Blockly.Blocks.lists_getSublist={init:function(){this.WHERE_OPTIONS_1=[[Blockly.Msg.LISTS_GET_SUBLIST_START_FROM_START,"FROM_START"],[Blockly.Msg.LISTS_GET_SUBLIST_START_FROM_END,"FROM_END"],[Blockly.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]];this.WHERE_OPTIONS_2=[[Blockly.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Blockly.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Blockly.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]];this.setHelpUrl(Blockly.Msg.LISTS_GET_SUBLIST_HELPURL);this.setStyle("list_blocks");
42
+ this.appendValueInput("LIST").setCheck("Array").appendField(Blockly.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST);this.appendDummyInput("AT1");this.appendDummyInput("AT2");Blockly.Msg.LISTS_GET_SUBLIST_TAIL&&this.appendDummyInput("TAIL").appendField(Blockly.Msg.LISTS_GET_SUBLIST_TAIL);this.setInputsInline(!0);this.setOutput(!0,"Array");this.updateAt_(1,!0);this.updateAt_(2,!0);this.setTooltip(Blockly.Msg.LISTS_GET_SUBLIST_TOOLTIP)},mutationToDom:function(){var a=Blockly.utils.xml.createElement("mutation"),
43
+ b=this.getInput("AT1").type==Blockly.INPUT_VALUE;a.setAttribute("at1",b);b=this.getInput("AT2").type==Blockly.INPUT_VALUE;a.setAttribute("at2",b);return a},domToMutation:function(a){var b="true"==a.getAttribute("at1");a="true"==a.getAttribute("at2");this.updateAt_(1,b);this.updateAt_(2,a)},updateAt_:function(a,b){this.removeInput("AT"+a);this.removeInput("ORDINAL"+a,!0);b?(this.appendValueInput("AT"+a).setCheck("Number"),Blockly.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL"+a).appendField(Blockly.Msg.ORDINAL_NUMBER_SUFFIX)):
44
+ this.appendDummyInput("AT"+a);var c=new Blockly.FieldDropdown(this["WHERE_OPTIONS_"+a],function(d){var e="FROM_START"==d||"FROM_END"==d;if(e!=b){var f=this.getSourceBlock();f.updateAt_(a,e);f.setFieldValue(d,"WHERE"+a);return null}});this.getInput("AT"+a).appendField(c,"WHERE"+a);1==a&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"));Blockly.Msg.LISTS_GET_SUBLIST_TAIL&&this.moveInputBefore("TAIL",null)}};
45
+ Blockly.Blocks.lists_sort={init:function(){this.jsonInit({message0:Blockly.Msg.LISTS_SORT_TITLE,args0:[{type:"field_dropdown",name:"TYPE",options:[[Blockly.Msg.LISTS_SORT_TYPE_NUMERIC,"NUMERIC"],[Blockly.Msg.LISTS_SORT_TYPE_TEXT,"TEXT"],[Blockly.Msg.LISTS_SORT_TYPE_IGNORECASE,"IGNORE_CASE"]]},{type:"field_dropdown",name:"DIRECTION",options:[[Blockly.Msg.LISTS_SORT_ORDER_ASCENDING,"1"],[Blockly.Msg.LISTS_SORT_ORDER_DESCENDING,"-1"]]},{type:"input_value",name:"LIST",check:"Array"}],output:"Array",style:"list_blocks",
46
+ tooltip:Blockly.Msg.LISTS_SORT_TOOLTIP,helpUrl:Blockly.Msg.LISTS_SORT_HELPURL})}};
47
+ Blockly.Blocks.lists_split={init:function(){var a=this,b=new Blockly.FieldDropdown([[Blockly.Msg.LISTS_SPLIT_LIST_FROM_TEXT,"SPLIT"],[Blockly.Msg.LISTS_SPLIT_TEXT_FROM_LIST,"JOIN"]],function(c){a.updateType_(c)});this.setHelpUrl(Blockly.Msg.LISTS_SPLIT_HELPURL);this.setStyle("list_blocks");this.appendValueInput("INPUT").setCheck("String").appendField(b,"MODE");this.appendValueInput("DELIM").setCheck("String").appendField(Blockly.Msg.LISTS_SPLIT_WITH_DELIMITER);this.setInputsInline(!0);this.setOutput(!0,
48
+ "Array");this.setTooltip(function(){var c=a.getFieldValue("MODE");if("SPLIT"==c)return Blockly.Msg.LISTS_SPLIT_TOOLTIP_SPLIT;if("JOIN"==c)return Blockly.Msg.LISTS_SPLIT_TOOLTIP_JOIN;throw Error("Unknown mode: "+c);})},updateType_:function(a){if(this.getFieldValue("MODE")!=a){var b=this.getInput("INPUT").connection;b.setShadowDom(null);var c=b.targetBlock();c&&(b.disconnect(),c.isShadow()?c.dispose():this.bumpNeighbours())}"SPLIT"==a?(this.outputConnection.setCheck("Array"),this.getInput("INPUT").setCheck("String")):
49
+ (this.outputConnection.setCheck("String"),this.getInput("INPUT").setCheck("Array"))},mutationToDom:function(){var a=Blockly.utils.xml.createElement("mutation");a.setAttribute("mode",this.getFieldValue("MODE"));return a},domToMutation:function(a){this.updateType_(a.getAttribute("mode"))}};Blockly.Blocks.logic={};Blockly.Constants.Logic={};Blockly.Constants.Logic.HUE=210;
50
+ Blockly.defineBlocksWithJsonArray([{type:"logic_boolean",message0:"%1",args0:[{type:"field_dropdown",name:"BOOL",options:[["%{BKY_LOGIC_BOOLEAN_TRUE}","TRUE"],["%{BKY_LOGIC_BOOLEAN_FALSE}","FALSE"]]}],output:"Boolean",style:"logic_blocks",tooltip:"%{BKY_LOGIC_BOOLEAN_TOOLTIP}",helpUrl:"%{BKY_LOGIC_BOOLEAN_HELPURL}"},{type:"controls_if",message0:"%{BKY_CONTROLS_IF_MSG_IF} %1",args0:[{type:"input_value",name:"IF0",check:"Boolean"}],message1:"%{BKY_CONTROLS_IF_MSG_THEN} %1",args1:[{type:"input_statement",
51
+ name:"DO0"}],previousStatement:null,nextStatement:null,style:"logic_blocks",helpUrl:"%{BKY_CONTROLS_IF_HELPURL}",mutator:"controls_if_mutator",extensions:["controls_if_tooltip"]},{type:"controls_ifelse",message0:"%{BKY_CONTROLS_IF_MSG_IF} %1",args0:[{type:"input_value",name:"IF0",check:"Boolean"}],message1:"%{BKY_CONTROLS_IF_MSG_THEN} %1",args1:[{type:"input_statement",name:"DO0"}],message2:"%{BKY_CONTROLS_IF_MSG_ELSE} %1",args2:[{type:"input_statement",name:"ELSE"}],previousStatement:null,nextStatement:null,
52
+ style:"logic_blocks",tooltip:"%{BKYCONTROLS_IF_TOOLTIP_2}",helpUrl:"%{BKY_CONTROLS_IF_HELPURL}",extensions:["controls_if_tooltip"]},{type:"logic_compare",message0:"%1 %2 %3",args0:[{type:"input_value",name:"A"},{type:"field_dropdown",name:"OP",options:[["=","EQ"],["\u2260","NEQ"],["\u200f<","LT"],["\u200f\u2264","LTE"],["\u200f>","GT"],["\u200f\u2265","GTE"]]},{type:"input_value",name:"B"}],inputsInline:!0,output:"Boolean",style:"logic_blocks",helpUrl:"%{BKY_LOGIC_COMPARE_HELPURL}",extensions:["logic_compare",
53
+ "logic_op_tooltip"]},{type:"logic_operation",message0:"%1 %2 %3",args0:[{type:"input_value",name:"A",check:"Boolean"},{type:"field_dropdown",name:"OP",options:[["%{BKY_LOGIC_OPERATION_AND}","AND"],["%{BKY_LOGIC_OPERATION_OR}","OR"]]},{type:"input_value",name:"B",check:"Boolean"}],inputsInline:!0,output:"Boolean",style:"logic_blocks",helpUrl:"%{BKY_LOGIC_OPERATION_HELPURL}",extensions:["logic_op_tooltip"]},{type:"logic_negate",message0:"%{BKY_LOGIC_NEGATE_TITLE}",args0:[{type:"input_value",name:"BOOL",
54
+ check:"Boolean"}],output:"Boolean",style:"logic_blocks",tooltip:"%{BKY_LOGIC_NEGATE_TOOLTIP}",helpUrl:"%{BKY_LOGIC_NEGATE_HELPURL}"},{type:"logic_null",message0:"%{BKY_LOGIC_NULL}",output:null,style:"logic_blocks",tooltip:"%{BKY_LOGIC_NULL_TOOLTIP}",helpUrl:"%{BKY_LOGIC_NULL_HELPURL}"},{type:"logic_ternary",message0:"%{BKY_LOGIC_TERNARY_CONDITION} %1",args0:[{type:"input_value",name:"IF",check:"Boolean"}],message1:"%{BKY_LOGIC_TERNARY_IF_TRUE} %1",args1:[{type:"input_value",name:"THEN"}],message2:"%{BKY_LOGIC_TERNARY_IF_FALSE} %1",
55
+ args2:[{type:"input_value",name:"ELSE"}],output:null,style:"logic_blocks",tooltip:"%{BKY_LOGIC_TERNARY_TOOLTIP}",helpUrl:"%{BKY_LOGIC_TERNARY_HELPURL}",extensions:["logic_ternary"]}]);
56
+ Blockly.defineBlocksWithJsonArray([{type:"controls_if_if",message0:"%{BKY_CONTROLS_IF_IF_TITLE_IF}",nextStatement:null,enableContextMenu:!1,style:"logic_blocks",tooltip:"%{BKY_CONTROLS_IF_IF_TOOLTIP}"},{type:"controls_if_elseif",message0:"%{BKY_CONTROLS_IF_ELSEIF_TITLE_ELSEIF}",previousStatement:null,nextStatement:null,enableContextMenu:!1,style:"logic_blocks",tooltip:"%{BKY_CONTROLS_IF_ELSEIF_TOOLTIP}"},{type:"controls_if_else",message0:"%{BKY_CONTROLS_IF_ELSE_TITLE_ELSE}",previousStatement:null,
57
+ enableContextMenu:!1,style:"logic_blocks",tooltip:"%{BKY_CONTROLS_IF_ELSE_TOOLTIP}"}]);Blockly.Constants.Logic.TOOLTIPS_BY_OP={EQ:"%{BKY_LOGIC_COMPARE_TOOLTIP_EQ}",NEQ:"%{BKY_LOGIC_COMPARE_TOOLTIP_NEQ}",LT:"%{BKY_LOGIC_COMPARE_TOOLTIP_LT}",LTE:"%{BKY_LOGIC_COMPARE_TOOLTIP_LTE}",GT:"%{BKY_LOGIC_COMPARE_TOOLTIP_GT}",GTE:"%{BKY_LOGIC_COMPARE_TOOLTIP_GTE}",AND:"%{BKY_LOGIC_OPERATION_TOOLTIP_AND}",OR:"%{BKY_LOGIC_OPERATION_TOOLTIP_OR}"};
58
+ Blockly.Extensions.register("logic_op_tooltip",Blockly.Extensions.buildTooltipForDropdown("OP",Blockly.Constants.Logic.TOOLTIPS_BY_OP));
59
+ Blockly.Constants.Logic.CONTROLS_IF_MUTATOR_MIXIN={elseifCount_:0,elseCount_:0,suppressPrefixSuffix:!0,mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var a=Blockly.utils.xml.createElement("mutation");this.elseifCount_&&a.setAttribute("elseif",this.elseifCount_);this.elseCount_&&a.setAttribute("else",1);return a},domToMutation:function(a){this.elseifCount_=parseInt(a.getAttribute("elseif"),10)||0;this.elseCount_=parseInt(a.getAttribute("else"),10)||0;this.rebuildShape_()},
60
+ decompose:function(a){var b=a.newBlock("controls_if_if");b.initSvg();for(var c=b.nextConnection,d=1;d<=this.elseifCount_;d++){var e=a.newBlock("controls_if_elseif");e.initSvg();c.connect(e.previousConnection);c=e.nextConnection}this.elseCount_&&(a=a.newBlock("controls_if_else"),a.initSvg(),c.connect(a.previousConnection));return b},compose:function(a){a=a.nextConnection.targetBlock();this.elseCount_=this.elseifCount_=0;for(var b=[null],c=[null],d=null;a;){switch(a.type){case "controls_if_elseif":this.elseifCount_++;
61
+ b.push(a.valueConnection_);c.push(a.statementConnection_);break;case "controls_if_else":this.elseCount_++;d=a.statementConnection_;break;default:throw TypeError("Unknown block type: "+a.type);}a=a.nextConnection&&a.nextConnection.targetBlock()}this.updateShape_();this.reconnectChildBlocks_(b,c,d)},saveConnections:function(a){a=a.nextConnection.targetBlock();for(var b=1;a;){switch(a.type){case "controls_if_elseif":var c=this.getInput("IF"+b),d=this.getInput("DO"+b);a.valueConnection_=c&&c.connection.targetConnection;
62
+ a.statementConnection_=d&&d.connection.targetConnection;b++;break;case "controls_if_else":d=this.getInput("ELSE");a.statementConnection_=d&&d.connection.targetConnection;break;default:throw TypeError("Unknown block type: "+a.type);}a=a.nextConnection&&a.nextConnection.targetBlock()}},rebuildShape_:function(){var a=[null],b=[null],c=null;this.getInput("ELSE")&&(c=this.getInput("ELSE").connection.targetConnection);for(var d=1;this.getInput("IF"+d);){var e=this.getInput("IF"+d),f=this.getInput("DO"+
63
+ d);a.push(e.connection.targetConnection);b.push(f.connection.targetConnection);d++}this.updateShape_();this.reconnectChildBlocks_(a,b,c)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var a=1;this.getInput("IF"+a);)this.removeInput("IF"+a),this.removeInput("DO"+a),a++;for(a=1;a<=this.elseifCount_;a++)this.appendValueInput("IF"+a).setCheck("Boolean").appendField(Blockly.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+a).appendField(Blockly.Msg.CONTROLS_IF_MSG_THEN);
64
+ this.elseCount_&&this.appendStatementInput("ELSE").appendField(Blockly.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(a,b,c){for(var d=1;d<=this.elseifCount_;d++)Blockly.Mutator.reconnect(a[d],this,"IF"+d),Blockly.Mutator.reconnect(b[d],this,"DO"+d);Blockly.Mutator.reconnect(c,this,"ELSE")}};Blockly.Extensions.registerMutator("controls_if_mutator",Blockly.Constants.Logic.CONTROLS_IF_MUTATOR_MIXIN,null,["controls_if_elseif","controls_if_else"]);
65
+ Blockly.Constants.Logic.CONTROLS_IF_TOOLTIP_EXTENSION=function(){this.setTooltip(function(){if(this.elseifCount_||this.elseCount_){if(!this.elseifCount_&&this.elseCount_)return Blockly.Msg.CONTROLS_IF_TOOLTIP_2;if(this.elseifCount_&&!this.elseCount_)return Blockly.Msg.CONTROLS_IF_TOOLTIP_3;if(this.elseifCount_&&this.elseCount_)return Blockly.Msg.CONTROLS_IF_TOOLTIP_4}else return Blockly.Msg.CONTROLS_IF_TOOLTIP_1;return""}.bind(this))};Blockly.Extensions.register("controls_if_tooltip",Blockly.Constants.Logic.CONTROLS_IF_TOOLTIP_EXTENSION);
66
+ Blockly.Constants.Logic.LOGIC_COMPARE_ONCHANGE_MIXIN={onchange:function(a){this.prevBlocks_||(this.prevBlocks_=[null,null]);var b=this.getInputTargetBlock("A"),c=this.getInputTargetBlock("B");b&&c&&!this.workspace.connectionChecker.doTypeChecks(b.outputConnection,c.outputConnection)&&(Blockly.Events.setGroup(a.group),a=this.prevBlocks_[0],a!==b&&(b.unplug(),!a||a.isDisposed()||a.isShadow()||this.getInput("A").connection.connect(a.outputConnection)),b=this.prevBlocks_[1],b!==c&&(c.unplug(),!b||b.isDisposed()||
67
+ b.isShadow()||this.getInput("B").connection.connect(b.outputConnection)),this.bumpNeighbours(),Blockly.Events.setGroup(!1));this.prevBlocks_[0]=this.getInputTargetBlock("A");this.prevBlocks_[1]=this.getInputTargetBlock("B")}};Blockly.Constants.Logic.LOGIC_COMPARE_EXTENSION=function(){this.mixin(Blockly.Constants.Logic.LOGIC_COMPARE_ONCHANGE_MIXIN)};Blockly.Extensions.register("logic_compare",Blockly.Constants.Logic.LOGIC_COMPARE_EXTENSION);
68
+ Blockly.Constants.Logic.LOGIC_TERNARY_ONCHANGE_MIXIN={prevParentConnection_:null,onchange:function(a){var b=this.getInputTargetBlock("THEN"),c=this.getInputTargetBlock("ELSE"),d=this.outputConnection.targetConnection;if((b||c)&&d)for(var e=0;2>e;e++){var f=1==e?b:c;f&&!f.workspace.connectionChecker.doTypeChecks(f.outputConnection,d)&&(Blockly.Events.setGroup(a.group),d===this.prevParentConnection_?(this.unplug(),d.getSourceBlock().bumpNeighbours()):(f.unplug(),f.bumpNeighbours()),Blockly.Events.setGroup(!1))}this.prevParentConnection_=
69
+ d}};Blockly.Extensions.registerMixin("logic_ternary",Blockly.Constants.Logic.LOGIC_TERNARY_ONCHANGE_MIXIN);Blockly.Blocks.loops={};Blockly.Constants.Loops={};Blockly.Constants.Loops.HUE=120;
70
+ Blockly.defineBlocksWithJsonArray([{type:"controls_repeat_ext",message0:"%{BKY_CONTROLS_REPEAT_TITLE}",args0:[{type:"input_value",name:"TIMES",check:"Number"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",tooltip:"%{BKY_CONTROLS_REPEAT_TOOLTIP}",helpUrl:"%{BKY_CONTROLS_REPEAT_HELPURL}"},{type:"controls_repeat",message0:"%{BKY_CONTROLS_REPEAT_TITLE}",args0:[{type:"field_number",name:"TIMES",value:10,
71
+ min:0,precision:1}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",tooltip:"%{BKY_CONTROLS_REPEAT_TOOLTIP}",helpUrl:"%{BKY_CONTROLS_REPEAT_HELPURL}"},{type:"controls_whileUntil",message0:"%1 %2",args0:[{type:"field_dropdown",name:"MODE",options:[["%{BKY_CONTROLS_WHILEUNTIL_OPERATOR_WHILE}","WHILE"],["%{BKY_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL}","UNTIL"]]},{type:"input_value",name:"BOOL",check:"Boolean"}],
72
+ message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_WHILEUNTIL_HELPURL}",extensions:["controls_whileUntil_tooltip"]},{type:"controls_for",message0:"%{BKY_CONTROLS_FOR_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:null},{type:"input_value",name:"FROM",check:"Number",align:"RIGHT"},{type:"input_value",name:"TO",check:"Number",align:"RIGHT"},{type:"input_value",name:"BY",
73
+ check:"Number",align:"RIGHT"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],inputsInline:!0,previousStatement:null,nextStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_FOR_HELPURL}",extensions:["contextMenu_newGetVariableBlock","controls_for_tooltip"]},{type:"controls_forEach",message0:"%{BKY_CONTROLS_FOREACH_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:null},{type:"input_value",name:"LIST",check:"Array"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",
74
+ args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_FOREACH_HELPURL}",extensions:["contextMenu_newGetVariableBlock","controls_forEach_tooltip"]},{type:"controls_flow_statements",message0:"%1",args0:[{type:"field_dropdown",name:"FLOW",options:[["%{BKY_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK}","BREAK"],["%{BKY_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE}","CONTINUE"]]}],previousStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_FLOW_STATEMENTS_HELPURL}",
75
+ extensions:["controls_flow_tooltip","controls_flow_in_loop_check"]}]);Blockly.Constants.Loops.WHILE_UNTIL_TOOLTIPS={WHILE:"%{BKY_CONTROLS_WHILEUNTIL_TOOLTIP_WHILE}",UNTIL:"%{BKY_CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}"};Blockly.Extensions.register("controls_whileUntil_tooltip",Blockly.Extensions.buildTooltipForDropdown("MODE",Blockly.Constants.Loops.WHILE_UNTIL_TOOLTIPS));Blockly.Constants.Loops.BREAK_CONTINUE_TOOLTIPS={BREAK:"%{BKY_CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK}",CONTINUE:"%{BKY_CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}"};
76
+ Blockly.Extensions.register("controls_flow_tooltip",Blockly.Extensions.buildTooltipForDropdown("FLOW",Blockly.Constants.Loops.BREAK_CONTINUE_TOOLTIPS));
77
+ Blockly.Constants.Loops.CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN={customContextMenu:function(a){if(!this.isInFlyout){var b=this.getField("VAR").getVariable(),c=b.name;if(!this.isCollapsed()&&null!=c){var d={enabled:!0};d.text=Blockly.Msg.VARIABLES_SET_CREATE_GET.replace("%1",c);b=Blockly.Variables.generateVariableFieldDom(b);c=Blockly.utils.xml.createElement("block");c.setAttribute("type","variables_get");c.appendChild(b);d.callback=Blockly.ContextMenu.callbackFactory(this,c);a.push(d)}}}};
78
+ Blockly.Extensions.registerMixin("contextMenu_newGetVariableBlock",Blockly.Constants.Loops.CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN);Blockly.Extensions.register("controls_for_tooltip",Blockly.Extensions.buildTooltipWithFieldText("%{BKY_CONTROLS_FOR_TOOLTIP}","VAR"));Blockly.Extensions.register("controls_forEach_tooltip",Blockly.Extensions.buildTooltipWithFieldText("%{BKY_CONTROLS_FOREACH_TOOLTIP}","VAR"));
79
+ Blockly.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN={LOOP_TYPES:["controls_repeat","controls_repeat_ext","controls_forEach","controls_for","controls_whileUntil"],suppressPrefixSuffix:!0,getSurroundLoop:function(a){do{if(-1!=Blockly.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.LOOP_TYPES.indexOf(a.type))return a;a=a.getSurroundParent()}while(a);return null},onchange:function(a){if(this.workspace.isDragging&&!this.workspace.isDragging()&&a.type==Blockly.Events.BLOCK_MOVE&&a.blockId==this.id){var b=
80
+ Blockly.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(this);this.setWarningText(b?null:Blockly.Msg.CONTROLS_FLOW_STATEMENTS_WARNING);if(!this.isInFlyout){var c=Blockly.Events.getGroup();Blockly.Events.setGroup(a.group);this.setEnabled(b);Blockly.Events.setGroup(c)}}}};Blockly.Extensions.registerMixin("controls_flow_in_loop_check",Blockly.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN);Blockly.Blocks.math={};Blockly.Constants.Math={};Blockly.Constants.Math.HUE=230;
81
+ Blockly.defineBlocksWithJsonArray([{type:"math_number",message0:"%1",args0:[{type:"field_number",name:"NUM",value:0}],output:"Number",helpUrl:"%{BKY_MATH_NUMBER_HELPURL}",style:"math_blocks",tooltip:"%{BKY_MATH_NUMBER_TOOLTIP}",extensions:["parent_tooltip_when_inline"]},{type:"math_arithmetic",message0:"%1 %2 %3",args0:[{type:"input_value",name:"A",check:"Number"},{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_ADDITION_SYMBOL}","ADD"],["%{BKY_MATH_SUBTRACTION_SYMBOL}","MINUS"],["%{BKY_MATH_MULTIPLICATION_SYMBOL}",
82
+ "MULTIPLY"],["%{BKY_MATH_DIVISION_SYMBOL}","DIVIDE"],["%{BKY_MATH_POWER_SYMBOL}","POWER"]]},{type:"input_value",name:"B",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_ARITHMETIC_HELPURL}",extensions:["math_op_tooltip"]},{type:"math_single",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_SINGLE_OP_ROOT}","ROOT"],["%{BKY_MATH_SINGLE_OP_ABSOLUTE}","ABS"],["-","NEG"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]},
83
+ {type:"input_value",name:"NUM",check:"Number"}],output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_SINGLE_HELPURL}",extensions:["math_op_tooltip"]},{type:"math_trig",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_TRIG_SIN}","SIN"],["%{BKY_MATH_TRIG_COS}","COS"],["%{BKY_MATH_TRIG_TAN}","TAN"],["%{BKY_MATH_TRIG_ASIN}","ASIN"],["%{BKY_MATH_TRIG_ACOS}","ACOS"],["%{BKY_MATH_TRIG_ATAN}","ATAN"]]},{type:"input_value",name:"NUM",check:"Number"}],output:"Number",style:"math_blocks",
84
+ helpUrl:"%{BKY_MATH_TRIG_HELPURL}",extensions:["math_op_tooltip"]},{type:"math_constant",message0:"%1",args0:[{type:"field_dropdown",name:"CONSTANT",options:[["\u03c0","PI"],["e","E"],["\u03c6","GOLDEN_RATIO"],["sqrt(2)","SQRT2"],["sqrt(\u00bd)","SQRT1_2"],["\u221e","INFINITY"]]}],output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_CONSTANT_TOOLTIP}",helpUrl:"%{BKY_MATH_CONSTANT_HELPURL}"},{type:"math_number_property",message0:"%1 %2",args0:[{type:"input_value",name:"NUMBER_TO_CHECK",check:"Number"},
85
+ {type:"field_dropdown",name:"PROPERTY",options:[["%{BKY_MATH_IS_EVEN}","EVEN"],["%{BKY_MATH_IS_ODD}","ODD"],["%{BKY_MATH_IS_PRIME}","PRIME"],["%{BKY_MATH_IS_WHOLE}","WHOLE"],["%{BKY_MATH_IS_POSITIVE}","POSITIVE"],["%{BKY_MATH_IS_NEGATIVE}","NEGATIVE"],["%{BKY_MATH_IS_DIVISIBLE_BY}","DIVISIBLE_BY"]]}],inputsInline:!0,output:"Boolean",style:"math_blocks",tooltip:"%{BKY_MATH_IS_TOOLTIP}",mutator:"math_is_divisibleby_mutator"},{type:"math_change",message0:"%{BKY_MATH_CHANGE_TITLE}",args0:[{type:"field_variable",
86
+ name:"VAR",variable:"%{BKY_MATH_CHANGE_TITLE_ITEM}"},{type:"input_value",name:"DELTA",check:"Number"}],previousStatement:null,nextStatement:null,style:"variable_blocks",helpUrl:"%{BKY_MATH_CHANGE_HELPURL}",extensions:["math_change_tooltip"]},{type:"math_round",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_ROUND_OPERATOR_ROUND}","ROUND"],["%{BKY_MATH_ROUND_OPERATOR_ROUNDUP}","ROUNDUP"],["%{BKY_MATH_ROUND_OPERATOR_ROUNDDOWN}","ROUNDDOWN"]]},{type:"input_value",name:"NUM",
87
+ check:"Number"}],output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_ROUND_HELPURL}",tooltip:"%{BKY_MATH_ROUND_TOOLTIP}"},{type:"math_on_list",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_ONLIST_OPERATOR_SUM}","SUM"],["%{BKY_MATH_ONLIST_OPERATOR_MIN}","MIN"],["%{BKY_MATH_ONLIST_OPERATOR_MAX}","MAX"],["%{BKY_MATH_ONLIST_OPERATOR_AVERAGE}","AVERAGE"],["%{BKY_MATH_ONLIST_OPERATOR_MEDIAN}","MEDIAN"],["%{BKY_MATH_ONLIST_OPERATOR_MODE}","MODE"],["%{BKY_MATH_ONLIST_OPERATOR_STD_DEV}",
88
+ "STD_DEV"],["%{BKY_MATH_ONLIST_OPERATOR_RANDOM}","RANDOM"]]},{type:"input_value",name:"LIST",check:"Array"}],output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_ONLIST_HELPURL}",mutator:"math_modes_of_list_mutator",extensions:["math_op_tooltip"]},{type:"math_modulo",message0:"%{BKY_MATH_MODULO_TITLE}",args0:[{type:"input_value",name:"DIVIDEND",check:"Number"},{type:"input_value",name:"DIVISOR",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_MODULO_TOOLTIP}",
89
+ helpUrl:"%{BKY_MATH_MODULO_HELPURL}"},{type:"math_constrain",message0:"%{BKY_MATH_CONSTRAIN_TITLE}",args0:[{type:"input_value",name:"VALUE",check:"Number"},{type:"input_value",name:"LOW",check:"Number"},{type:"input_value",name:"HIGH",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_CONSTRAIN_TOOLTIP}",helpUrl:"%{BKY_MATH_CONSTRAIN_HELPURL}"},{type:"math_random_int",message0:"%{BKY_MATH_RANDOM_INT_TITLE}",args0:[{type:"input_value",name:"FROM",check:"Number"},
90
+ {type:"input_value",name:"TO",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_RANDOM_INT_TOOLTIP}",helpUrl:"%{BKY_MATH_RANDOM_INT_HELPURL}"},{type:"math_random_float",message0:"%{BKY_MATH_RANDOM_FLOAT_TITLE_RANDOM}",output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_RANDOM_FLOAT_TOOLTIP}",helpUrl:"%{BKY_MATH_RANDOM_FLOAT_HELPURL}"},{type:"math_atan2",message0:"%{BKY_MATH_ATAN2_TITLE}",args0:[{type:"input_value",name:"X",check:"Number"},{type:"input_value",
91
+ name:"Y",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_ATAN2_TOOLTIP}",helpUrl:"%{BKY_MATH_ATAN2_HELPURL}"}]);
92
+ Blockly.Constants.Math.TOOLTIPS_BY_OP={ADD:"%{BKY_MATH_ARITHMETIC_TOOLTIP_ADD}",MINUS:"%{BKY_MATH_ARITHMETIC_TOOLTIP_MINUS}",MULTIPLY:"%{BKY_MATH_ARITHMETIC_TOOLTIP_MULTIPLY}",DIVIDE:"%{BKY_MATH_ARITHMETIC_TOOLTIP_DIVIDE}",POWER:"%{BKY_MATH_ARITHMETIC_TOOLTIP_POWER}",ROOT:"%{BKY_MATH_SINGLE_TOOLTIP_ROOT}",ABS:"%{BKY_MATH_SINGLE_TOOLTIP_ABS}",NEG:"%{BKY_MATH_SINGLE_TOOLTIP_NEG}",LN:"%{BKY_MATH_SINGLE_TOOLTIP_LN}",LOG10:"%{BKY_MATH_SINGLE_TOOLTIP_LOG10}",EXP:"%{BKY_MATH_SINGLE_TOOLTIP_EXP}",POW10:"%{BKY_MATH_SINGLE_TOOLTIP_POW10}",
93
+ SIN:"%{BKY_MATH_TRIG_TOOLTIP_SIN}",COS:"%{BKY_MATH_TRIG_TOOLTIP_COS}",TAN:"%{BKY_MATH_TRIG_TOOLTIP_TAN}",ASIN:"%{BKY_MATH_TRIG_TOOLTIP_ASIN}",ACOS:"%{BKY_MATH_TRIG_TOOLTIP_ACOS}",ATAN:"%{BKY_MATH_TRIG_TOOLTIP_ATAN}",SUM:"%{BKY_MATH_ONLIST_TOOLTIP_SUM}",MIN:"%{BKY_MATH_ONLIST_TOOLTIP_MIN}",MAX:"%{BKY_MATH_ONLIST_TOOLTIP_MAX}",AVERAGE:"%{BKY_MATH_ONLIST_TOOLTIP_AVERAGE}",MEDIAN:"%{BKY_MATH_ONLIST_TOOLTIP_MEDIAN}",MODE:"%{BKY_MATH_ONLIST_TOOLTIP_MODE}",STD_DEV:"%{BKY_MATH_ONLIST_TOOLTIP_STD_DEV}",RANDOM:"%{BKY_MATH_ONLIST_TOOLTIP_RANDOM}"};
94
+ Blockly.Extensions.register("math_op_tooltip",Blockly.Extensions.buildTooltipForDropdown("OP",Blockly.Constants.Math.TOOLTIPS_BY_OP));
95
+ Blockly.Constants.Math.IS_DIVISIBLEBY_MUTATOR_MIXIN={mutationToDom:function(){var a=Blockly.utils.xml.createElement("mutation"),b="DIVISIBLE_BY"==this.getFieldValue("PROPERTY");a.setAttribute("divisor_input",b);return a},domToMutation:function(a){a="true"==a.getAttribute("divisor_input");this.updateShape_(a)},updateShape_:function(a){var b=this.getInput("DIVISOR");a?b||this.appendValueInput("DIVISOR").setCheck("Number"):b&&this.removeInput("DIVISOR")}};
96
+ Blockly.Constants.Math.IS_DIVISIBLE_MUTATOR_EXTENSION=function(){this.getField("PROPERTY").setValidator(function(a){a="DIVISIBLE_BY"==a;this.getSourceBlock().updateShape_(a)})};Blockly.Extensions.registerMutator("math_is_divisibleby_mutator",Blockly.Constants.Math.IS_DIVISIBLEBY_MUTATOR_MIXIN,Blockly.Constants.Math.IS_DIVISIBLE_MUTATOR_EXTENSION);Blockly.Extensions.register("math_change_tooltip",Blockly.Extensions.buildTooltipWithFieldText("%{BKY_MATH_CHANGE_TOOLTIP}","VAR"));
97
+ Blockly.Constants.Math.LIST_MODES_MUTATOR_MIXIN={updateType_:function(a){"MODE"==a?this.outputConnection.setCheck("Array"):this.outputConnection.setCheck("Number")},mutationToDom:function(){var a=Blockly.utils.xml.createElement("mutation");a.setAttribute("op",this.getFieldValue("OP"));return a},domToMutation:function(a){this.updateType_(a.getAttribute("op"))}};Blockly.Constants.Math.LIST_MODES_MUTATOR_EXTENSION=function(){this.getField("OP").setValidator(function(a){this.updateType_(a)}.bind(this))};
98
+ Blockly.Extensions.registerMutator("math_modes_of_list_mutator",Blockly.Constants.Math.LIST_MODES_MUTATOR_MIXIN,Blockly.Constants.Math.LIST_MODES_MUTATOR_EXTENSION);Blockly.Blocks.procedures={};
99
+ Blockly.Blocks.procedures_defnoreturn={init:function(){var a=new Blockly.FieldTextInput("",Blockly.Procedures.rename);a.setSpellcheck(!1);this.appendDummyInput().appendField(Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE).appendField(a,"NAME").appendField("","PARAMS");this.setMutator(new Blockly.Mutator(["procedures_mutatorarg"]));(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT);
100
+ this.setStyle("procedure_blocks");this.setTooltip(Blockly.Msg.PROCEDURES_DEFNORETURN_TOOLTIP);this.setHelpUrl(Blockly.Msg.PROCEDURES_DEFNORETURN_HELPURL);this.arguments_=[];this.argumentVarModels_=[];this.setStatements_(!0);this.statementConnection_=null},setStatements_:function(a){this.hasStatements_!==a&&(a?(this.appendStatementInput("STACK").appendField(Blockly.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=
101
+ a)},updateParams_:function(){var a="";this.arguments_.length&&(a=Blockly.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", "));Blockly.Events.disable();try{this.setFieldValue(a,"PARAMS")}finally{Blockly.Events.enable()}},mutationToDom:function(a){var b=Blockly.utils.xml.createElement("mutation");a&&b.setAttribute("name",this.getFieldValue("NAME"));for(var c=0;c<this.argumentVarModels_.length;c++){var d=Blockly.utils.xml.createElement("arg"),e=this.argumentVarModels_[c];d.setAttribute("name",
102
+ e.name);d.setAttribute("varid",e.getId());a&&this.paramIds_&&d.setAttribute("paramId",this.paramIds_[c]);b.appendChild(d)}this.hasStatements_||b.setAttribute("statements","false");return b},domToMutation:function(a){this.arguments_=[];this.argumentVarModels_=[];for(var b=0,c;c=a.childNodes[b];b++)if("arg"==c.nodeName.toLowerCase()){var d=c.getAttribute("name");c=c.getAttribute("varid")||c.getAttribute("varId");this.arguments_.push(d);c=Blockly.Variables.getOrCreateVariablePackage(this.workspace,c,
103
+ d,"");null!=c?this.argumentVarModels_.push(c):console.log("Failed to create a variable with name "+d+", ignoring.")}this.updateParams_();Blockly.Procedures.mutateCallers(this);this.setStatements_("false"!==a.getAttribute("statements"))},decompose:function(a){var b=Blockly.utils.xml.createElement("block");b.setAttribute("type","procedures_mutatorcontainer");var c=Blockly.utils.xml.createElement("statement");c.setAttribute("name","STACK");b.appendChild(c);for(var d=0;d<this.arguments_.length;d++){var e=
104
+ Blockly.utils.xml.createElement("block");e.setAttribute("type","procedures_mutatorarg");var f=Blockly.utils.xml.createElement("field");f.setAttribute("name","NAME");var g=Blockly.utils.xml.createTextNode(this.arguments_[d]);f.appendChild(g);e.appendChild(f);f=Blockly.utils.xml.createElement("next");e.appendChild(f);c.appendChild(e);c=f}a=Blockly.Xml.domToBlock(b,a);"procedures_defreturn"==this.type?a.setFieldValue(this.hasStatements_,"STATEMENTS"):a.removeInput("STATEMENT_INPUT");Blockly.Procedures.mutateCallers(this);
105
+ return a},compose:function(a){this.arguments_=[];this.paramIds_=[];this.argumentVarModels_=[];for(var b=a.getInputTargetBlock("STACK");b;){var c=b.getFieldValue("NAME");this.arguments_.push(c);c=this.workspace.getVariable(c,"");this.argumentVarModels_.push(c);this.paramIds_.push(b.id);b=b.nextConnection&&b.nextConnection.targetBlock()}this.updateParams_();Blockly.Procedures.mutateCallers(this);a=a.getFieldValue("STATEMENTS");if(null!==a&&(a="TRUE"==a,this.hasStatements_!=a))if(a)this.setStatements_(!0),
106
+ Blockly.Mutator.reconnect(this.statementConnection_,this,"STACK"),this.statementConnection_=null;else{a=this.getInput("STACK").connection;if(this.statementConnection_=a.targetConnection)a=a.targetBlock(),a.unplug(),a.bumpNeighbours();this.setStatements_(!1)}},getProcedureDef:function(){return[this.getFieldValue("NAME"),this.arguments_,!1]},getVars:function(){return this.arguments_},getVarModels:function(){return this.argumentVarModels_},renameVarById:function(a,b){var c=this.workspace.getVariableById(a);
107
+ if(""==c.type){c=c.name;b=this.workspace.getVariableById(b);for(var d=!1,e=0;e<this.argumentVarModels_.length;e++)this.argumentVarModels_[e].getId()==a&&(this.arguments_[e]=b.name,this.argumentVarModels_[e]=b,d=!0);d&&(this.displayRenamedVar_(c,b.name),Blockly.Procedures.mutateCallers(this))}},updateVarName:function(a){for(var b=a.name,c=!1,d=0;d<this.argumentVarModels_.length;d++)if(this.argumentVarModels_[d].getId()==a.getId()){var e=this.arguments_[d];this.arguments_[d]=b;c=!0}c&&(this.displayRenamedVar_(e,
108
+ b),Blockly.Procedures.mutateCallers(this))},displayRenamedVar_:function(a,b){this.updateParams_();if(this.mutator&&this.mutator.isVisible())for(var c=this.mutator.workspace_.getAllBlocks(!1),d=0,e;e=c[d];d++)"procedures_mutatorarg"==e.type&&Blockly.Names.equals(a,e.getFieldValue("NAME"))&&e.setFieldValue(b,"NAME")},customContextMenu:function(a){if(!this.isInFlyout){var b={enabled:!0},c=this.getFieldValue("NAME");b.text=Blockly.Msg.PROCEDURES_CREATE_DO.replace("%1",c);var d=Blockly.utils.xml.createElement("mutation");
109
+ d.setAttribute("name",c);for(c=0;c<this.arguments_.length;c++){var e=Blockly.utils.xml.createElement("arg");e.setAttribute("name",this.arguments_[c]);d.appendChild(e)}c=Blockly.utils.xml.createElement("block");c.setAttribute("type",this.callType_);c.appendChild(d);b.callback=Blockly.ContextMenu.callbackFactory(this,c);a.push(b);if(!this.isCollapsed())for(c=0;c<this.argumentVarModels_.length;c++)b={enabled:!0},d=this.argumentVarModels_[c],b.text=Blockly.Msg.VARIABLES_SET_CREATE_GET.replace("%1",d.name),
110
+ d=Blockly.Variables.generateVariableFieldDom(d),e=Blockly.utils.xml.createElement("block"),e.setAttribute("type","variables_get"),e.appendChild(d),b.callback=Blockly.ContextMenu.callbackFactory(this,e),a.push(b)}},callType_:"procedures_callnoreturn"};
111
+ Blockly.Blocks.procedures_defreturn={init:function(){var a=new Blockly.FieldTextInput("",Blockly.Procedures.rename);a.setSpellcheck(!1);this.appendDummyInput().appendField(Blockly.Msg.PROCEDURES_DEFRETURN_TITLE).appendField(a,"NAME").appendField("","PARAMS");this.appendValueInput("RETURN").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.PROCEDURES_DEFRETURN_RETURN);this.setMutator(new Blockly.Mutator(["procedures_mutatorarg"]));(this.workspace.options.comments||this.workspace.options.parentWorkspace&&
112
+ this.workspace.options.parentWorkspace.options.comments)&&Blockly.Msg.PROCEDURES_DEFRETURN_COMMENT&&this.setCommentText(Blockly.Msg.PROCEDURES_DEFRETURN_COMMENT);this.setStyle("procedure_blocks");this.setTooltip(Blockly.Msg.PROCEDURES_DEFRETURN_TOOLTIP);this.setHelpUrl(Blockly.Msg.PROCEDURES_DEFRETURN_HELPURL);this.arguments_=[];this.argumentVarModels_=[];this.setStatements_(!0);this.statementConnection_=null},setStatements_:Blockly.Blocks.procedures_defnoreturn.setStatements_,updateParams_:Blockly.Blocks.procedures_defnoreturn.updateParams_,
113
+ mutationToDom:Blockly.Blocks.procedures_defnoreturn.mutationToDom,domToMutation:Blockly.Blocks.procedures_defnoreturn.domToMutation,decompose:Blockly.Blocks.procedures_defnoreturn.decompose,compose:Blockly.Blocks.procedures_defnoreturn.compose,getProcedureDef:function(){return[this.getFieldValue("NAME"),this.arguments_,!0]},getVars:Blockly.Blocks.procedures_defnoreturn.getVars,getVarModels:Blockly.Blocks.procedures_defnoreturn.getVarModels,renameVarById:Blockly.Blocks.procedures_defnoreturn.renameVarById,
114
+ updateVarName:Blockly.Blocks.procedures_defnoreturn.updateVarName,displayRenamedVar_:Blockly.Blocks.procedures_defnoreturn.displayRenamedVar_,customContextMenu:Blockly.Blocks.procedures_defnoreturn.customContextMenu,callType_:"procedures_callreturn"};
115
+ Blockly.Blocks.procedures_mutatorcontainer={init:function(){this.appendDummyInput().appendField(Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TITLE);this.appendStatementInput("STACK");this.appendDummyInput("STATEMENT_INPUT").appendField(Blockly.Msg.PROCEDURES_ALLOW_STATEMENTS).appendField(new Blockly.FieldCheckbox("TRUE"),"STATEMENTS");this.setStyle("procedure_blocks");this.setTooltip(Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP);this.contextMenu=!1}};
116
+ Blockly.Blocks.procedures_mutatorarg={init:function(){var a=new Blockly.FieldTextInput(Blockly.Procedures.DEFAULT_ARG,this.validator_);a.oldShowEditorFn_=a.showEditor_;a.showEditor_=function(){this.createdVariables_=[];this.oldShowEditorFn_()};this.appendDummyInput().appendField(Blockly.Msg.PROCEDURES_MUTATORARG_TITLE).appendField(a,"NAME");this.setPreviousStatement(!0);this.setNextStatement(!0);this.setStyle("procedure_blocks");this.setTooltip(Blockly.Msg.PROCEDURES_MUTATORARG_TOOLTIP);this.contextMenu=
117
+ !1;a.onFinishEditing_=this.deleteIntermediateVars_;a.createdVariables_=[];a.onFinishEditing_("x")},validator_:function(a){var b=this.getSourceBlock(),c=Blockly.Mutator.findParentWs(b.workspace);a=a.replace(/[\s\xa0]+/g," ").replace(/^ | $/g,"");if(!a)return null;for(var d=(b.workspace.targetWorkspace||b.workspace).getAllBlocks(!1),e=a.toLowerCase(),f=0;f<d.length;f++)if(d[f].id!=this.getSourceBlock().id){var g=d[f].getFieldValue("NAME");if(g&&g.toLowerCase()==e)return null}if(b.isInFlyout)return a;
118
+ (b=c.getVariable(a,""))&&b.name!=a&&c.renameVariableById(b.getId(),a);b||(b=c.createVariable(a,""))&&this.createdVariables_&&this.createdVariables_.push(b);return a},deleteIntermediateVars_:function(a){var b=Blockly.Mutator.findParentWs(this.getSourceBlock().workspace);if(b)for(var c=0;c<this.createdVariables_.length;c++){var d=this.createdVariables_[c];d.name!=a&&b.deleteVariableById(d.getId())}}};
119
+ Blockly.Blocks.procedures_callnoreturn={init:function(){this.appendDummyInput("TOPROW").appendField(this.id,"NAME");this.setPreviousStatement(!0);this.setNextStatement(!0);this.setStyle("procedure_blocks");this.setHelpUrl(Blockly.Msg.PROCEDURES_CALLNORETURN_HELPURL);this.arguments_=[];this.argumentVarModels_=[];this.quarkConnections_={};this.quarkIds_=null;this.previousEnabledState_=!0},getProcedureCall:function(){return this.getFieldValue("NAME")},renameProcedure:function(a,b){Blockly.Names.equals(a,
120
+ this.getProcedureCall())&&(this.setFieldValue(b,"NAME"),this.setTooltip((this.outputConnection?Blockly.Msg.PROCEDURES_CALLRETURN_TOOLTIP:Blockly.Msg.PROCEDURES_CALLNORETURN_TOOLTIP).replace("%1",b)))},setProcedureParameters_:function(a,b){var c=Blockly.Procedures.getDefinition(this.getProcedureCall(),this.workspace),d=c&&c.mutator&&c.mutator.isVisible();d||(this.quarkConnections_={},this.quarkIds_=null);if(b)if(a.join("\n")==this.arguments_.join("\n"))this.quarkIds_=b;else{if(b.length!=a.length)throw RangeError("paramNames and paramIds must be the same length.");
121
+ this.setCollapsed(!1);this.quarkIds_||(this.quarkConnections_={},this.quarkIds_=[]);c=this.rendered;this.rendered=!1;for(var e=0;e<this.arguments_.length;e++){var f=this.getInput("ARG"+e);f&&(f=f.connection.targetConnection,this.quarkConnections_[this.quarkIds_[e]]=f,d&&f&&-1==b.indexOf(this.quarkIds_[e])&&(f.disconnect(),f.getSourceBlock().bumpNeighbours()))}this.arguments_=[].concat(a);this.argumentVarModels_=[];for(e=0;e<this.arguments_.length;e++)a=Blockly.Variables.getOrCreateVariablePackage(this.workspace,
122
+ null,this.arguments_[e],""),this.argumentVarModels_.push(a);this.updateShape_();if(this.quarkIds_=b)for(e=0;e<this.arguments_.length;e++)b=this.quarkIds_[e],b in this.quarkConnections_&&(f=this.quarkConnections_[b],Blockly.Mutator.reconnect(f,this,"ARG"+e)||delete this.quarkConnections_[b]);(this.rendered=c)&&this.render()}},updateShape_:function(){for(var a=0;a<this.arguments_.length;a++){var b=this.getField("ARGNAME"+a);if(b){Blockly.Events.disable();try{b.setValue(this.arguments_[a])}finally{Blockly.Events.enable()}}else b=
123
+ new Blockly.FieldLabel(this.arguments_[a]),this.appendValueInput("ARG"+a).setAlign(Blockly.ALIGN_RIGHT).appendField(b,"ARGNAME"+a).init()}for(;this.getInput("ARG"+a);)this.removeInput("ARG"+a),a++;if(a=this.getInput("TOPROW"))this.arguments_.length?this.getField("WITH")||(a.appendField(Blockly.Msg.PROCEDURES_CALL_BEFORE_PARAMS,"WITH"),a.init()):this.getField("WITH")&&a.removeField("WITH")},mutationToDom:function(){var a=Blockly.utils.xml.createElement("mutation");a.setAttribute("name",this.getProcedureCall());
124
+ for(var b=0;b<this.arguments_.length;b++){var c=Blockly.utils.xml.createElement("arg");c.setAttribute("name",this.arguments_[b]);a.appendChild(c)}return a},domToMutation:function(a){var b=a.getAttribute("name");this.renameProcedure(this.getProcedureCall(),b);b=[];for(var c=[],d=0,e;e=a.childNodes[d];d++)"arg"==e.nodeName.toLowerCase()&&(b.push(e.getAttribute("name")),c.push(e.getAttribute("paramId")));this.setProcedureParameters_(b,c)},getVars:function(){return this.arguments_},getVarModels:function(){return this.argumentVarModels_},
125
+ onchange:function(a){if(this.workspace&&!this.workspace.isFlyout&&a.recordUndo)if(a.type==Blockly.Events.BLOCK_CREATE&&-1!=a.ids.indexOf(this.id)){var b=this.getProcedureCall();b=Blockly.Procedures.getDefinition(b,this.workspace);!b||b.type==this.defType_&&JSON.stringify(b.getVars())==JSON.stringify(this.arguments_)||(b=null);if(!b){Blockly.Events.setGroup(a.group);a=Blockly.utils.xml.createElement("xml");b=Blockly.utils.xml.createElement("block");b.setAttribute("type",this.defType_);var c=this.getRelativeToSurfaceXY(),
126
+ d=c.y+2*Blockly.SNAP_RADIUS;b.setAttribute("x",c.x+Blockly.SNAP_RADIUS*(this.RTL?-1:1));b.setAttribute("y",d);c=this.mutationToDom();b.appendChild(c);c=Blockly.utils.xml.createElement("field");c.setAttribute("name","NAME");c.appendChild(Blockly.utils.xml.createTextNode(this.getProcedureCall()));b.appendChild(c);a.appendChild(b);Blockly.Xml.domToWorkspace(a,this.workspace);Blockly.Events.setGroup(!1)}}else a.type==Blockly.Events.BLOCK_DELETE?(b=this.getProcedureCall(),b=Blockly.Procedures.getDefinition(b,
127
+ this.workspace),b||(Blockly.Events.setGroup(a.group),this.dispose(!0),Blockly.Events.setGroup(!1))):a.type==Blockly.Events.CHANGE&&"disabled"==a.element&&(b=this.getProcedureCall(),(b=Blockly.Procedures.getDefinition(b,this.workspace))&&b.id==a.blockId&&((b=Blockly.Events.getGroup())&&console.log("Saw an existing group while responding to a definition change"),Blockly.Events.setGroup(a.group),a.newValue?(this.previousEnabledState_=this.isEnabled(),this.setEnabled(!1)):this.setEnabled(this.previousEnabledState_),
128
+ Blockly.Events.setGroup(b)))},customContextMenu:function(a){if(this.workspace.isMovable()){var b={enabled:!0};b.text=Blockly.Msg.PROCEDURES_HIGHLIGHT_DEF;var c=this.getProcedureCall(),d=this.workspace;b.callback=function(){var e=Blockly.Procedures.getDefinition(c,d);e&&(d.centerOnBlock(e.id),e.select())};a.push(b)}},defType_:"procedures_defnoreturn"};
129
+ Blockly.Blocks.procedures_callreturn={init:function(){this.appendDummyInput("TOPROW").appendField("","NAME");this.setOutput(!0);this.setStyle("procedure_blocks");this.setHelpUrl(Blockly.Msg.PROCEDURES_CALLRETURN_HELPURL);this.arguments_=[];this.quarkConnections_={};this.quarkIds_=null;this.previousEnabledState_=!0},getProcedureCall:Blockly.Blocks.procedures_callnoreturn.getProcedureCall,renameProcedure:Blockly.Blocks.procedures_callnoreturn.renameProcedure,setProcedureParameters_:Blockly.Blocks.procedures_callnoreturn.setProcedureParameters_,
130
+ updateShape_:Blockly.Blocks.procedures_callnoreturn.updateShape_,mutationToDom:Blockly.Blocks.procedures_callnoreturn.mutationToDom,domToMutation:Blockly.Blocks.procedures_callnoreturn.domToMutation,getVars:Blockly.Blocks.procedures_callnoreturn.getVars,getVarModels:Blockly.Blocks.procedures_callnoreturn.getVarModels,onchange:Blockly.Blocks.procedures_callnoreturn.onchange,customContextMenu:Blockly.Blocks.procedures_callnoreturn.customContextMenu,defType_:"procedures_defreturn"};
131
+ Blockly.Blocks.procedures_ifreturn={init:function(){this.appendValueInput("CONDITION").setCheck("Boolean").appendField(Blockly.Msg.CONTROLS_IF_MSG_IF);this.appendValueInput("VALUE").appendField(Blockly.Msg.PROCEDURES_DEFRETURN_RETURN);this.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setStyle("procedure_blocks");this.setTooltip(Blockly.Msg.PROCEDURES_IFRETURN_TOOLTIP);this.setHelpUrl(Blockly.Msg.PROCEDURES_IFRETURN_HELPURL);this.hasReturnValue_=!0},mutationToDom:function(){var a=
132
+ Blockly.utils.xml.createElement("mutation");a.setAttribute("value",Number(this.hasReturnValue_));return a},domToMutation:function(a){this.hasReturnValue_=1==a.getAttribute("value");this.hasReturnValue_||(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(Blockly.Msg.PROCEDURES_DEFRETURN_RETURN))},onchange:function(a){if(this.workspace.isDragging&&!this.workspace.isDragging()){a=!1;var b=this;do{if(-1!=this.FUNCTION_TYPES.indexOf(b.type)){a=!0;break}b=b.getSurroundParent()}while(b);
133
+ a?("procedures_defnoreturn"==b.type&&this.hasReturnValue_?(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(Blockly.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!1):"procedures_defreturn"!=b.type||this.hasReturnValue_||(this.removeInput("VALUE"),this.appendValueInput("VALUE").appendField(Blockly.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!0),this.setWarningText(null),this.isInFlyout||this.setEnabled(!0)):(this.setWarningText(Blockly.Msg.PROCEDURES_IFRETURN_WARNING),
134
+ this.isInFlyout||this.getInheritedDisabled()||this.setEnabled(!1))}},FUNCTION_TYPES:["procedures_defnoreturn","procedures_defreturn"]};Blockly.Blocks.texts={};Blockly.Constants.Text={};Blockly.Constants.Text.HUE=160;
135
+ Blockly.defineBlocksWithJsonArray([{type:"text",message0:"%1",args0:[{type:"field_input",name:"TEXT",text:""}],output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_TEXT_HELPURL}",tooltip:"%{BKY_TEXT_TEXT_TOOLTIP}",extensions:["text_quotes","parent_tooltip_when_inline"]},{type:"text_multiline",message0:"%1 %2",args0:[{type:"field_image",src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAARCAYAAADpPU2iAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAdhgAAHYYBXaITgQAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMS42/U4J6AAAAP1JREFUOE+Vks0KQUEYhjmRIja4ABtZ2dm5A3t3Ia6AUm7CylYuQRaUhZSlLZJiQbFAyRnPN33y01HOW08z8873zpwzM4F3GWOCruvGIE4/rLaV+Nq1hVGMBqzhqlxgCys4wJA65xnogMHsQ5lujnYHTejBBCK2mE4abjCgMGhNxHgDFWjDSG07kdfVa2pZMf4ZyMAdWmpZMfYOsLiDMYMjlMB+K613QISRhTnITnsYg5yUd0DETmEoMlkFOeIT/A58iyK5E18BuTBfgYXfwNJv4P9/oEBerLylOnRhygmGdPpTTBZAPkde61lbQe4moWUvYUZYLfUNftIY4zwA5X2Z9AYnQrEAAAAASUVORK5CYII=",width:12,
136
+ height:17,alt:"\u00b6"},{type:"field_multilinetext",name:"TEXT",text:""}],output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_TEXT_HELPURL}",tooltip:"%{BKY_TEXT_TEXT_TOOLTIP}",extensions:["parent_tooltip_when_inline"]},{type:"text_join",message0:"",output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_JOIN_HELPURL}",tooltip:"%{BKY_TEXT_JOIN_TOOLTIP}",mutator:"text_join_mutator"},{type:"text_create_join_container",message0:"%{BKY_TEXT_CREATE_JOIN_TITLE_JOIN} %1 %2",args0:[{type:"input_dummy"},
137
+ {type:"input_statement",name:"STACK"}],style:"text_blocks",tooltip:"%{BKY_TEXT_CREATE_JOIN_TOOLTIP}",enableContextMenu:!1},{type:"text_create_join_item",message0:"%{BKY_TEXT_CREATE_JOIN_ITEM_TITLE_ITEM}",previousStatement:null,nextStatement:null,style:"text_blocks",tooltip:"%{BKY_TEXT_CREATE_JOIN_ITEM_TOOLTIP}",enableContextMenu:!1},{type:"text_append",message0:"%{BKY_TEXT_APPEND_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_TEXT_APPEND_VARIABLE}"},{type:"input_value",name:"TEXT"}],
138
+ previousStatement:null,nextStatement:null,style:"text_blocks",extensions:["text_append_tooltip"]},{type:"text_length",message0:"%{BKY_TEXT_LENGTH_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Number",style:"text_blocks",tooltip:"%{BKY_TEXT_LENGTH_TOOLTIP}",helpUrl:"%{BKY_TEXT_LENGTH_HELPURL}"},{type:"text_isEmpty",message0:"%{BKY_TEXT_ISEMPTY_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Boolean",style:"text_blocks",tooltip:"%{BKY_TEXT_ISEMPTY_TOOLTIP}",
139
+ helpUrl:"%{BKY_TEXT_ISEMPTY_HELPURL}"},{type:"text_indexOf",message0:"%{BKY_TEXT_INDEXOF_TITLE}",args0:[{type:"input_value",name:"VALUE",check:"String"},{type:"field_dropdown",name:"END",options:[["%{BKY_TEXT_INDEXOF_OPERATOR_FIRST}","FIRST"],["%{BKY_TEXT_INDEXOF_OPERATOR_LAST}","LAST"]]},{type:"input_value",name:"FIND",check:"String"}],output:"Number",style:"text_blocks",helpUrl:"%{BKY_TEXT_INDEXOF_HELPURL}",inputsInline:!0,extensions:["text_indexOf_tooltip"]},{type:"text_charAt",message0:"%{BKY_TEXT_CHARAT_TITLE}",
140
+ args0:[{type:"input_value",name:"VALUE",check:"String"},{type:"field_dropdown",name:"WHERE",options:[["%{BKY_TEXT_CHARAT_FROM_START}","FROM_START"],["%{BKY_TEXT_CHARAT_FROM_END}","FROM_END"],["%{BKY_TEXT_CHARAT_FIRST}","FIRST"],["%{BKY_TEXT_CHARAT_LAST}","LAST"],["%{BKY_TEXT_CHARAT_RANDOM}","RANDOM"]]}],output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_CHARAT_HELPURL}",inputsInline:!0,mutator:"text_charAt_mutator"}]);
141
+ Blockly.Blocks.text_getSubstring={init:function(){this.WHERE_OPTIONS_1=[[Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_START,"FROM_START"],[Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_END,"FROM_END"],[Blockly.Msg.TEXT_GET_SUBSTRING_START_FIRST,"FIRST"]];this.WHERE_OPTIONS_2=[[Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_START,"FROM_START"],[Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_END,"FROM_END"],[Blockly.Msg.TEXT_GET_SUBSTRING_END_LAST,"LAST"]];this.setHelpUrl(Blockly.Msg.TEXT_GET_SUBSTRING_HELPURL);this.setStyle("text_blocks");
142
+ this.appendValueInput("STRING").setCheck("String").appendField(Blockly.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT);this.appendDummyInput("AT1");this.appendDummyInput("AT2");Blockly.Msg.TEXT_GET_SUBSTRING_TAIL&&this.appendDummyInput("TAIL").appendField(Blockly.Msg.TEXT_GET_SUBSTRING_TAIL);this.setInputsInline(!0);this.setOutput(!0,"String");this.updateAt_(1,!0);this.updateAt_(2,!0);this.setTooltip(Blockly.Msg.TEXT_GET_SUBSTRING_TOOLTIP)},mutationToDom:function(){var a=Blockly.utils.xml.createElement("mutation"),
143
+ b=this.getInput("AT1").type==Blockly.INPUT_VALUE;a.setAttribute("at1",b);b=this.getInput("AT2").type==Blockly.INPUT_VALUE;a.setAttribute("at2",b);return a},domToMutation:function(a){var b="true"==a.getAttribute("at1");a="true"==a.getAttribute("at2");this.updateAt_(1,b);this.updateAt_(2,a)},updateAt_:function(a,b){this.removeInput("AT"+a);this.removeInput("ORDINAL"+a,!0);b?(this.appendValueInput("AT"+a).setCheck("Number"),Blockly.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL"+a).appendField(Blockly.Msg.ORDINAL_NUMBER_SUFFIX)):
144
+ this.appendDummyInput("AT"+a);2==a&&Blockly.Msg.TEXT_GET_SUBSTRING_TAIL&&(this.removeInput("TAIL",!0),this.appendDummyInput("TAIL").appendField(Blockly.Msg.TEXT_GET_SUBSTRING_TAIL));var c=new Blockly.FieldDropdown(this["WHERE_OPTIONS_"+a],function(d){var e="FROM_START"==d||"FROM_END"==d;if(e!=b){var f=this.getSourceBlock();f.updateAt_(a,e);f.setFieldValue(d,"WHERE"+a);return null}});this.getInput("AT"+a).appendField(c,"WHERE"+a);1==a&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&
145
+ this.moveInputBefore("ORDINAL1","AT2"))}};Blockly.Blocks.text_changeCase={init:function(){var a=[[Blockly.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE,"UPPERCASE"],[Blockly.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE,"LOWERCASE"],[Blockly.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE,"TITLECASE"]];this.setHelpUrl(Blockly.Msg.TEXT_CHANGECASE_HELPURL);this.setStyle("text_blocks");this.appendValueInput("TEXT").setCheck("String").appendField(new Blockly.FieldDropdown(a),"CASE");this.setOutput(!0,"String");this.setTooltip(Blockly.Msg.TEXT_CHANGECASE_TOOLTIP)}};
146
+ Blockly.Blocks.text_trim={init:function(){var a=[[Blockly.Msg.TEXT_TRIM_OPERATOR_BOTH,"BOTH"],[Blockly.Msg.TEXT_TRIM_OPERATOR_LEFT,"LEFT"],[Blockly.Msg.TEXT_TRIM_OPERATOR_RIGHT,"RIGHT"]];this.setHelpUrl(Blockly.Msg.TEXT_TRIM_HELPURL);this.setStyle("text_blocks");this.appendValueInput("TEXT").setCheck("String").appendField(new Blockly.FieldDropdown(a),"MODE");this.setOutput(!0,"String");this.setTooltip(Blockly.Msg.TEXT_TRIM_TOOLTIP)}};
147
+ Blockly.Blocks.text_print={init:function(){this.jsonInit({message0:Blockly.Msg.TEXT_PRINT_TITLE,args0:[{type:"input_value",name:"TEXT"}],previousStatement:null,nextStatement:null,style:"text_blocks",tooltip:Blockly.Msg.TEXT_PRINT_TOOLTIP,helpUrl:Blockly.Msg.TEXT_PRINT_HELPURL})}};
148
+ Blockly.Blocks.text_prompt_ext={init:function(){var a=[[Blockly.Msg.TEXT_PROMPT_TYPE_TEXT,"TEXT"],[Blockly.Msg.TEXT_PROMPT_TYPE_NUMBER,"NUMBER"]];this.setHelpUrl(Blockly.Msg.TEXT_PROMPT_HELPURL);this.setStyle("text_blocks");var b=this;a=new Blockly.FieldDropdown(a,function(c){b.updateType_(c)});this.appendValueInput("TEXT").appendField(a,"TYPE");this.setOutput(!0,"String");this.setTooltip(function(){return"TEXT"==b.getFieldValue("TYPE")?Blockly.Msg.TEXT_PROMPT_TOOLTIP_TEXT:Blockly.Msg.TEXT_PROMPT_TOOLTIP_NUMBER})},
149
+ updateType_:function(a){this.outputConnection.setCheck("NUMBER"==a?"Number":"String")},mutationToDom:function(){var a=Blockly.utils.xml.createElement("mutation");a.setAttribute("type",this.getFieldValue("TYPE"));return a},domToMutation:function(a){this.updateType_(a.getAttribute("type"))}};
150
+ Blockly.Blocks.text_prompt={init:function(){this.mixin(Blockly.Constants.Text.QUOTE_IMAGE_MIXIN);var a=[[Blockly.Msg.TEXT_PROMPT_TYPE_TEXT,"TEXT"],[Blockly.Msg.TEXT_PROMPT_TYPE_NUMBER,"NUMBER"]],b=this;this.setHelpUrl(Blockly.Msg.TEXT_PROMPT_HELPURL);this.setStyle("text_blocks");a=new Blockly.FieldDropdown(a,function(c){b.updateType_(c)});this.appendDummyInput().appendField(a,"TYPE").appendField(this.newQuote_(!0)).appendField(new Blockly.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1));
151
+ this.setOutput(!0,"String");this.setTooltip(function(){return"TEXT"==b.getFieldValue("TYPE")?Blockly.Msg.TEXT_PROMPT_TOOLTIP_TEXT:Blockly.Msg.TEXT_PROMPT_TOOLTIP_NUMBER})},updateType_:Blockly.Blocks.text_prompt_ext.updateType_,mutationToDom:Blockly.Blocks.text_prompt_ext.mutationToDom,domToMutation:Blockly.Blocks.text_prompt_ext.domToMutation};
152
+ Blockly.Blocks.text_count={init:function(){this.jsonInit({message0:Blockly.Msg.TEXT_COUNT_MESSAGE0,args0:[{type:"input_value",name:"SUB",check:"String"},{type:"input_value",name:"TEXT",check:"String"}],output:"Number",inputsInline:!0,style:"text_blocks",tooltip:Blockly.Msg.TEXT_COUNT_TOOLTIP,helpUrl:Blockly.Msg.TEXT_COUNT_HELPURL})}};
153
+ Blockly.Blocks.text_replace={init:function(){this.jsonInit({message0:Blockly.Msg.TEXT_REPLACE_MESSAGE0,args0:[{type:"input_value",name:"FROM",check:"String"},{type:"input_value",name:"TO",check:"String"},{type:"input_value",name:"TEXT",check:"String"}],output:"String",inputsInline:!0,style:"text_blocks",tooltip:Blockly.Msg.TEXT_REPLACE_TOOLTIP,helpUrl:Blockly.Msg.TEXT_REPLACE_HELPURL})}};
154
+ Blockly.Blocks.text_reverse={init:function(){this.jsonInit({message0:Blockly.Msg.TEXT_REVERSE_MESSAGE0,args0:[{type:"input_value",name:"TEXT",check:"String"}],output:"String",inputsInline:!0,style:"text_blocks",tooltip:Blockly.Msg.TEXT_REVERSE_TOOLTIP,helpUrl:Blockly.Msg.TEXT_REVERSE_HELPURL})}};
155
+ Blockly.Constants.Text.QUOTE_IMAGE_MIXIN={QUOTE_IMAGE_LEFT_DATAURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC",QUOTE_IMAGE_RIGHT_DATAURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==",
156
+ QUOTE_IMAGE_WIDTH:12,QUOTE_IMAGE_HEIGHT:12,quoteField_:function(a){for(var b=0,c;c=this.inputList[b];b++)for(var d=0,e;e=c.fieldRow[d];d++)if(a==e.name){c.insertFieldAt(d,this.newQuote_(!0));c.insertFieldAt(d+2,this.newQuote_(!1));return}console.warn('field named "'+a+'" not found in '+this.toDevString())},newQuote_:function(a){a=this.RTL?!a:a;return new Blockly.FieldImage(a?this.QUOTE_IMAGE_LEFT_DATAURI:this.QUOTE_IMAGE_RIGHT_DATAURI,this.QUOTE_IMAGE_WIDTH,this.QUOTE_IMAGE_HEIGHT,a?"\u201c":"\u201d")}};
157
+ Blockly.Constants.Text.TEXT_QUOTES_EXTENSION=function(){this.mixin(Blockly.Constants.Text.QUOTE_IMAGE_MIXIN);this.quoteField_("TEXT")};
158
+ Blockly.Constants.Text.TEXT_JOIN_MUTATOR_MIXIN={mutationToDom:function(){var a=Blockly.utils.xml.createElement("mutation");a.setAttribute("items",this.itemCount_);return a},domToMutation:function(a){this.itemCount_=parseInt(a.getAttribute("items"),10);this.updateShape_()},decompose:function(a){var b=a.newBlock("text_create_join_container");b.initSvg();for(var c=b.getInput("STACK").connection,d=0;d<this.itemCount_;d++){var e=a.newBlock("text_create_join_item");e.initSvg();c.connect(e.previousConnection);
159
+ c=e.nextConnection}return b},compose:function(a){var b=a.getInputTargetBlock("STACK");for(a=[];b;)a.push(b.valueConnection_),b=b.nextConnection&&b.nextConnection.targetBlock();for(b=0;b<this.itemCount_;b++){var c=this.getInput("ADD"+b).connection.targetConnection;c&&-1==a.indexOf(c)&&c.disconnect()}this.itemCount_=a.length;this.updateShape_();for(b=0;b<this.itemCount_;b++)Blockly.Mutator.reconnect(a[b],this,"ADD"+b)},saveConnections:function(a){a=a.getInputTargetBlock("STACK");for(var b=0;a;){var c=
160
+ this.getInput("ADD"+b);a.valueConnection_=c&&c.connection.targetConnection;b++;a=a.nextConnection&&a.nextConnection.targetBlock()}},updateShape_:function(){this.itemCount_&&this.getInput("EMPTY")?this.removeInput("EMPTY"):this.itemCount_||this.getInput("EMPTY")||this.appendDummyInput("EMPTY").appendField(this.newQuote_(!0)).appendField(this.newQuote_(!1));for(var a=0;a<this.itemCount_;a++)if(!this.getInput("ADD"+a)){var b=this.appendValueInput("ADD"+a).setAlign(Blockly.ALIGN_RIGHT);0==a&&b.appendField(Blockly.Msg.TEXT_JOIN_TITLE_CREATEWITH)}for(;this.getInput("ADD"+
161
+ a);)this.removeInput("ADD"+a),a++}};Blockly.Constants.Text.TEXT_JOIN_EXTENSION=function(){this.mixin(Blockly.Constants.Text.QUOTE_IMAGE_MIXIN);this.itemCount_=2;this.updateShape_();this.setMutator(new Blockly.Mutator(["text_create_join_item"]))};Blockly.Extensions.register("text_append_tooltip",Blockly.Extensions.buildTooltipWithFieldText("%{BKY_TEXT_APPEND_TOOLTIP}","VAR"));
162
+ Blockly.Constants.Text.TEXT_INDEXOF_TOOLTIP_EXTENSION=function(){var a=this;this.setTooltip(function(){return Blockly.Msg.TEXT_INDEXOF_TOOLTIP.replace("%1",a.workspace.options.oneBasedIndex?"0":"-1")})};
163
+ Blockly.Constants.Text.TEXT_CHARAT_MUTATOR_MIXIN={mutationToDom:function(){var a=Blockly.utils.xml.createElement("mutation");a.setAttribute("at",!!this.isAt_);return a},domToMutation:function(a){a="false"!=a.getAttribute("at");this.updateAt_(a)},updateAt_:function(a){this.removeInput("AT",!0);this.removeInput("ORDINAL",!0);a&&(this.appendValueInput("AT").setCheck("Number"),Blockly.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL").appendField(Blockly.Msg.ORDINAL_NUMBER_SUFFIX));Blockly.Msg.TEXT_CHARAT_TAIL&&
164
+ (this.removeInput("TAIL",!0),this.appendDummyInput("TAIL").appendField(Blockly.Msg.TEXT_CHARAT_TAIL));this.isAt_=a}};
165
+ Blockly.Constants.Text.TEXT_CHARAT_EXTENSION=function(){this.getField("WHERE").setValidator(function(b){b="FROM_START"==b||"FROM_END"==b;b!=this.isAt_&&this.getSourceBlock().updateAt_(b)});this.updateAt_(!0);var a=this;this.setTooltip(function(){var b=a.getFieldValue("WHERE"),c=Blockly.Msg.TEXT_CHARAT_TOOLTIP;("FROM_START"==b||"FROM_END"==b)&&(b="FROM_START"==b?Blockly.Msg.LISTS_INDEX_FROM_START_TOOLTIP:Blockly.Msg.LISTS_INDEX_FROM_END_TOOLTIP)&&(c+=" "+b.replace("%1",a.workspace.options.oneBasedIndex?
166
+ "#1":"#0"));return c})};Blockly.Extensions.register("text_indexOf_tooltip",Blockly.Constants.Text.TEXT_INDEXOF_TOOLTIP_EXTENSION);Blockly.Extensions.register("text_quotes",Blockly.Constants.Text.TEXT_QUOTES_EXTENSION);Blockly.Extensions.registerMutator("text_join_mutator",Blockly.Constants.Text.TEXT_JOIN_MUTATOR_MIXIN,Blockly.Constants.Text.TEXT_JOIN_EXTENSION);Blockly.Extensions.registerMutator("text_charAt_mutator",Blockly.Constants.Text.TEXT_CHARAT_MUTATOR_MIXIN,Blockly.Constants.Text.TEXT_CHARAT_EXTENSION);Blockly.Blocks.variables={};Blockly.Constants.Variables={};Blockly.Constants.Variables.HUE=330;
167
+ Blockly.defineBlocksWithJsonArray([{type:"variables_get",message0:"%1",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"}],output:null,style:"variable_blocks",helpUrl:"%{BKY_VARIABLES_GET_HELPURL}",tooltip:"%{BKY_VARIABLES_GET_TOOLTIP}",extensions:["contextMenu_variableSetterGetter"]},{type:"variables_set",message0:"%{BKY_VARIABLES_SET}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"},{type:"input_value",name:"VALUE"}],previousStatement:null,
168
+ nextStatement:null,style:"variable_blocks",tooltip:"%{BKY_VARIABLES_SET_TOOLTIP}",helpUrl:"%{BKY_VARIABLES_SET_HELPURL}",extensions:["contextMenu_variableSetterGetter"]}]);
169
+ Blockly.Constants.Variables.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN={customContextMenu:function(a){if(!this.isInFlyout){if("variables_get"==this.type)var b="variables_set",c=Blockly.Msg.VARIABLES_GET_CREATE_SET;else b="variables_get",c=Blockly.Msg.VARIABLES_SET_CREATE_GET;var d={enabled:0<this.workspace.remainingCapacity()},e=this.getField("VAR").getText();d.text=c.replace("%1",e);c=Blockly.utils.xml.createElement("field");c.setAttribute("name","VAR");c.appendChild(Blockly.utils.xml.createTextNode(e));
170
+ e=Blockly.utils.xml.createElement("block");e.setAttribute("type",b);e.appendChild(c);d.callback=Blockly.ContextMenu.callbackFactory(this,e);a.push(d)}else if("variables_get"==this.type||"variables_get_reporter"==this.type)b={text:Blockly.Msg.RENAME_VARIABLE,enabled:!0,callback:Blockly.Constants.Variables.RENAME_OPTION_CALLBACK_FACTORY(this)},e=this.getField("VAR").getText(),d={text:Blockly.Msg.DELETE_VARIABLE.replace("%1",e),enabled:!0,callback:Blockly.Constants.Variables.DELETE_OPTION_CALLBACK_FACTORY(this)},
171
+ a.unshift(b),a.unshift(d)}};Blockly.Constants.Variables.RENAME_OPTION_CALLBACK_FACTORY=function(a){return function(){var b=a.workspace,c=a.getField("VAR").getVariable();Blockly.Variables.renameVariable(b,c)}};Blockly.Constants.Variables.DELETE_OPTION_CALLBACK_FACTORY=function(a){return function(){var b=a.workspace,c=a.getField("VAR").getVariable();b.deleteVariableById(c.getId());b.refreshToolboxSelection()}};Blockly.Extensions.registerMixin("contextMenu_variableSetterGetter",Blockly.Constants.Variables.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN);Blockly.Constants.VariablesDynamic={};Blockly.Constants.VariablesDynamic.HUE=310;
172
+ Blockly.defineBlocksWithJsonArray([{type:"variables_get_dynamic",message0:"%1",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"}],output:null,style:"variable_dynamic_blocks",helpUrl:"%{BKY_VARIABLES_GET_HELPURL}",tooltip:"%{BKY_VARIABLES_GET_TOOLTIP}",extensions:["contextMenu_variableDynamicSetterGetter"]},{type:"variables_set_dynamic",message0:"%{BKY_VARIABLES_SET}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"},{type:"input_value",
173
+ name:"VALUE"}],previousStatement:null,nextStatement:null,style:"variable_dynamic_blocks",tooltip:"%{BKY_VARIABLES_SET_TOOLTIP}",helpUrl:"%{BKY_VARIABLES_SET_HELPURL}",extensions:["contextMenu_variableDynamicSetterGetter"]}]);
174
+ Blockly.Constants.VariablesDynamic.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN={customContextMenu:function(a){if(!this.isInFlyout){var b=this.getFieldValue("VAR");var c=this.workspace.getVariableById(b).type;if("variables_get_dynamic"==this.type){b="variables_set_dynamic";var d=Blockly.Msg.VARIABLES_GET_CREATE_SET}else b="variables_get_dynamic",d=Blockly.Msg.VARIABLES_SET_CREATE_GET;var e={enabled:0<this.workspace.remainingCapacity()},f=this.getField("VAR").getText();e.text=d.replace("%1",f);
175
+ d=Blockly.utils.xml.createElement("field");d.setAttribute("name","VAR");d.setAttribute("variabletype",c);d.appendChild(Blockly.utils.xml.createTextNode(f));f=Blockly.utils.xml.createElement("block");f.setAttribute("type",b);f.appendChild(d);e.callback=Blockly.ContextMenu.callbackFactory(this,f);a.push(e)}else if("variables_get_dynamic"==this.type||"variables_get_reporter_dynamic"==this.type)b={text:Blockly.Msg.RENAME_VARIABLE,enabled:!0,callback:Blockly.Constants.Variables.RENAME_OPTION_CALLBACK_FACTORY(this)},
176
+ f=this.getField("VAR").getText(),e={text:Blockly.Msg.DELETE_VARIABLE.replace("%1",f),enabled:!0,callback:Blockly.Constants.Variables.DELETE_OPTION_CALLBACK_FACTORY(this)},a.unshift(b),a.unshift(e)},onchange:function(a){a=this.getFieldValue("VAR");a=Blockly.Variables.getVariable(this.workspace,a);"variables_get_dynamic"==this.type?this.outputConnection.setCheck(a.type):this.getInput("VALUE").connection.setCheck(a.type)}};
177
+ Blockly.Constants.VariablesDynamic.RENAME_OPTION_CALLBACK_FACTORY=function(a){return function(){var b=a.workspace,c=a.getField("VAR").getVariable();Blockly.Variables.renameVariable(b,c)}};Blockly.Constants.VariablesDynamic.DELETE_OPTION_CALLBACK_FACTORY=function(a){return function(){var b=a.workspace,c=a.getField("VAR").getVariable();b.deleteVariableById(c.getId());b.refreshToolboxSelection()}};Blockly.Extensions.registerMixin("contextMenu_variableDynamicSetterGetter",Blockly.Constants.VariablesDynamic.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN);
178
+ return Blockly.Blocks;
179
+ }));
180
+
181
+
182
+ //# sourceMappingURL=blocks_compressed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["blocks/colour.js","blocks/lists.js","blocks/logic.js","blocks/loops.js","blocks/math.js","blocks/procedures.js","blocks/text.js","blocks/variables.js","blocks/variables_dynamic.js"],"names":["Blockly","Constants","Colour","HUE","defineBlocksWithJsonArray","Lists","Blocks","init","setHelpUrl","Msg","setStyle","itemCount_","updateShape_","setOutput","setMutator","Mutator","setTooltip","mutationToDom","container","utils","xml","createElement","setAttribute","domToMutation","xmlElement","parseInt","getAttribute","decompose","workspace","containerBlock","newBlock","initSvg","connection","getInput","i","itemBlock","connect","previousConnection","nextConnection","compose","getInputTargetBlock","connections","push","valueConnection_","targetBlock","targetConnection","indexOf","disconnect","length","reconnect","saveConnections","input","removeInput","appendDummyInput","appendField","appendValueInput","setAlign","ALIGN_RIGHT","appendStatementInput","contextMenu","setPreviousStatement","setNextStatement","OPERATORS","setCheck","FieldDropdown","setInputsInline","thisBlock","replace","options","oneBasedIndex","MODE","WHERE_OPTIONS","modeMenu","value","isStatement","getSourceBlock","updateStatement_","updateAt_","mode","getFieldValue","where","tooltip","msg","outputConnection","isAt","type","INPUT_VALUE","newStatement","oldStatement","unplug","menu","newAt","block","setFieldValue","moveInputBefore","isAt1","isAt2","n","jsonInit","dropdown","newMode","updateType_","Error","inputConnection","setShadowDom","inputBlock","isShadow","dispose","bumpNeighbours","Logic","TOOLTIPS_BY_OP","Extensions","register","buildTooltipForDropdown","CONTROLS_IF_MUTATOR_MIXIN","elseifCount_","elseCount_","suppressPrefixSuffix","rebuildShape_","elseifBlock","elseBlock","clauseBlock","valueConnections","statementConnections","elseStatementConnection","statementConnection_","TypeError","reconnectChildBlocks_","inputIf","inputDo","registerMutator","CONTROLS_IF_TOOLTIP_EXTENSION","Blockly.Constants.Logic.CONTROLS_IF_TOOLTIP_EXTENSION","bind","LOGIC_COMPARE_ONCHANGE_MIXIN","onchange","e","prevBlocks_","blockA","blockB","connectionChecker","doTypeChecks","Events","setGroup","group","prevA","isDisposed","prevB","LOGIC_COMPARE_EXTENSION","Blockly.Constants.Logic.LOGIC_COMPARE_EXTENSION","mixin","LOGIC_TERNARY_ONCHANGE_MIXIN","prevParentConnection_","parentConnection","registerMixin","Loops","WHILE_UNTIL_TOOLTIPS","BREAK_CONTINUE_TOOLTIPS","CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN","customContextMenu","isInFlyout","variable","getField","getVariable","varName","name","isCollapsed","option","enabled","text","xmlField","Variables","generateVariableFieldDom","xmlBlock","appendChild","callback","ContextMenu","callbackFactory","buildTooltipWithFieldText","CONTROL_FLOW_IN_LOOP_CHECK_MIXIN","LOOP_TYPES","getSurroundLoop","getSurroundParent","isDragging","BLOCK_MOVE","blockId","id","setWarningText","getGroup","setEnabled","Math","IS_DIVISIBLEBY_MUTATOR_MIXIN","divisorInput","inputExists","IS_DIVISIBLE_MUTATOR_EXTENSION","Blockly.Constants.Math.IS_DIVISIBLE_MUTATOR_EXTENSION","setValidator","LIST_MODES_MUTATOR_MIXIN","newOp","LIST_MODES_MUTATOR_EXTENSION","Blockly.Constants.Math.LIST_MODES_MUTATOR_EXTENSION","nameField","FieldTextInput","Procedures","rename","setSpellcheck","comments","parentWorkspace","setCommentText","arguments_","argumentVarModels_","setStatements_","hasStatements","hasStatements_","updateParams_","paramString","join","disable","enable","opt_paramIds","parameter","argModel","getId","paramIds_","childNode","childNodes","nodeName","toLowerCase","varId","getOrCreateVariablePackage","console","log","mutateCallers","containerBlockNode","statementNode","argBlockNode","fieldNode","argumentName","createTextNode","nextNode","node","Xml","domToBlock","paramBlock","stackConnection","stackBlock","getProcedureDef","getVars","getVarModels","renameVarById","oldId","newId","oldVariable","getVariableById","oldName","newVar","change","displayRenamedVar_","updateVarName","newName","mutator","isVisible","blocks","workspace_","getAllBlocks","Names","equals","xmlMutation","xmlArg","callType_","argOption","argVar","argXmlField","argXmlBlock","FieldCheckbox","field","DEFAULT_ARG","validator_","oldShowEditorFn_","showEditor_","newShowEditorFn","createdVariables_","onFinishEditing_","deleteIntermediateVars_","sourceBlock","outerWs","findParentWs","targetWorkspace","caselessName","otherVar","model","renameVariableById","createVariable","newText","deleteVariableById","quarkConnections_","quarkIds_","previousEnabledState_","getProcedureCall","renameProcedure","baseMsg","setProcedureParameters_","paramNames","paramIds","defBlock","getDefinition","mutatorOpen","RangeError","setCollapsed","savedRendered","rendered","concat","quarkId","render","setValue","FieldLabel","topRow","removeField","args","event","isFlyout","recordUndo","BLOCK_CREATE","ids","def","defType_","JSON","stringify","xy","getRelativeToSurfaceXY","y","SNAP_RADIUS","x","RTL","mutation","domToWorkspace","BLOCK_DELETE","CHANGE","element","oldGroup","newValue","isEnabled","isMovable","option.callback","centerOnBlock","select","hasReturnValue_","Number","_e","legal","FUNCTION_TYPES","getInheritedDisabled","Text","TYPES","QUOTE_IMAGE_MIXIN","newQuote_","QUOTE_IMAGE_LEFT_DATAURI","QUOTE_IMAGE_RIGHT_DATAURI","QUOTE_IMAGE_WIDTH","QUOTE_IMAGE_HEIGHT","quoteField_","fieldName","inputList","j","fieldRow","insertFieldAt","warn","toDevString","open","isLeft","FieldImage","dataUri","TEXT_QUOTES_EXTENSION","Blockly.Constants.Text.TEXT_QUOTES_EXTENSION","TEXT_JOIN_MUTATOR_MIXIN","TEXT_JOIN_EXTENSION","Blockly.Constants.Text.TEXT_JOIN_EXTENSION","TEXT_INDEXOF_TOOLTIP_EXTENSION","Blockly.Constants.Text.TEXT_INDEXOF_TOOLTIP_EXTENSION","TEXT_CHARAT_MUTATOR_MIXIN","isAt_","TEXT_CHARAT_EXTENSION","Blockly.Constants.Text.TEXT_CHARAT_EXTENSION","CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN","opposite_type","contextMenuMsg","remainingCapacity","getText","renameOption","RENAME_VARIABLE","RENAME_OPTION_CALLBACK_FACTORY","deleteOption","DELETE_VARIABLE","DELETE_OPTION_CALLBACK_FACTORY","unshift","Blockly.Constants.Variables.RENAME_OPTION_CALLBACK_FACTORY","renameVariable","Blockly.Constants.Variables.DELETE_OPTION_CALLBACK_FACTORY","refreshToolboxSelection","VariablesDynamic","varType","variableModel","Blockly.Constants.VariablesDynamic.RENAME_OPTION_CALLBACK_FACTORY","Blockly.Constants.VariablesDynamic.DELETE_OPTION_CALLBACK_FACTORY"],"mappings":"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","file":"blocks_compressed.js","sourceRoot":"./"}