@palladium-ethiopia/esm-billing-app 5.4.2-pre.30

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 (902) hide show
  1. package/.turbo/turbo-build.log +22 -0
  2. package/README.md +5 -0
  3. package/__mocks__/bill.mock.ts +107 -0
  4. package/__mocks__/visit.mock.ts +151 -0
  5. package/dist/003671ee2a876e7614cd94390e2255b3.js +1 -0
  6. package/dist/0078b630bed2938ce03f618c2bcd1363.js +1 -0
  7. package/dist/0144de97a3c256f81447e7e7135780e5.js +1 -0
  8. package/dist/019e34e85139cfc611bf23efa096c980.js +1 -0
  9. package/dist/01b769b06e3967d7382e74f2c443ca6e.js +1 -0
  10. package/dist/02174460fe8ff6a6bc19db86543b9600.js +1 -0
  11. package/dist/022fc31e47969919bef8f04c7ceb6396.js +1 -0
  12. package/dist/029ed9161a8d24a9c2ba97124020989d.js +1 -0
  13. package/dist/029f5ee0420883bc3c38a7f143fd174a.js +1 -0
  14. package/dist/03980cb12dacd26148c22bb61fce440f.js +1 -0
  15. package/dist/03a5f5b2b97a8fc289399d92fba810d0.js +1 -0
  16. package/dist/03aae8272914723a7bf85b984385032c.js +1 -0
  17. package/dist/03f614920ec2da304abfca8b015a2b40.js +1 -0
  18. package/dist/0416c21cfe088739209926632a360e3b.js +1 -0
  19. package/dist/069a0d6b093e73e820f6a60a91fa614b.js +1 -0
  20. package/dist/06d958315fc6cdbb28576b03e43203aa.js +1 -0
  21. package/dist/07397bd479cbc34bc04576b4f15bdf18.js +1 -0
  22. package/dist/078dd0bd08c93b1512e3d1b777591b21.js +1 -0
  23. package/dist/08eb6e8d603ac500da471cc07b0cf188.js +1 -0
  24. package/dist/0972f21af3e75388ef55435c0b3b831d.js +1 -0
  25. package/dist/0973bb38b2e3efd2a879fd8e81d50fce.js +1 -0
  26. package/dist/0a1d9862d917663419ac2dd2e8193267.js +1 -0
  27. package/dist/0b06cbc7edf78b6f2810187262e7630b.js +1 -0
  28. package/dist/0bd45b2d490c48c31619072a4fb0eaea.js +1 -0
  29. package/dist/0bf319cb891a35363be356125cf61925.js +1 -0
  30. package/dist/0d5aa4cf4cd6ced22d689adc35468925.js +1 -0
  31. package/dist/0e579f8a92c87ee13f03bbb00bfd6965.js +1 -0
  32. package/dist/0e67325b9a04863301e36c0c37947069.js +1 -0
  33. package/dist/0e9edc546e19e0d70ebaeec446142d3f.js +1 -0
  34. package/dist/0f147528a6f36ca40c8b3ec796429f58.js +1 -0
  35. package/dist/0fa30731c46fe8b6a54f9752ad0ed7e0.js +1 -0
  36. package/dist/10.js +1 -0
  37. package/dist/10.js.map +1 -0
  38. package/dist/101.js +1 -0
  39. package/dist/101.js.map +1 -0
  40. package/dist/10132993df2cf9c9423b53a8a44379ab.js +1 -0
  41. package/dist/1034e3807d1bcf55cb564491950237ab.js +1 -0
  42. package/dist/10c464f3f882bfeeefbc0934c2ee9fbe.js +1 -0
  43. package/dist/111d9fdb9864abba36298d1a0807fe6d.js +1 -0
  44. package/dist/112.js +1 -0
  45. package/dist/112.js.map +1 -0
  46. package/dist/117.js +1 -0
  47. package/dist/1195816afa4a5e8183857be16a04ae6f.js +1 -0
  48. package/dist/119f6c45ea400e3c27e1ce172e4c881d.js +1 -0
  49. package/dist/11e3a2a8fb5bcb9d19298a80cafd3f5a.js +1 -0
  50. package/dist/130340e2c62b9e858f186dab5f491e55.js +1 -0
  51. package/dist/131.js +1 -0
  52. package/dist/131.js.map +1 -0
  53. package/dist/135747176621bcc94e9edd0323a81d3c.js +1 -0
  54. package/dist/1383530217ac0068c844902d24e18e08.js +1 -0
  55. package/dist/13eda3507db9cbfb400f46b9b3ff6553.js +1 -0
  56. package/dist/1495a3d68b15b8622c53f6688b64809f.js +1 -0
  57. package/dist/152.js +1 -0
  58. package/dist/152.js.map +1 -0
  59. package/dist/1533058f0ce13acdaa8d5bdc7d147bef.js +1 -0
  60. package/dist/157d1af856797eaa6a6d4517a5335299.js +1 -0
  61. package/dist/15f3800d33b854ba476c9daf1b9e0326.js +1 -0
  62. package/dist/166.js +15 -0
  63. package/dist/166.js.map +1 -0
  64. package/dist/16c2e1b50af4ba05edaa03c8c9e9d18c.js +1 -0
  65. package/dist/170487867de05784a96608617bdd544d.js +1 -0
  66. package/dist/1736cea368ae85240f34289307fdf67f.js +1 -0
  67. package/dist/17632e1e19e438f431784dfd77e01773.js +1 -0
  68. package/dist/17dc98279d24649d3ca77cbce8c44e83.js +1 -0
  69. package/dist/187.js +1 -0
  70. package/dist/187.js.map +1 -0
  71. package/dist/1875ecdf54e78b5f07ff1bd944cf794b.js +1 -0
  72. package/dist/191feb6103c36b202bc01ba262916cdf.js +1 -0
  73. package/dist/1983055014f3f7a31b72b9c24eebfe2e.js +1 -0
  74. package/dist/1a435bdf5bbc57b954136c38dea5dd56.js +1 -0
  75. package/dist/1b012b7a13787e2ab186f7bc6978af5d.js +1 -0
  76. package/dist/1b15b9f88acaf59b96e59c6b5f32da12.js +1 -0
  77. package/dist/1b399d419893e83d7aea276705c2cd46.js +1 -0
  78. package/dist/1c24a68cb472146022d0806ea2505cfb.js +1 -0
  79. package/dist/1c57b3481f295105588972ffa1305521.js +1 -0
  80. package/dist/1cc6fc3772824e2f87f10a9c3fad2dae.js +1 -0
  81. package/dist/1ce14f2cad9f3c122cb5ccfcd485ffb4.js +1 -0
  82. package/dist/1d3796180f854b5d8ab435ab0a1c2c11.js +1 -0
  83. package/dist/1f5e5fcf6311b2bee3ea3d90352d584a.js +1 -0
  84. package/dist/1ff1389501159e4846a5133e3b8992d8.js +1 -0
  85. package/dist/20545e6680e996248f667158904a6a9b.js +1 -0
  86. package/dist/209.js +1 -0
  87. package/dist/209.js.map +1 -0
  88. package/dist/210aec2722e6416a0349a987260e14a3.js +1 -0
  89. package/dist/211511e7b374f57ad31acaf49dbdccb1.js +1 -0
  90. package/dist/219.js +1 -0
  91. package/dist/219.js.map +1 -0
  92. package/dist/21ce36baab7df3edd2c728ac1a6776b7.js +1 -0
  93. package/dist/21d07d2aa7d7e54330fb3c627689a691.js +1 -0
  94. package/dist/225.js +1 -0
  95. package/dist/225.js.map +1 -0
  96. package/dist/2272c6632c52c3e402ab27b8045ab8f1.js +1 -0
  97. package/dist/2287e0a9970175f8e26f811b688d2d36.js +1 -0
  98. package/dist/228ca80abf1ae030cbfe7faaec61913f.js +1 -0
  99. package/dist/2302902e10c4afab56e1b864c96070cb.js +1 -0
  100. package/dist/2348c5ed0da81c27fa889f56e43f91a1.js +1 -0
  101. package/dist/23602ad4c88f0f19e7a0a12454ebf556.js +1 -0
  102. package/dist/23bb1a9f279e7a732bfd405350aab114.js +1 -0
  103. package/dist/245.js +1 -0
  104. package/dist/245.js.map +1 -0
  105. package/dist/24547132c0093d2bae739db169cda5a6.js +1 -0
  106. package/dist/24a3ff38afde257888d755ece9bfd704.js +1 -0
  107. package/dist/24f97ddd76026815674affbc50ad6169.js +1 -0
  108. package/dist/254.js +27 -0
  109. package/dist/254.js.map +1 -0
  110. package/dist/25718a469574ade47e23567d8c543169.js +1 -0
  111. package/dist/25be9f866b93e4ffa34f07a4fde632d4.js +1 -0
  112. package/dist/25eda4bb98e40a82cfd5b4bf9fbc06ec.js +1 -0
  113. package/dist/269732f4c5f6e82ea3246548a9631b47.js +1 -0
  114. package/dist/27730a0bdc6f430cc85049a46a73a029.js +1 -0
  115. package/dist/283970c76db99e2d0d90f0e7c45494f9.js +1 -0
  116. package/dist/28785bea435918d49b290d27bf660baa.js +1 -0
  117. package/dist/29558eac6b1d269fb491df21eb506d11.js +1 -0
  118. package/dist/29c12604c7db4a1ad67ed4d7cdb4f4ed.js +1 -0
  119. package/dist/2a8394955e047270a2a965ec67843989.js +1 -0
  120. package/dist/2aa392a501973ebfcea38239a45ed8e7.js +1 -0
  121. package/dist/2ad349208b3a727abb3c9f943865a27c.js +1 -0
  122. package/dist/2b1b8f8b9e8f1e423a69afd121fd7da9.js +1 -0
  123. package/dist/2b385abd24ebcff8a1c7de52aa2970ab.js +1 -0
  124. package/dist/2b5729e073775b8fb827fc8e4725e48a.js +1 -0
  125. package/dist/2b89e20071dd734f42b8694d7a84c264.js +1 -0
  126. package/dist/2d2a75e3d01a74b93d07db04df8abe5e.js +1 -0
  127. package/dist/2dd82c65030101b60dffccedd8741c6e.js +1 -0
  128. package/dist/2e841e8b77c2a2c00fd71940632bc1e1.js +1 -0
  129. package/dist/2f055ac4066041b9008dd6aebf9df34b.js +1 -0
  130. package/dist/2fc0239242a898632ca8aa451cb930c2.js +1 -0
  131. package/dist/318dcae1cdcd4733986a93e7a5fab7b8.js +1 -0
  132. package/dist/31c610efb1d25afc90853b52ba4cb089.js +1 -0
  133. package/dist/3219bb3283a319e7a33f7366deb7ed1b.js +1 -0
  134. package/dist/328cbf598e9711b0a87c19437b02f80d.js +1 -0
  135. package/dist/32cf6d8a099c0a653928cbc9a05af5da.js +1 -0
  136. package/dist/33b4e371d4983ab56f4db08627119f0b.js +1 -0
  137. package/dist/349237ad9565dc823ce7bcb7527ba7ee.js +1 -0
  138. package/dist/34f99cce131bd7aa65e7a924e2456006.js +1 -0
  139. package/dist/3567d1ea443427e944a6f189a0898819.js +1 -0
  140. package/dist/363d3bac8dcd9a83332c3758185ce080.js +1 -0
  141. package/dist/367def81f25c0a08527f9a4e86e70c56.js +1 -0
  142. package/dist/37172facd8a534a38f378ca2a9c7c11b.js +1 -0
  143. package/dist/378.js +1 -0
  144. package/dist/37ee3b5201ae2e2dc5dc8b1b20ad900e.js +1 -0
  145. package/dist/38105097fc2497d628f398be7db5f6e8.js +1 -0
  146. package/dist/38b1d18836e38ee7b4deaeba0c35f7b8.js +1 -0
  147. package/dist/39fea85ed7dd99d7c6c9e59b7040523f.js +1 -0
  148. package/dist/3a395ae85f6a58001cb48cc5a4e6360b.js +1 -0
  149. package/dist/3a6ca6958d003ae67bb7fefc8713ee93.js +1 -0
  150. package/dist/3ac8c7749734990e2d9f81eeca219886.js +1 -0
  151. package/dist/3b02cca9e95276a74f3ed2bbc7a64ce6.js +1 -0
  152. package/dist/3b190e5159c72fb7e27271956772bcba.js +1 -0
  153. package/dist/3b26795ad1700506b62e1171ff6fcd9b.js +1 -0
  154. package/dist/3b544bb2c5a4e7b225a4b50235a0fd6d.js +1 -0
  155. package/dist/3b6e7dc98c47eeafd851ca5072db4be6.js +1 -0
  156. package/dist/3bee0656a21a6106946d9f424fc22337.js +1 -0
  157. package/dist/3bf96f8eb1859e2724a4b769af3b5f1e.js +1 -0
  158. package/dist/3c5b59a666c5d39d9ba9cc054d36a410.js +1 -0
  159. package/dist/3e93259f04cf0b4b52cc237cfc21cb05.js +1 -0
  160. package/dist/3ea020c57c2bbf457a8497df313b2e5c.js +1 -0
  161. package/dist/3eefbe1c009cfd730b2ca6f834367c45.js +1 -0
  162. package/dist/3efaf75fa91357a71f55203c10d0562b.js +1 -0
  163. package/dist/3f896944a97f002f2146e028ff2eac63.js +1 -0
  164. package/dist/41.js +1 -0
  165. package/dist/41.js.map +1 -0
  166. package/dist/41a77c181e7d3172f53496cb25166d13.js +1 -0
  167. package/dist/41ae585cdbb9c2e8eefff5d30193029f.js +1 -0
  168. package/dist/41e8a86a20df71cb48a373b096c06cd1.js +1 -0
  169. package/dist/42e0ea6351d45d342caab13cb12f9ea4.js +1 -0
  170. package/dist/43139bfbcbce9de597b4985dc1e6a03b.js +1 -0
  171. package/dist/432a5982ba3ddf958381d780e1e9a8e2.js +1 -0
  172. package/dist/432aff60ba31a74d2120031fdc894775.js +1 -0
  173. package/dist/433.js +1 -0
  174. package/dist/433.js.map +1 -0
  175. package/dist/442.js +1 -0
  176. package/dist/442.js.map +1 -0
  177. package/dist/4430c55f023b72fb5e389cee9351b38c.js +1 -0
  178. package/dist/44599d9b6202ebebfcdd073edf3562e3.js +1 -0
  179. package/dist/44e9d75bc694599ba5a672eeec11d3b7.js +1 -0
  180. package/dist/44efcea2f84e80cc4092a89796afe886.js +1 -0
  181. package/dist/45227a487a5d1829deaf3589411c7333.js +1 -0
  182. package/dist/453d207e70a9d6fe976b60b6a20b39fb.js +1 -0
  183. package/dist/458.js +1 -0
  184. package/dist/458.js.map +1 -0
  185. package/dist/466.js +1 -0
  186. package/dist/466.js.map +1 -0
  187. package/dist/46ed21c8fbddeefacaf10d78887aa22a.js +1 -0
  188. package/dist/472ba8f81bf8cac86027cb1be4e3b9cd.js +1 -0
  189. package/dist/479.js +1 -0
  190. package/dist/479.js.map +1 -0
  191. package/dist/47e5776dff3b80ed69ab5947dba33c76.js +1 -0
  192. package/dist/48827a80c9c8a8b394a208065231dabb.js +1 -0
  193. package/dist/48e9351c5623d4da657ce7d5d0267ea6.js +1 -0
  194. package/dist/49582665262ff6179b9f3a98adf7ed5c.js +1 -0
  195. package/dist/4b692785a8a6340a89e6067274a7583c.js +1 -0
  196. package/dist/4bee3a46b8378a7b4ef84492f08abd22.js +1 -0
  197. package/dist/4bf3bc1fbdd26ac698fef1bdf26e3ff4.js +1 -0
  198. package/dist/4c1bdecbedd36a5765de184ac056822a.js +1 -0
  199. package/dist/4d0ebf4c528cee9b0cdd3e076e06570b.js +1 -0
  200. package/dist/4d156ee0485ab4b40b090a3cd7b995a9.js +1 -0
  201. package/dist/4d6d9020e7e5c8d8dee7a5e374355f05.js +1 -0
  202. package/dist/4d8cb7033879cb7fcc7a43798e2bde22.js +1 -0
  203. package/dist/4db8b05f109448d519f60cbb920dc38e.js +1 -0
  204. package/dist/4db989de49617370db449991af03f578.js +1 -0
  205. package/dist/4e389cce6fb8f78845fab249bce43c0b.js +1 -0
  206. package/dist/4ef80ee74467e0297eec3cc03092da01.js +1 -0
  207. package/dist/4f03709d8b1d52a622f0676f7a299510.js +1 -0
  208. package/dist/4f2451dd2095d05141a5c24fab1594e1.js +1 -0
  209. package/dist/4f683c6881e9f8740f5516a85b9eb9da.js +1 -0
  210. package/dist/509.js +1 -0
  211. package/dist/509.js.map +1 -0
  212. package/dist/50d61b10bebf34dab99e3025495beaa2.js +1 -0
  213. package/dist/5106411f7468a5ee5b1ee77aed12c0c7.js +1 -0
  214. package/dist/512.js +1 -0
  215. package/dist/512.js.map +1 -0
  216. package/dist/517200f13a5516e40a9ad6d9c5bcd90e.js +1 -0
  217. package/dist/51f903c5ce5284a63196247cffb5ca40.js +1 -0
  218. package/dist/52fd09d1713345d9ee64dc7daea9fd6f.js +1 -0
  219. package/dist/5348f3cfbe5a63954e7d984f197bbddb.js +1 -0
  220. package/dist/5352ecd8e5f1a2637b48e18cc406edb1.js +1 -0
  221. package/dist/5398e3b596fa15df4d84b2aa0464e5c4.js +1 -0
  222. package/dist/53e3600928916423671f3388e2d67844.js +1 -0
  223. package/dist/54560f13b36626237959e93b7771a484.js +1 -0
  224. package/dist/54a10f3bddad1e6da452fee7124fe846.js +1 -0
  225. package/dist/57e14488b13e50ebdb5fdfc7880da683.js +1 -0
  226. package/dist/57f4109bd1f06be4dc2bcb8ff7eaf1e5.js +1 -0
  227. package/dist/582e24f5ba929e358fadfc7be4c18025.js +1 -0
  228. package/dist/58598705e7012f4ca1eb1dd21d3c59a5.js +1 -0
  229. package/dist/5861dfe4f2c7823623e82d0619c5bf06.js +1 -0
  230. package/dist/58aab872dbdb5e1607076e1935130e03.js +1 -0
  231. package/dist/58c35e5c73bbc1664bbd67c570342aa0.js +1 -0
  232. package/dist/59cc05504a1c823b6d4796bf6b430822.js +1 -0
  233. package/dist/5a496ae20cc576bef1d35972548207cf.js +1 -0
  234. package/dist/5a741aab715866cb4d9a55e89dfc8420.js +1 -0
  235. package/dist/5a8ead0357e5029a2518959423dc29f3.js +1 -0
  236. package/dist/5b6a626249d0bc43e412fffa6a9ee177.js +1 -0
  237. package/dist/5c9be61a5fe851f5f37cc4de2586b096.js +1 -0
  238. package/dist/5cab33610b8d9c1aee4db4672811cb5f.js +1 -0
  239. package/dist/5cd4e1282f4409600b942819b7aa4f21.js +1 -0
  240. package/dist/5ce650c06c385f9d15621e54c60457c0.js +1 -0
  241. package/dist/5cebfc2c3495b6294dcb2a99e5174872.js +1 -0
  242. package/dist/5d312b184c1f4565f51247d3c6dbba90.js +1 -0
  243. package/dist/5d3314103b00c8ea165c6f9f6757f794.js +1 -0
  244. package/dist/5df362c9904925cdf574d9506e4be76d.js +1 -0
  245. package/dist/5e55b301888460bd06c8e26d1011e01a.js +1 -0
  246. package/dist/5e8a4f4320a07ae4bb1d8a5cd621d955.js +1 -0
  247. package/dist/5f3ce6efab3c679ec1ad25ab0b3f6b2f.js +1 -0
  248. package/dist/5f5a93ab1249b7cbdb13d9466febd3a0.js +1 -0
  249. package/dist/5fedbf948ed123687f77167fac1faf8b.js +1 -0
  250. package/dist/5ffbb9579edc192b3e268a1f47fa61ae.js +1 -0
  251. package/dist/60190285b6c2243e14184b9e57d48dbb.js +1 -0
  252. package/dist/60d2bacc2e51eabc2bb0afa982fffb56.js +1 -0
  253. package/dist/60ede8d7ffdf4c05f2ce51b6d8d2be68.js +1 -0
  254. package/dist/60f8f158539619aaf544fa35ce8daccd.js +1 -0
  255. package/dist/61.js +1 -0
  256. package/dist/61.js.map +1 -0
  257. package/dist/617ddc517c704963dc032140e80151d5.js +1 -0
  258. package/dist/622e27eec5f26148f51ccc30315a3deb.js +1 -0
  259. package/dist/6250c7594cd66ca91184b5beca293e06.js +1 -0
  260. package/dist/629e56c05a8ab32ebfd5d058ba8d242d.js +1 -0
  261. package/dist/62a96977e725e8bc809dc80afe0fedf1.js +1 -0
  262. package/dist/63596b4896732fb322ab0496b4be1e74.js +1 -0
  263. package/dist/639.js +1 -0
  264. package/dist/639.js.map +1 -0
  265. package/dist/6490772da5aecc6cb9e4c625abc74a96.js +1 -0
  266. package/dist/64a5f4d62507d032038dcd76d15188e1.js +1 -0
  267. package/dist/64d6924350bd7706850cdc0dcc76ccf6.js +1 -0
  268. package/dist/656927386f77b2620f35af391f59d5ab.js +1 -0
  269. package/dist/65abcd8e99a385bcd8f1776f160040a9.js +1 -0
  270. package/dist/65e7cf62ca9df32c18b630f31025a401.js +1 -0
  271. package/dist/663ffb67b9683a2126410325d1a5a152.js +1 -0
  272. package/dist/678f5201c1917429f334b88078ca4174.js +1 -0
  273. package/dist/689.js +1 -0
  274. package/dist/689.js.map +1 -0
  275. package/dist/69731d1754f66b8b2640df4f561a6526.js +1 -0
  276. package/dist/6a1c347ab79a93f3ac01b08c8ccfc827.js +1 -0
  277. package/dist/6a3775ac1fe6361f31918720b62c8f3d.js +1 -0
  278. package/dist/6a851f05f1f4a974e02fe23eac2bad4e.js +1 -0
  279. package/dist/6b4b87a54f673cfbb82be45329441bef.js +1 -0
  280. package/dist/6bed1b724e74e6bc80688f42bc824d70.js +1 -0
  281. package/dist/6c0a75dc5671c3f237a79f6e45b9891c.js +1 -0
  282. package/dist/6c3d5ea389d0e47cbe327673b7495701.js +1 -0
  283. package/dist/6c67587c2093ac3a19da9f2196e040b7.js +1 -0
  284. package/dist/6d38cef4a006e6cfe54a6117aba7b600.js +1 -0
  285. package/dist/6e40b726d91e9138d9eaef6fd012c740.js +1 -0
  286. package/dist/6eac646091211287dd5e5b376c755110.js +1 -0
  287. package/dist/6faa9e5f2a0122d2333fa450337a09b0.js +1 -0
  288. package/dist/70074e0c785c9a808dea76c7c7d17af3.js +1 -0
  289. package/dist/70286c33cab463fd576766adecd2d5d9.js +1 -0
  290. package/dist/7080d2a1db1608264a6d9d9fbaf2cce8.js +1 -0
  291. package/dist/711.js +1 -0
  292. package/dist/711.js.map +1 -0
  293. package/dist/712.js +1 -0
  294. package/dist/712.js.map +1 -0
  295. package/dist/714763ddd9bd466c95df7b042900bb87.js +1 -0
  296. package/dist/7222998c10fabd9c824cf8cf540b3b74.js +1 -0
  297. package/dist/724a16861717b5b4f786d24b56b62614.js +1 -0
  298. package/dist/7259bceba25ac1476fc775122a63d249.js +1 -0
  299. package/dist/725da29f1643c2263a437c08a1454aea.js +1 -0
  300. package/dist/732e6b65765e6a792f04be1fa30993a5.js +1 -0
  301. package/dist/74988a42599f1bd6a3a890e5f582da2b.js +1 -0
  302. package/dist/75182a479f7eba2798d943fa230a91ef.js +1 -0
  303. package/dist/755114145e5b97e5571a160a39e716db.js +1 -0
  304. package/dist/764b59bdd3a89e14f88c9d63020551a1.js +1 -0
  305. package/dist/771.js +1 -0
  306. package/dist/771.js.map +1 -0
  307. package/dist/77aaca51c1c32acaf32656d45f4dc017.js +1 -0
  308. package/dist/789.js +1 -0
  309. package/dist/789.js.map +1 -0
  310. package/dist/78c709e6b518df25c267f2a5116de970.js +1 -0
  311. package/dist/79241f85b016a7332f85bb66667459c2.js +1 -0
  312. package/dist/79455ab9a6cd507f5314141cc965093a.js +1 -0
  313. package/dist/7a4e3546b63a5296028f4268f96b82b3.js +1 -0
  314. package/dist/7b839a5c1f6d89538928c8a29003bbda.js +1 -0
  315. package/dist/7c488184a1ff274206e8af2c3aeeb2f6.js +1 -0
  316. package/dist/7e0c1151de4aade1c41d42a40530fc7c.js +1 -0
  317. package/dist/7e4099fc2d04c7c1cf96892b962ba4ec.js +1 -0
  318. package/dist/7e7131507a20f96834597eb2de3e880a.js +1 -0
  319. package/dist/7f007f3f67d9c856e727cec1369f8cba.js +1 -0
  320. package/dist/7f79d4bde67c8013b187889b63e25bce.js +1 -0
  321. package/dist/7f9a9efc9ab681fcbf6400e2adb368a9.js +1 -0
  322. package/dist/8024bca4a1198cc51cbffaa7a907ee99.js +1 -0
  323. package/dist/805cb6232d7a9fa46025d48a43622ecf.js +1 -0
  324. package/dist/806.js +1 -0
  325. package/dist/80ddbf4f0fdde4ddba57130e61043017.js +1 -0
  326. package/dist/81318a3530fb35d5178eb7a4a13a606f.js +1 -0
  327. package/dist/814b9f8056e54d372eefebdae282728e.js +1 -0
  328. package/dist/814fee9e631f1e4ceb9f1983c0349fa9.js +1 -0
  329. package/dist/816.js +1 -0
  330. package/dist/816.js.map +1 -0
  331. package/dist/817edb0c6f9d66f9c0027762edb1d797.js +1 -0
  332. package/dist/82ff13fbc1af95d2d76ca788fd72e607.js +1 -0
  333. package/dist/83387cb17a7680f59240e7b399e3ac2b.js +1 -0
  334. package/dist/834d28f1d0979e2614f1e8643f0b7211.js +1 -0
  335. package/dist/839e3594798c1942d3c92f9acfaa5f0b.js +1 -0
  336. package/dist/83bd353f98aa901411c82b8af58d1296.js +1 -0
  337. package/dist/83e8c44ee2a064e0eac31dbd3c876493.js +1 -0
  338. package/dist/84270e22d4439d15b0d8f392d1338d8e.js +1 -0
  339. package/dist/843c762c24f7fac628d8c62519a7b308.js +1 -0
  340. package/dist/84abf03cc94d264bb38020b4ac5f76e1.js +1 -0
  341. package/dist/852.js +1 -0
  342. package/dist/852.js.map +1 -0
  343. package/dist/875ae58e8015a6d08dbc9d0c04e24638.js +1 -0
  344. package/dist/879d6bc1ca1dde95a9a98dc7a2ab0d06.js +1 -0
  345. package/dist/87bce6f50196688852142c679227b1b9.js +1 -0
  346. package/dist/880ae94877022f7fb0458ced0825eb4c.js +1 -0
  347. package/dist/88730abfeb4a23e692ac7933882f12eb.js +1 -0
  348. package/dist/88ca2076c5882a4abcf74c2b173a9c58.js +1 -0
  349. package/dist/88e2feda80ac8cfb28f1dc0ec833b40d.js +1 -0
  350. package/dist/894052ca1f8f35cc1cf7cfb29ef75027.js +1 -0
  351. package/dist/894edcaf39c3c95818e3949d737ed459.js +1 -0
  352. package/dist/897.js +1 -0
  353. package/dist/897.js.map +1 -0
  354. package/dist/8a31266178067a316bb2503147cdb5cb.js +1 -0
  355. package/dist/8a5127228870aafabfff6111d29313d6.js +1 -0
  356. package/dist/8afd141ad70961656700a70beeb2eb05.js +1 -0
  357. package/dist/8c7616f0adba6a5ac0d2f06ba4ebd696.js +1 -0
  358. package/dist/8d9bb1799d9b98db107e84f10132e17f.js +1 -0
  359. package/dist/8ed58ed9c7e1cb1ae1f2830d29011ffb.js +1 -0
  360. package/dist/8ed5aba33ead1f94e97d5c35a5e93434.js +1 -0
  361. package/dist/8eede17ae9e4d25c3c17b8a8a7fc3c3d.js +1 -0
  362. package/dist/8f9ce72eeabbf31f2d51f4bcfc66d3b0.js +1 -0
  363. package/dist/90812d89181b698975cbb081adcbbcb0.js +1 -0
  364. package/dist/90d2a5c1cd19738e0968b86280050556.js +1 -0
  365. package/dist/90f3dc3c18d447104b63c156cb7fddb5.js +1 -0
  366. package/dist/91beb08737a1bbf071f351fb0acdbf3c.js +1 -0
  367. package/dist/926.js +17 -0
  368. package/dist/926.js.map +1 -0
  369. package/dist/92f4aab5c66f6269c7054c8fbcb3de13.js +1 -0
  370. package/dist/947d538f92dd1e146e4a3c41e4eacb92.js +1 -0
  371. package/dist/950a205e91da7e78226dd785fd6d34db.js +1 -0
  372. package/dist/961.js +1 -0
  373. package/dist/961.js.map +1 -0
  374. package/dist/962969a46fefcace3305abd4d6e14a2e.js +1 -0
  375. package/dist/9696a4229fb787eeb25b26f1274b75ee.js +1 -0
  376. package/dist/96b8d8b5efd11741639659c63a485c27.js +1 -0
  377. package/dist/9807cf1e443a7440371904b6525f37eb.js +1 -0
  378. package/dist/981bd23edacd811f9e4a583d89b544ee.js +1 -0
  379. package/dist/9827973b533de05b338533a0211d97d9.js +1 -0
  380. package/dist/983fccb9f00748c487e889f6c83aa367.js +1 -0
  381. package/dist/98e7bdab44ecb58b3b76ed8025f330c4.js +1 -0
  382. package/dist/9920e03a65566d728a73c7bf18bc5741.js +1 -0
  383. package/dist/9938f30907f64b5d1bc4b641411ff8b8.js +1 -0
  384. package/dist/9b1fd9cf4206cc32e84150c49707d811.js +1 -0
  385. package/dist/9b4de1346c73ba258736f1a3f00fdc14.js +1 -0
  386. package/dist/9b5a6ec07bb0a2daade10189696fc399.js +1 -0
  387. package/dist/9b80d1a12acd18c90e41ca92073122a7.js +1 -0
  388. package/dist/9b9578869f378f8e2afbf85a76c0ac72.js +1 -0
  389. package/dist/9d5bba46df7fb1577fec6cb90f1bb2a7.js +1 -0
  390. package/dist/9ebb9ac2c9c875649c72722bc585d445.js +1 -0
  391. package/dist/9ed8c3550b5c3c1e878d0692f0338cb7.js +1 -0
  392. package/dist/9fd3f255cfd09016ec7f4896bc51864c.js +1 -0
  393. package/dist/a0e32ba94aa4384823d768802b9486e1.js +1 -0
  394. package/dist/a1bb5b3f6078f04941c00f87171dc0ae.js +1 -0
  395. package/dist/a1c12fd9c6c9e1b151ad99a847f09006.js +1 -0
  396. package/dist/a1c8660c5bcc6b6a43a7fb3c351174d9.js +1 -0
  397. package/dist/a223748cd69094dd12b486353b22f479.js +1 -0
  398. package/dist/a2242e107926b9274a7f57b52fba4a29.js +1 -0
  399. package/dist/a2746fc96d535b19c120d4b87dc86ef1.js +1 -0
  400. package/dist/a3a941911290b143d26ceb5e776e1d18.js +1 -0
  401. package/dist/a3dfa410d90c00078f4b015410048f34.js +1 -0
  402. package/dist/a41ce517e26d17d855b7224af9ee433b.js +1 -0
  403. package/dist/a496f663a8cf2dc047e12d8a80d76510.js +1 -0
  404. package/dist/a4bedde07e392f8ebf64341b61f75df2.js +1 -0
  405. package/dist/a4d0588d199cb1afffb42e57ea40fa86.js +1 -0
  406. package/dist/a4d638b976f02f35740be031f996e088.js +1 -0
  407. package/dist/a4e021a4b5d5d65cc87fee17c1886c3f.js +1 -0
  408. package/dist/a52f9ac0e3d582ed7e488aa1dfc33eda.js +1 -0
  409. package/dist/a533e643002830be2da76c9527265860.js +1 -0
  410. package/dist/a569591af2f834ec4b58f43ab7742186.js +1 -0
  411. package/dist/a66a34e3af97cd404f0cf6a5ded342c5.js +1 -0
  412. package/dist/a6eb87af5cd7ae7e4fcba8ec606ec4ba.js +1 -0
  413. package/dist/a709bba98acec5da3ea6258e245514cb.js +1 -0
  414. package/dist/a83211eadd86ef80416334e72774ab11.js +1 -0
  415. package/dist/a8c8aa148991e4ca35ed78cd5ccfcc03.js +1 -0
  416. package/dist/a9cb92db2399f7ac97ad55fe79fe5c20.js +1 -0
  417. package/dist/aa0eee504d52a12d3a30bbd523afcc34.js +1 -0
  418. package/dist/aa5623ec68d23fedb9c9c115c7d99063.js +1 -0
  419. package/dist/ab0128ab12bcb8729032421b40f5f8dd.js +1 -0
  420. package/dist/ab237eed5fd16ab99c06f0d28d465edb.js +1 -0
  421. package/dist/af1635b600efd13f6059eb6ac9deae12.js +1 -0
  422. package/dist/af6fdb556ee3f9065578bb01f81f6216.js +1 -0
  423. package/dist/afba1f28f2baa29eae717d6cb03f5464.js +1 -0
  424. package/dist/b02d982ccb1011197a5a24800b178a0a.js +1 -0
  425. package/dist/b10accbff47791a59b8494225af07025.js +1 -0
  426. package/dist/b1170472ae4b50e3b0070eb991e502fe.js +1 -0
  427. package/dist/b13d991d1e4a016abea3fe5837261690.js +1 -0
  428. package/dist/b1e349371cb9c226905c846706ad8b93.js +1 -0
  429. package/dist/b1f3f77a9279cdb38846ebe13c3438bc.js +1 -0
  430. package/dist/b20cd9acf45420fcacfd923754185663.js +1 -0
  431. package/dist/b243eabb7cb281a20eae3523742d562f.js +1 -0
  432. package/dist/b306285dfd802d091e788de0f96b8cb2.js +1 -0
  433. package/dist/b3147425240a31fc04d7aaf7f0fbd3d3.js +1 -0
  434. package/dist/b33ef9b4202539d3690251cb8213a034.js +1 -0
  435. package/dist/b3f1431b9e6d9e6632a93c2cd89f945b.js +1 -0
  436. package/dist/b808fb222140a85b23ebbe0fffa906d9.js +1 -0
  437. package/dist/b881dca9d9a80f61d87374b4bd5a2dd5.js +1 -0
  438. package/dist/b8b6bd460e7da0ba8f3b2218327966ee.js +1 -0
  439. package/dist/b934b22e8f8a8b1ba81dbc2cf058b0cd.js +1 -0
  440. package/dist/b953ce2f19e7291598cd9c05128133c1.js +1 -0
  441. package/dist/b992b348ffb6453e4a02a60e71c5304e.js +1 -0
  442. package/dist/b9ca55e245b8bbed49058e9dada2dd14.js +1 -0
  443. package/dist/ba6b8b3e06cd9d0aee9c69278ee84647.js +1 -0
  444. package/dist/bb5476e5e0c5368b031ba774c0f23999.js +1 -0
  445. package/dist/bb5bab7a675544fe31ddb7f4a77dffb9.js +1 -0
  446. package/dist/bb75a64c7f1e8f7d792e8115710299cb.js +1 -0
  447. package/dist/bc27b2d7127da36a976f00f889810836.js +1 -0
  448. package/dist/bcfde0a9c69146bbfb702f12811a4aa4.js +1 -0
  449. package/dist/bd309bb3f23f2bfbcf914f2e71474ab5.js +1 -0
  450. package/dist/bd459306ebcabc90fabccdfbbcd199ea.js +1 -0
  451. package/dist/be75b76e74c78535966ec8aaa7d46bec.js +1 -0
  452. package/dist/bf37de323316c6ae5745fc11fd576b1c.js +1 -0
  453. package/dist/c1a1f4ba29aa2d9a0b1a1abe5cfee0c6.js +1 -0
  454. package/dist/c3832579be376308fa819b04e7b0c66f.js +1 -0
  455. package/dist/c3f345c994392d97785925e790513a9f.js +1 -0
  456. package/dist/c4c991b8f5eb242f1e220e5f568fdfbc.js +1 -0
  457. package/dist/c4e58637b4d14c303e29d3ce4b4a210f.js +1 -0
  458. package/dist/c51840077c684be0e7e13339f85cd4a9.js +1 -0
  459. package/dist/c530988d2b1966fd10a4d99fa3877e1b.js +1 -0
  460. package/dist/c64d6e1e72024bb5d3d3e9bfc19d183d.js +1 -0
  461. package/dist/c80e89199aef31e48addb2b35ea96365.js +1 -0
  462. package/dist/c81814fb2ec8bab7bb415b5a40ed93b5.js +1 -0
  463. package/dist/c8230f96396f0378d032dce2be3dce66.js +1 -0
  464. package/dist/c8803facc1e76ecd4b6ba756118f1a6d.js +1 -0
  465. package/dist/c8deee9d1d08e50285fe2b1c2897bca5.js +1 -0
  466. package/dist/c9e94edb706994da8aee83c3593cb2d0.js +1 -0
  467. package/dist/cb0d121a88477f943960f5ad60602c22.js +1 -0
  468. package/dist/cb4380c2fd4e67769f509b2be529d7b2.js +1 -0
  469. package/dist/cb4bb785934eeca9b408e892ae6b73b7.js +1 -0
  470. package/dist/cb5746e29527a2fdb9f857a121e086ed.js +1 -0
  471. package/dist/cb652f200fc3dd740b2e7f678a9272ea.js +1 -0
  472. package/dist/cb9910e014b468ada91393696fcad206.js +1 -0
  473. package/dist/cbdbd623038183a8c068dd24ecd90682.js +1 -0
  474. package/dist/cbdc4ca43a8c940a6c3f59a8b6f17df5.js +1 -0
  475. package/dist/cc65d108f0e7cfb200de1d0bcf115005.js +1 -0
  476. package/dist/cc715c90d57b30965fc297a12746d6b5.js +1 -0
  477. package/dist/cd9a17f94a922c7c88000b1b3cdd67df.js +1 -0
  478. package/dist/cf1706c8b4a4eecbc161e915a4be16ca.js +1 -0
  479. package/dist/cf188b3f83735389d47bb12fc9f7069a.js +1 -0
  480. package/dist/cf26dd07f19bcb5b7efbf057a6cfeb8f.js +1 -0
  481. package/dist/cf3f6b1c74c72cb5d02870022dbc9f94.js +1 -0
  482. package/dist/cf909ad6e321c2f98750f5c3581556f8.js +1 -0
  483. package/dist/cf9c7cbfc2b609b9ae59daeab82719c4.js +1 -0
  484. package/dist/d1db2c4677dd2ee7a0c690c58798a013.js +1 -0
  485. package/dist/d43ad5f9bad9a042b49b2592c7639c28.js +1 -0
  486. package/dist/d4f1a314cb3668f8e17f24bccf0229b6.js +1 -0
  487. package/dist/d4f5981ee5a73d8a6e19112f2ffcb72c.js +1 -0
  488. package/dist/d542dda7308361c34af2afb9b70d755a.js +1 -0
  489. package/dist/d5999827bd3af6b813a871de344b109a.js +1 -0
  490. package/dist/d5a6140d581e5c4eb200259ce372f40b.js +1 -0
  491. package/dist/d5f79987405c2169278f8de37bcc9d05.js +1 -0
  492. package/dist/d76046afaf4d32b0f0afb63b4fabc680.js +1 -0
  493. package/dist/d78d3b050ea95b068380d975fd413fd7.js +1 -0
  494. package/dist/d7d616d4aa8fd3f51d681242853dcde9.js +1 -0
  495. package/dist/d83cda12aee0c87c8b381a1234bf7798.js +1 -0
  496. package/dist/d85853bab3b213652aee023adecfb690.js +1 -0
  497. package/dist/da4a891d81f066ebf82f298c53bd4ed8.js +1 -0
  498. package/dist/da740c1b29a85b999a6874b59a1baeef.js +1 -0
  499. package/dist/db8ca5cfb6fe4aaef215f116f6991784.js +1 -0
  500. package/dist/dc7ab72407b0b44ef5dae159373de53b.js +1 -0
  501. package/dist/dc8240db39815020378555a4d80571c3.js +1 -0
  502. package/dist/dc83a73f0eb89665520bbb6672dfa3cb.js +1 -0
  503. package/dist/dc932cde2fbfca8e2901fb693968b131.js +1 -0
  504. package/dist/ddbc961769cd2ff4d4a7a136168ebf4c.js +1 -0
  505. package/dist/de0fd4fd7c2d7a4887cbc99eed91f797.js +1 -0
  506. package/dist/de73b4d2a9ed4bcb851f9141e303636d.js +1 -0
  507. package/dist/e00b330413304d60c26e164da7f9fe0c.js +1 -0
  508. package/dist/e0adad8a8579bf99f3e22f7c214a5c64.js +1 -0
  509. package/dist/e0c565aadda4787ba4ef4456c0a7ee29.js +1 -0
  510. package/dist/e0fa6a4fe8bff90d50ce812e666957ca.js +1 -0
  511. package/dist/e2b38a8393be2cf23f3894ace3efb1c3.js +1 -0
  512. package/dist/e2fe8f0d4fd950b20b30fabaea96b3f8.js +1 -0
  513. package/dist/e37ac12436bcd0536ec98ae8470a1228.js +1 -0
  514. package/dist/e4917fa7632b01d28e99304d32d989f7.js +1 -0
  515. package/dist/e61779df91186b23e7adf2d1968b2708.js +1 -0
  516. package/dist/e63fce237243190962fcc3b12b387e1b.js +1 -0
  517. package/dist/e6ad50b520736b595970c9e07029c3f1.js +1 -0
  518. package/dist/e7e1a807af3160b342e0a3550cf8f7c5.js +1 -0
  519. package/dist/e7f37e0f2b6113039c45a326264c4d36.js +1 -0
  520. package/dist/e874d975c9128dc6eb9a513d088bed9f.js +1 -0
  521. package/dist/e9382a0e67b22188c75e9418de1c9295.js +1 -0
  522. package/dist/e9c8f7e13e00284ce126890bf7ac46fd.js +1 -0
  523. package/dist/eaa55a522fb2cb2f0287711f42344984.js +1 -0
  524. package/dist/eb0b62e1895dcf7491419aa728f00c38.js +1 -0
  525. package/dist/ec7b3f184238605a5239da7559e6cff9.js +1 -0
  526. package/dist/ec901efce9bc8572f27155236a447e62.js +1 -0
  527. package/dist/ecdb4966f685f3e44b1f28fae46827a3.js +1 -0
  528. package/dist/ecff3d4bbf59ef41230960af46098e74.js +1 -0
  529. package/dist/ee41eb1fd1d1c87c45e818b5a8a65cf8.js +1 -0
  530. package/dist/ee5d36473f84db2af26d82efd69a38ec.js +1 -0
  531. package/dist/ef27f3b478f5d1558c2382b4bc0866bb.js +1 -0
  532. package/dist/ef87482c92662e8b69a21f47588474ea.js +1 -0
  533. package/dist/efc14cdf19554635e477781704353ec2.js +1 -0
  534. package/dist/eff4371180dfac54de25ed3a0105d82f.js +1 -0
  535. package/dist/ethiopia-esm-billing-app.js +6 -0
  536. package/dist/ethiopia-esm-billing-app.js.buildmanifest.json +1449 -0
  537. package/dist/ethiopia-esm-billing-app.js.map +1 -0
  538. package/dist/f15cbf0d23cba4a313f3f2acfef5370c.js +1 -0
  539. package/dist/f326f2f263b1498fedbe1d07d7254d10.js +1 -0
  540. package/dist/f694018779de5916e404c0fa902f34c1.js +1 -0
  541. package/dist/f69b43eccd9faed6d9182fac0b2a176d.js +1 -0
  542. package/dist/f6b33aded7ae7504bfcc4550925cccb0.js +1 -0
  543. package/dist/f6d7091e70dee6c74956acfef2464d08.js +1 -0
  544. package/dist/f6dc1ef066da7f1c3e5c5fc1462f7be0.js +1 -0
  545. package/dist/fa0c561bb37040fc8145e5c70ea64912.js +1 -0
  546. package/dist/fac0ce75e0690947a9e9e6f5b35c1ea8.js +1 -0
  547. package/dist/fb393a7455b47f3d4fc30cf219d5145c.js +1 -0
  548. package/dist/fd00121832e53db8249f7985d80ccd44.js +1 -0
  549. package/dist/fd3859a700b456e06c65c0cf6b0af05c.js +1 -0
  550. package/dist/fd5bc50b18c9f46380cbe5ec1ac2127b.js +1 -0
  551. package/dist/fd9645aaf1f70c8abc562be41bee25fc.js +1 -0
  552. package/dist/fe9499c0a5444f7f42843fa00fb355cb.js +1 -0
  553. package/dist/ffd3b83e8b5878f4785591ff54b1dfff.js +1 -0
  554. package/dist/main.js +32 -0
  555. package/dist/main.js.map +1 -0
  556. package/dist/routes.json +1 -0
  557. package/jest.config.js +8 -0
  558. package/package.json +52 -0
  559. package/rspack.config.js +1 -0
  560. package/src/autosuggest/autosuggest.component.tsx +203 -0
  561. package/src/autosuggest/autosuggest.scss +68 -0
  562. package/src/autosuggest/patient-search-info.component.tsx +29 -0
  563. package/src/autosuggest/patient-search-info.scss +37 -0
  564. package/src/autosuggest/search-empty-state.component.tsx +27 -0
  565. package/src/autosuggest/search-empty-state.scss +18 -0
  566. package/src/benefits-package/benefits/benefits-header.component.tsx +28 -0
  567. package/src/benefits-package/benefits/benefits.component.tsx +74 -0
  568. package/src/benefits-package/benefits/benefits.scss +61 -0
  569. package/src/benefits-package/benefits-package.component.tsx +37 -0
  570. package/src/benefits-package/benefits-package.mock.ts +145 -0
  571. package/src/benefits-package/benefits-package.resources.tsx +58 -0
  572. package/src/benefits-package/benefits-package.scss +23 -0
  573. package/src/benefits-package/empty-state/empty-state.component.tsx +23 -0
  574. package/src/benefits-package/empty-state/empty-state.scss +32 -0
  575. package/src/benefits-package/forms/benefit-pre-auth-form.workspace.tsx +292 -0
  576. package/src/benefits-package/forms/benefits-pre-auth-form.scss +66 -0
  577. package/src/benefits-package/forms/interventions-form.component.tsx +94 -0
  578. package/src/benefits-package/forms/packages-and-interventions-form.component.tsx +117 -0
  579. package/src/benefits-package/forms/preauth.resources.ts +17 -0
  580. package/src/benefits-package/table/benebfits-table.scss +53 -0
  581. package/src/benefits-package/table/benefits-table.component.tsx +90 -0
  582. package/src/benefits-package/table/generic-data-table.scss +57 -0
  583. package/src/benefits-package/table/generic_data_table.component.tsx +96 -0
  584. package/src/benefits-package/table/temporary-pre-auth-responses.json +392 -0
  585. package/src/bill-administration/bill-deposit/components/dashboard/bill-deposit-dashboard.component.tsx +35 -0
  586. package/src/bill-administration/bill-deposit/components/forms/add-deposit.workspace.scss +26 -0
  587. package/src/bill-administration/bill-deposit/components/forms/add-deposit.workspace.tsx +212 -0
  588. package/src/bill-administration/bill-deposit/components/forms/deposit-transactions/deposit-transaction.workspace.scss +33 -0
  589. package/src/bill-administration/bill-deposit/components/forms/deposit-transactions/deposit-transaction.workspace.tsx +257 -0
  590. package/src/bill-administration/bill-deposit/components/modal/delete-deposit.modal.tsx +58 -0
  591. package/src/bill-administration/bill-deposit/components/modal/reverse-transaction.modal.tsx +59 -0
  592. package/src/bill-administration/bill-deposit/components/search/bill-deposit-search.component.tsx +106 -0
  593. package/src/bill-administration/bill-deposit/components/search/bill-deposit-search.scss +107 -0
  594. package/src/bill-administration/bill-deposit/components/search/components/deposit-table.tsx +150 -0
  595. package/src/bill-administration/bill-deposit/components/search/components/patient-info.tsx +38 -0
  596. package/src/bill-administration/bill-deposit/components/search/components/patient-search.tsx +24 -0
  597. package/src/bill-administration/bill-deposit/components/search/components/transaction-list/transaction-list.component.tsx +66 -0
  598. package/src/bill-administration/bill-deposit/components/search/components/transaction-list/transaction-list.scss +5 -0
  599. package/src/bill-administration/bill-deposit/constants/bill-deposit.constants.ts +25 -0
  600. package/src/bill-administration/bill-deposit/hooks/useBillDeposit.ts +43 -0
  601. package/src/bill-administration/bill-deposit/styles/bill-deposit-dashboard.scss +11 -0
  602. package/src/bill-administration/bill-deposit/types/bill-deposit.types.ts +61 -0
  603. package/src/bill-administration/bill-deposit/utils/bill-deposit.utils.ts +92 -0
  604. package/src/bill-administration/billable-exemption/billable-exemptions/action-buttons/action-buttons.component.tsx +18 -0
  605. package/src/bill-administration/billable-exemption/billable-exemptions/action-buttons/action-buttons.scss +12 -0
  606. package/src/bill-administration/billable-exemption/billable-exemptions/billable-exemptions-viewer.component.tsx +172 -0
  607. package/src/bill-administration/billable-exemption/billable-exemptions/billable-exemptions.scss +75 -0
  608. package/src/bill-administration/billable-exemption/billable-exemptions/modals/save-schema-modal.scss +39 -0
  609. package/src/bill-administration/billable-exemption/billable-exemptions/modals/save-schema.modal.tsx +88 -0
  610. package/src/bill-administration/billable-exemption/billable-exemptions/schema-editor/schema-editor.component.tsx +179 -0
  611. package/src/bill-administration/billable-exemption/billable-exemptions/schema-editor/schema-editor.scss +36 -0
  612. package/src/bill-administration/billable-exemption/billable-exemptions/schema-editor/schema-viewer-component.tsx +93 -0
  613. package/src/bill-administration/billable-exemption/billable-exemptions/schema-editor/schema-viewer.scss +28 -0
  614. package/src/bill-administration/billable-exemption/billable-exemptions/schema-editor/schema-viewer.test.tsx +50 -0
  615. package/src/bill-administration/billable-exemption/billable-exemptions.component.tsx +16 -0
  616. package/src/bill-administration/dashboard/dashboard-container.component.tsx +26 -0
  617. package/src/bill-administration/dashboard/dashboard-container.scss +2 -0
  618. package/src/bill-administration/dashboard.meta.ts +48 -0
  619. package/src/bill-administration/home.component.tsx +26 -0
  620. package/src/bill-administration/home.scss +10 -0
  621. package/src/bill-administration/index.tsx +71 -0
  622. package/src/bill-administration/patient-billing/bill-actions/cancel-line-item.component.tsx +29 -0
  623. package/src/bill-administration/patient-billing/bill-actions/delete-bill-action-button.component.tsx +37 -0
  624. package/src/bill-administration/patient-billing/bill-actions/edit-line-item.component.tsx +31 -0
  625. package/src/bill-administration/patient-billing/bill-actions/refund-line-item.component.tsx +34 -0
  626. package/src/bill-administration/patient-billing/bill-actions/waive-bill-action-button.component.tsx +37 -0
  627. package/src/bill-administration/patient-billing/bill-line-items.component.tsx +85 -0
  628. package/src/bill-administration/patient-billing/modals/cancel-bill.scss +29 -0
  629. package/src/bill-administration/patient-billing/modals/delete-bill.modal.tsx +122 -0
  630. package/src/bill-administration/patient-billing/modals/delete-billable-service.modal.tsx +79 -0
  631. package/src/bill-administration/patient-billing/modals/delete-billable-service.test.tsx +101 -0
  632. package/src/bill-administration/patient-billing/modals/delete-services.scss +28 -0
  633. package/src/bill-administration/patient-billing/modals/refund-bill.modal.tsx +105 -0
  634. package/src/bill-administration/patient-billing/patient-billing.component.tsx +64 -0
  635. package/src/bill-administration/patient-billing/patient-billing.scss +31 -0
  636. package/src/bill-administration/patient-billing/patient-bills.component.tsx +147 -0
  637. package/src/bill-administration/patient-billing/workspaces/cancel-bill/cance-bill.resource.tsx +47 -0
  638. package/src/bill-administration/patient-billing/workspaces/cancel-bill/cancel-bill.scss +40 -0
  639. package/src/bill-administration/patient-billing/workspaces/cancel-bill/cancel-bill.workspace.tsx +128 -0
  640. package/src/bill-administration/patient-billing/workspaces/create-bill/create-bill.style.scss +40 -0
  641. package/src/bill-administration/patient-billing/workspaces/create-bill/create-bill.workspace.test.tsx +271 -0
  642. package/src/bill-administration/patient-billing/workspaces/create-bill/create-bill.workspace.tsx +295 -0
  643. package/src/bill-administration/patient-billing/workspaces/edit-bill/edit-bill-form.test.tsx +90 -0
  644. package/src/bill-administration/patient-billing/workspaces/edit-bill/edit-bill-form.workspace.tsx +190 -0
  645. package/src/bill-administration/patient-billing/workspaces/edit-bill/edit-bill-util.ts +60 -0
  646. package/src/bill-administration/patient-billing/workspaces/edit-bill/edit-bill.scss +40 -0
  647. package/src/bill-administration/patient-billing/workspaces/edit-bill/useEditBillFormSchema.tsx +92 -0
  648. package/src/bill-administration/patient-billing/workspaces/waive-bill/waive-bill-form.scss +57 -0
  649. package/src/bill-administration/patient-billing/workspaces/waive-bill/waive-bill-form.test.tsx +173 -0
  650. package/src/bill-administration/patient-billing/workspaces/waive-bill/waive-bill-form.workspace.tsx +232 -0
  651. package/src/bill-administration/payment-history/filters/bill-filter.test.ts +124 -0
  652. package/src/bill-administration/payment-history/filters/bill-filter.ts +42 -0
  653. package/src/bill-administration/payment-history/filters/cashier-filter.component.tsx +61 -0
  654. package/src/bill-administration/payment-history/filters/date-ranger-filter.component.tsx +38 -0
  655. package/src/bill-administration/payment-history/filters/filter-dashboard.scss +15 -0
  656. package/src/bill-administration/payment-history/filters/filter-dashboard.tsx +17 -0
  657. package/src/bill-administration/payment-history/filters/filter.component.tsx +15 -0
  658. package/src/bill-administration/payment-history/filters/filter.scss +5 -0
  659. package/src/bill-administration/payment-history/filters/payment-type-filter.component.tsx +61 -0
  660. package/src/bill-administration/payment-history/filters/service-type-filter.component.tsx +65 -0
  661. package/src/bill-administration/payment-history/filters/timesheets-filter.component.tsx +68 -0
  662. package/src/bill-administration/payment-history/payment-dashboard.component.tsx +39 -0
  663. package/src/bill-administration/payment-history/payment-dashboard.scss +8 -0
  664. package/src/bill-administration/payment-history/payment-history-table.component.tsx +174 -0
  665. package/src/bill-administration/payment-history/payment-history-viewer.component.tsx +40 -0
  666. package/src/bill-administration/payment-history/payment-history.component.tsx +15 -0
  667. package/src/bill-administration/payment-history/payment-history.scss +86 -0
  668. package/src/bill-administration/payment-history/payment-method-distribution.component.tsx +100 -0
  669. package/src/bill-administration/payment-history/useBillServiceTypes.tsx +15 -0
  670. package/src/bill-administration/payment-history/usePaymentFilterContext.tsx +110 -0
  671. package/src/bill-administration/payment-history/usePaymentModeGroupTotals.tsx +42 -0
  672. package/src/bill-administration/payment-history/usePaymentTransactionHistory.tsx +34 -0
  673. package/src/bill-administration/payment-modes/delete-payment-mode.modal.scss +33 -0
  674. package/src/bill-administration/payment-modes/delete-payment-mode.modal.tsx +62 -0
  675. package/src/bill-administration/payment-modes/delete-payment-mode.test.tsx +56 -0
  676. package/src/bill-administration/payment-modes/payment-attributes/payment-mode-attributes.component.tsx +156 -0
  677. package/src/bill-administration/payment-modes/payment-attributes/payment-mode-attributes.scss +10 -0
  678. package/src/bill-administration/payment-modes/payment-mode-dashboard.component.tsx +222 -0
  679. package/src/bill-administration/payment-modes/payment-mode-dashboard.scss +32 -0
  680. package/src/bill-administration/payment-modes/payment-mode-home.component.tsx +18 -0
  681. package/src/bill-administration/payment-modes/payment-mode.resource.tsx +49 -0
  682. package/src/bill-administration/payment-modes/payment-mode.workspace.scss +33 -0
  683. package/src/bill-administration/payment-modes/payment-mode.workspace.test.tsx +207 -0
  684. package/src/bill-administration/payment-modes/payment-mode.workspace.tsx +223 -0
  685. package/src/bill-administration/payment-modes/usePaymentModeFormSchema.tsx +52 -0
  686. package/src/bill-administration/payment-points/clock-in-boundary.component.tsx +35 -0
  687. package/src/bill-administration/payment-points/create-payment-point.component.tsx +104 -0
  688. package/src/bill-administration/payment-points/payment-point/clock-in.modal.tsx +162 -0
  689. package/src/bill-administration/payment-points/payment-point/clock-in.scss +11 -0
  690. package/src/bill-administration/payment-points/payment-point/clock-out.modal.tsx +65 -0
  691. package/src/bill-administration/payment-points/payment-point/payment-point.component.tsx +30 -0
  692. package/src/bill-administration/payment-points/payment-points-styles.scss +16 -0
  693. package/src/bill-administration/payment-points/payment-points-table.component.tsx +101 -0
  694. package/src/bill-administration/payment-points/payment-points.component.tsx +33 -0
  695. package/src/bill-administration/payment-points/payment-points.resource.ts +131 -0
  696. package/src/bill-administration/payment-points/use-clock-in-status.ts +14 -0
  697. package/src/bill-administration/service-catalog/billable-service.resource.tsx +78 -0
  698. package/src/bill-administration/service-catalog/bulk-import-billable-service.modal.tsx +194 -0
  699. package/src/bill-administration/service-catalog/charge-summary-table.component.test.tsx +199 -0
  700. package/src/bill-administration/service-catalog/charge-summary-table.component.tsx +236 -0
  701. package/src/bill-administration/service-catalog/charge-summary-table.scss +19 -0
  702. package/src/bill-administration/service-catalog/charge-summary.resource.tsx +42 -0
  703. package/src/bill-administration/service-catalog/clinical-charges.component.tsx +36 -0
  704. package/src/bill-administration/service-catalog/clinical-charges.scss +259 -0
  705. package/src/bill-administration/service-catalog/commodity/commodity-form.scss +61 -0
  706. package/src/bill-administration/service-catalog/commodity/commodity-form.workspace.test.tsx +307 -0
  707. package/src/bill-administration/service-catalog/commodity/commodity-form.workspace.tsx +215 -0
  708. package/src/bill-administration/service-catalog/commodity/stock-search.component.tsx +107 -0
  709. package/src/bill-administration/service-catalog/commodity/useCommodityItem.tsx +59 -0
  710. package/src/bill-administration/service-catalog/form-helper.ts +225 -0
  711. package/src/bill-administration/service-catalog/form-schemas.tsx +33 -0
  712. package/src/bill-administration/service-catalog/services/concept-search.component.tsx +67 -0
  713. package/src/bill-administration/service-catalog/services/price.component.tsx +82 -0
  714. package/src/bill-administration/service-catalog/services/service-form.scss +59 -0
  715. package/src/bill-administration/service-catalog/services/service-form.workspace.test.tsx +228 -0
  716. package/src/bill-administration/service-catalog/services/service-form.workspace.tsx +301 -0
  717. package/src/bill-history/bill-history.component.tsx +193 -0
  718. package/src/bill-history/bill-history.scss +168 -0
  719. package/src/bill-history/bill-history.test.tsx +118 -0
  720. package/src/billable-services/billable-orders/drug-order/drug-order.component.tsx +65 -0
  721. package/src/billable-services/billable-orders/drug-order/drug-order.scss +31 -0
  722. package/src/billable-services/billable-orders/order-actions/components/base-order-button.component.tsx +42 -0
  723. package/src/billable-services/billable-orders/order-actions/components/generic-button.component.tsx +64 -0
  724. package/src/billable-services/billable-orders/order-actions/components/medication-order-button.component.tsx +115 -0
  725. package/src/billable-services/billable-orders/order-actions/components/medication-order-button.scss +11 -0
  726. package/src/billable-services/billable-orders/order-actions/components/order-action-button.component.tsx +59 -0
  727. package/src/billable-services/billable-orders/order-actions/hooks/useBillStatus.ts +12 -0
  728. package/src/billable-services/billable-orders/order-actions/hooks/useLabOrderAction.ts +55 -0
  729. package/src/billable-services/billable-orders/order-actions/hooks/useMedicationOrderAction.ts +128 -0
  730. package/src/billable-services/billable-orders/order-actions/hooks/useModalHandler.ts +103 -0
  731. package/src/billable-services/billable-orders/order-actions/styles/order-action.scss +0 -0
  732. package/src/billable-services/billable-orders/test-order/dispense.resource.tsx +89 -0
  733. package/src/billable-services/billable-orders/test-order/imaging-order.component.tsx +34 -0
  734. package/src/billable-services/billable-orders/test-order/lab-order.component.tsx +34 -0
  735. package/src/billable-services/billable-orders/test-order/price-info-order.componet.tsx +60 -0
  736. package/src/billable-services/billable-orders/test-order/price-info-order.scss +20 -0
  737. package/src/billable-services/billable-orders/test-order/procedure-order.component.tsx +34 -0
  738. package/src/billable-services/billable-orders/test-order/test-order-action.resource.tsx +86 -0
  739. package/src/billable-services/billable-orders/test-order/test-order-action.scss +12 -0
  740. package/src/billable-services/billable-orders/useBillableItem.tsx +69 -0
  741. package/src/billable-services/utils.ts +60 -0
  742. package/src/billing-dashboard/billing-dashboard.component.tsx +34 -0
  743. package/src/billing-dashboard/billing-dashboard.scss +72 -0
  744. package/src/billing-dashboard/clock-in-button.component.tsx +40 -0
  745. package/src/billing-dashboard/clock-out-strip.component.tsx +63 -0
  746. package/src/billing-form/billing-checkin-form.component.tsx +153 -0
  747. package/src/billing-form/billing-checkin-form.scss +14 -0
  748. package/src/billing-form/billing-checkin-form.test.tsx +146 -0
  749. package/src/billing-form/billing-form.component.tsx +237 -0
  750. package/src/billing-form/billing-form.scss +67 -0
  751. package/src/billing-form/check-in-form.utils.tsx +13 -0
  752. package/src/billing-form/helper.ts +2 -0
  753. package/src/billing-form/hie.resource.tsx +71 -0
  754. package/src/billing-form/social-health-authority/patient-banner-sha-status.extension.tsx +93 -0
  755. package/src/billing-form/social-health-authority/patient-banner-sha-status.scss +62 -0
  756. package/src/billing-form/social-health-authority/sha-number-validity.component.tsx +125 -0
  757. package/src/billing-form/social-health-authority/sha-number-validity.scss +88 -0
  758. package/src/billing-form/visit-attributes/visit-attributes-form.component.tsx +198 -0
  759. package/src/billing-form/visit-attributes/visit-attributes-form.scss +18 -0
  760. package/src/billing-header/billing-header.component.tsx +33 -0
  761. package/src/billing-header/billing-header.scss +83 -0
  762. package/src/billing-header/billing-illustration.component.tsx +30 -0
  763. package/src/billing-tabs/billing-tabs.scss +8 -0
  764. package/src/billing-tabs/billling-tabs.component.tsx +54 -0
  765. package/src/billing.resource.ts +298 -0
  766. package/src/bills-table/bills-table.component.tsx +292 -0
  767. package/src/bills-table/bills-table.scss +189 -0
  768. package/src/bills-table/bills-table.test.tsx +135 -0
  769. package/src/claims/claims-management/generic-table/generic-table.component.tsx +165 -0
  770. package/src/claims/claims-management/generic-table/generic-table.scss +40 -0
  771. package/src/claims/claims-management/header/claims-header.component.tsx +35 -0
  772. package/src/claims/claims-management/header/claims-header.scss +70 -0
  773. package/src/claims/claims-management/header/claims-illustration.component.tsx +13 -0
  774. package/src/claims/claims-management/header/filter-header.component.tsx +75 -0
  775. package/src/claims/claims-management/header/filter-header.scss +13 -0
  776. package/src/claims/claims-management/main/claims-overview-main.component.tsx +17 -0
  777. package/src/claims/claims-management/main/claims-pre-auth-main.component.tsx +36 -0
  778. package/src/claims/claims-management/main/claims-preauth.scss +13 -0
  779. package/src/claims/claims-management/table/claim-summary-modal/claim-summary.modal.tsx +284 -0
  780. package/src/claims/claims-management/table/claim-summary-modal/claim-summary.scss +252 -0
  781. package/src/claims/claims-management/table/claim-table.component.tsx +288 -0
  782. package/src/claims/claims-management/table/claims-list-table.component.tsx +16 -0
  783. package/src/claims/claims-management/table/claims-list-table.scss +45 -0
  784. package/src/claims/claims-management/table/hook/table.resource.tsx +9 -0
  785. package/src/claims/claims-management/table/manage-claim-request.modal.tsx +184 -0
  786. package/src/claims/claims-management/table/pre-auth-table.component.tsx +81 -0
  787. package/src/claims/claims-management/table/preauth-table.tmp.component.tsx +31 -0
  788. package/src/claims/claims-management/table/table-mock-up-data.ts +112 -0
  789. package/src/claims/claims-management/table/use-facility-claims.ts +43 -0
  790. package/src/claims/claims-wrap/claims-main-component.tsx +35 -0
  791. package/src/claims/claims-wrap/claims-main.scss +28 -0
  792. package/src/claims/dashboard/claims-breakdown/claims-breakdown.component.tsx +19 -0
  793. package/src/claims/dashboard/claims-breakdown/claims-breakdown.scss +35 -0
  794. package/src/claims/dashboard/claims-dashboard.component.tsx +41 -0
  795. package/src/claims/dashboard/form/claims-explanation-and-justification-form-input.component.tsx +192 -0
  796. package/src/claims/dashboard/form/claims-form.component.tsx +719 -0
  797. package/src/claims/dashboard/form/claims-form.mocks.ts +44 -0
  798. package/src/claims/dashboard/form/claims-form.resource.ts +161 -0
  799. package/src/claims/dashboard/form/claims-form.scss +161 -0
  800. package/src/claims/dashboard/form/claims-supporting-documents-inputs.form.tsx +180 -0
  801. package/src/claims/dashboard/header/claims-header.component.tsx +23 -0
  802. package/src/claims/dashboard/header/claims-header.scss +23 -0
  803. package/src/claims/dashboard/table/claims-table.component.tsx +206 -0
  804. package/src/claims/dashboard/table/claims-table.scss +106 -0
  805. package/src/claims/make-claims.component.tsx +28 -0
  806. package/src/claims/make-claims.scss +7 -0
  807. package/src/claims/metrics/metrics-card.component.tsx +36 -0
  808. package/src/claims/metrics/metrics-card.scss +75 -0
  809. package/src/claims/metrics/metrics-header.component.tsx +16 -0
  810. package/src/claims/metrics/metrics-header.scss +16 -0
  811. package/src/claims/metrics/metrics.component.tsx +49 -0
  812. package/src/claims/metrics/metrics.scss +13 -0
  813. package/src/claims/utils.ts +50 -0
  814. package/src/config-schema.ts +248 -0
  815. package/src/constants.ts +24 -0
  816. package/src/dashboard.meta.ts +25 -0
  817. package/src/declarations.d.ts +2 -0
  818. package/src/helpers/README.md +174 -0
  819. package/src/helpers/currency.test.ts +114 -0
  820. package/src/helpers/currency.ts +137 -0
  821. package/src/helpers/excelExport.ts +31 -0
  822. package/src/helpers/functions.ts +83 -0
  823. package/src/helpers/index.ts +1 -0
  824. package/src/hooks/benefits.mock.ts +391 -0
  825. package/src/hooks/getMflCode.tsx +19 -0
  826. package/src/hooks/use-payments-reconciler.tsx +75 -0
  827. package/src/hooks/use-pre-auth-requests.ts +256 -0
  828. package/src/hooks/use-rendered-rows.ts +90 -0
  829. package/src/hooks/useBillableServices.ts +18 -0
  830. package/src/hooks/useExemptionSchema.tsx +49 -0
  831. package/src/hooks/useFacilityLevel.ts +27 -0
  832. package/src/hooks/useInterventions.ts +50 -0
  833. package/src/hooks/useOTP.ts +677 -0
  834. package/src/hooks/usePackages.ts +43 -0
  835. package/src/hooks/usePatient.ts +12 -0
  836. package/src/hooks/usePatientAttributes.tsx +26 -0
  837. package/src/hooks/usePatientDiagnosis.ts +26 -0
  838. package/src/hooks/usePatientIdentifierType.ts +26 -0
  839. package/src/hooks/usePaymentSchema.tsx +42 -0
  840. package/src/hooks/usePhoneNumber.ts +35 -0
  841. package/src/hooks/usePrintPreview.tsx +17 -0
  842. package/src/hooks/useProvider.ts +19 -0
  843. package/src/hooks/useProviderList.ts +19 -0
  844. package/src/hooks/useRequestStatus.tsx +211 -0
  845. package/src/index.ts +159 -0
  846. package/src/invoice/invoice-actions.component.tsx +240 -0
  847. package/src/invoice/invoice-table.component.tsx +202 -0
  848. package/src/invoice/invoice-table.scss +91 -0
  849. package/src/invoice/invoice.component.tsx +132 -0
  850. package/src/invoice/invoice.resource.ts +151 -0
  851. package/src/invoice/invoice.scss +186 -0
  852. package/src/invoice/invoice.test.tsx +220 -0
  853. package/src/invoice/payments/initiate-payment/initiate-payment.component.tsx +207 -0
  854. package/src/invoice/payments/initiate-payment/initiate-payment.scss +48 -0
  855. package/src/invoice/payments/invoice-breakdown/invoice-breakdown.component.tsx +17 -0
  856. package/src/invoice/payments/invoice-breakdown/invoice-breakdown.scss +29 -0
  857. package/src/invoice/payments/payment-form/payment-form.component.tsx +137 -0
  858. package/src/invoice/payments/payment-form/payment-form.scss +54 -0
  859. package/src/invoice/payments/payment-form/payment.scss +33 -0
  860. package/src/invoice/payments/payment-form/payment.workspace.tsx +195 -0
  861. package/src/invoice/payments/payment-form/use-payment-form.ts +77 -0
  862. package/src/invoice/payments/payment-history/payment-history.component.tsx +68 -0
  863. package/src/invoice/payments/payment-status-ckecker.modal.tsx +136 -0
  864. package/src/invoice/payments/payments.component.tsx +273 -0
  865. package/src/invoice/payments/payments.resource.ts +65 -0
  866. package/src/invoice/payments/payments.scss +71 -0
  867. package/src/invoice/payments/payments.test.tsx +321 -0
  868. package/src/invoice/payments/utils.ts +205 -0
  869. package/src/invoice/payments/visit-tags/visit-attribute.component.tsx +21 -0
  870. package/src/left--panel-link.test.tsx +42 -0
  871. package/src/left-panel-link.component.tsx +79 -0
  872. package/src/m-pesa/mpesa-resource.tsx +146 -0
  873. package/src/metrics-cards/card.component.tsx +11 -0
  874. package/src/metrics-cards/card.scss +20 -0
  875. package/src/metrics-cards/metrics-cards.component.tsx +58 -0
  876. package/src/metrics-cards/metrics-cards.scss +84 -0
  877. package/src/metrics-cards/metrics-cards.test.tsx +42 -0
  878. package/src/metrics-cards/metrics.resource.ts +54 -0
  879. package/src/modal/bill-action.modal.scss +7 -0
  880. package/src/modal/bill-action.modal.tsx +124 -0
  881. package/src/past-patient-bills/patient-bills-dashboard/empty-patient-bill.component.tsx +42 -0
  882. package/src/past-patient-bills/patient-bills-dashboard/empty-svg.component.tsx +566 -0
  883. package/src/past-patient-bills/patient-bills-dashboard/patient-bills-dashboard.scss +53 -0
  884. package/src/past-patient-bills/patient-bills-dashboard/patient-bills-dashboard.tsx +44 -0
  885. package/src/past-patient-bills/patient-bills-dashboard/patient-search-extension.component.tsx +25 -0
  886. package/src/past-patient-bills/patient-bills.component.tsx +157 -0
  887. package/src/past-patient-bills/patient-bills.scss +42 -0
  888. package/src/past-patient-bills/patient-bills.test.tsx +300 -0
  889. package/src/print-preview/print-preview.modal.tsx +45 -0
  890. package/src/print-preview/print-preview.scss +21 -0
  891. package/src/prompt-payment/prompt-payment-modal.component.tsx +118 -0
  892. package/src/prompt-payment/prompt-payment.modal.test.tsx +204 -0
  893. package/src/prompt-payment/prompt-payment.resource.tsx +231 -0
  894. package/src/prompt-payment/prompt-payment.scss +18 -0
  895. package/src/root.component.tsx +40 -0
  896. package/src/routes.json +426 -0
  897. package/src/types/index.ts +697 -0
  898. package/src/utils.ts +172 -0
  899. package/translations/am.json +365 -0
  900. package/translations/en.json +365 -0
  901. package/translations/sw.json +365 -0
  902. package/tsconfig.json +5 -0
package/dist/101.js ADDED
@@ -0,0 +1 @@
1
+ (globalThis.webpackChunk_palladium_ethiopia_esm_billing_app=globalThis.webpackChunk_palladium_ethiopia_esm_billing_app||[]).push([["101"],{71841(e,t,r){var i,o,n,s,a,l,c,h;e=r.nmd(e),!(i=function(){return this}())&&"u">typeof window&&(i=window),(o=function(e,t,r){"string"!=typeof e?o.original?o.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace()):(2==arguments.length&&(r=t),o.modules[e]||(o.payloads[e]=r,o.modules[e]=null))}).modules={},o.payloads={},n=function(e,t,r){if("string"==typeof t){var i=l(e,t);if(void 0!=i)return r&&r(),i}else if("[object Array]"===Object.prototype.toString.call(t)){for(var o=[],n=0,a=t.length;n<a;++n){var c=l(e,t[n]);if(void 0==c&&s.original)return;o.push(c)}return r&&r.apply(null,o)||!0}},s=function(e,t){var r=n("",e,t);return void 0==r&&s.original?s.original.apply(this,arguments):r},a=function(e,t){if(-1!==t.indexOf("!")){var r=t.split("!");return a(e,r[0])+"!"+a(e,r[1])}if("."==t.charAt(0))for(t=e.split("/").slice(0,-1).join("/")+"/"+t;-1!==t.indexOf(".")&&i!=t;){var i=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}return t},l=function(e,t){t=a(e,t);var r=o.modules[t];if(!r){if("function"==typeof(r=o.payloads[t])){var i={},s={id:t,uri:"",exports:i,packaged:!0};i=r(function(e,r){return n(t,e,r)},i,s)||s.exports,o.modules[t]=i,delete o.payloads[t]}r=o.modules[t]=i||r}return r},c="ace",h=i,i.ace||(i.ace={}),h=i.ace,h.define&&h.define.packaged||(o.original=h.define,h.define=o,h.define.packaged=!0),h.require&&h.require.packaged||(s.original=h.require,h.require=s,h.require.packaged=!0),ace.define("ace/lib/es6-shim",["require","exports","module"],function(e,t,r){function i(e,t,r){Object.defineProperty(e,t,{value:r,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||i(String.prototype,"startsWith",function(e,t){return t=t||0,this.lastIndexOf(e,t)===t}),String.prototype.endsWith||i(String.prototype,"endsWith",function(e,t){(void 0===t||t>this.length)&&(t=this.length),t-=e.length;var r=this.indexOf(e,t);return -1!==r&&r===t}),String.prototype.repeat||i(String.prototype,"repeat",function(e){for(var t="",r=this;e>0;)1&e&&(t+=r),(e>>=1)&&(r+=r);return t}),String.prototype.includes||i(String.prototype,"includes",function(e,t){return -1!=this.indexOf(e,t)}),Object.assign||(Object.assign=function(e){if(null==e)throw TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1;r<arguments.length;r++){var i=arguments[r];null!=i&&Object.keys(i).forEach(function(e){t[e]=i[e]})}return t}),Object.values||(Object.values=function(e){return Object.keys(e).map(function(t){return e[t]})}),Array.prototype.find||i(Array.prototype,"find",function(e){for(var t=this.length,r=arguments[1],i=0;i<t;i++){var o=this[i];if(e.call(r,o,i,this))return o}}),Array.prototype.findIndex||i(Array.prototype,"findIndex",function(e){for(var t=this.length,r=arguments[1],i=0;i<t;i++){var o=this[i];if(e.call(r,o,i,this))return i}}),Array.prototype.includes||i(Array.prototype,"includes",function(e,t){return -1!=this.indexOf(e,t)}),Array.prototype.fill||i(Array.prototype,"fill",function(e){for(var t=this.length>>>0,r=arguments[1],i=0|r,o=i<0?Math.max(t+i,0):Math.min(i,t),n=arguments[2],s=void 0===n?t:0|n,a=s<0?Math.max(t+s,0):Math.min(s,t);o<a;)this[o]=e,o++;return this}),Array.of||i(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(e,t,r){"use strict";e("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(e,t,r){t.deepCopy=function e(t){if("object"!=typeof t||!t)return t;if(Array.isArray(t)){r=[];for(var r,i=0;i<t.length;i++)r[i]=e(t[i]);return r}if("[object Object]"!==Object.prototype.toString.call(t))return t;for(var i in r={},t)r[i]=e(t[i]);return r}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(e,t,r){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){for(var r="";t>0;)1&t&&(r+=e),(t>>=1)&&(e+=e);return r};var i=/^\s\s*/,o=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(i,"")},t.stringTrimRight=function(e){return e.replace(o,"")},t.copyObject=function(e){var t={};for(var r in e)t[r]=e[r];return t},t.copyArray=function(e){for(var t=[],r=0,i=e.length;r<i;r++)e[r]&&"object"==typeof e[r]?t[r]=this.copyObject(e[r]):t[r]=e[r];return t},t.deepCopy=e("./deep_copy").deepCopy,t.arrayToMap=function(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var r in e)t[r]=e[r];return t},t.arrayRemove=function(e,t){for(var r=0;r<=e.length;r++)t===e[r]&&e.splice(r,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return(""+e).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var r=[];return e.replace(t,function(e){r.push({offset:arguments[arguments.length-2],length:e.length})}),r},t.deferredCall=function(e){var t=null,r=function(){t=null,e()},i=function(e){return i.cancel(),t=setTimeout(r,e||0),i};return i.schedule=i,i.call=function(){return this.cancel(),e(),i},i.cancel=function(){return clearTimeout(t),t=null,i},i.isPending=function(){return t},i},t.delayedCall=function(e,t){var r=null,i=function(){r=null,e()},o=function(e){null==r&&(r=setTimeout(i,e||t))};return o.delay=function(e){r&&clearTimeout(r),r=setTimeout(i,e||t)},o.schedule=o,o.call=function(){this.cancel(),e()},o.cancel=function(){r&&clearTimeout(r),r=null},o.isPending=function(){return r},o},t.supportsLookbehind=function(){try{RegExp("(?<=.)")}catch(e){return!1}return!0},t.skipEmptyMatch=function(e,t,r){return r&&e.codePointAt(t)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(e,t,r){"use strict";t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};var i="object"==typeof navigator?navigator:{},o=(/mac|win|linux/i.exec(i.platform)||["other"])[0].toLowerCase(),n=i.userAgent||"",s=i.appName||"";t.isWin="win"==o,t.isMac="mac"==o,t.isLinux="linux"==o,t.isIE="Microsoft Internet Explorer"==s||s.indexOf("MSAppHost")>=0?parseFloat((n.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((n.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=n.match(/ Gecko\/\d+/),t.isOpera="object"==typeof opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),t.isWebKit=parseFloat(n.split("WebKit/")[1])||void 0,t.isChrome=parseFloat(n.split(" Chrome/")[1])||void 0,t.isSafari=parseFloat(n.split(" Safari/")[1])&&!t.isChrome||void 0,t.isEdge=parseFloat(n.split(" Edge/")[1])||void 0,t.isAIR=n.indexOf("AdobeAIR")>=0,t.isAndroid=n.indexOf("Android")>=0,t.isChromeOS=n.indexOf(" CrOS ")>=0,t.isIOS=/iPad|iPhone|iPod/.test(n)&&!window.MSStream,t.isIOS&&(t.isMac=!0),t.isMobile=t.isIOS||t.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(e,t,r){"use strict";var i,o=e("./useragent");t.buildDom=function e(t,r,i){if("string"==typeof t&&t){var o=document.createTextNode(t);return r&&r.appendChild(o),o}if(!Array.isArray(t))return t&&t.appendChild&&r&&r.appendChild(t),t;if("string"!=typeof t[0]||!t[0]){for(var n=[],s=0;s<t.length;s++){var a=e(t[s],r,i);a&&n.push(a)}return n}var l=document.createElement(t[0]),c=t[1],h=1;c&&"object"==typeof c&&!Array.isArray(c)&&(h=2);for(var s=h;s<t.length;s++)e(t[s],l,i);return 2==h&&Object.keys(c).forEach(function(e){var t=c[e];"class"===e?l.className=Array.isArray(t)?t.join(" "):t:"function"==typeof t||"value"==e||"$"==e[0]?l[e]=t:"ref"===e?i&&(i[t]=l):"style"===e?"string"==typeof t&&(l.style.cssText=t):null!=t&&l.setAttribute(e,t)}),r&&r.appendChild(l),l},t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||"http://www.w3.org/1999/xhtml",e):document.createElement(e)},t.removeChildren=function(e){e.innerHTML=""},t.createTextNode=function(e,t){return(t?t.ownerDocument:document).createTextNode(e)},t.createFragment=function(e){return(e?e.ownerDocument:document).createDocumentFragment()},t.hasCssClass=function(e,t){return -1!==(e.className+"").split(/\s+/g).indexOf(t)},t.addCssClass=function(e,r){t.hasCssClass(e,r)||(e.className+=" "+r)},t.removeCssClass=function(e,t){for(var r=e.className.split(/\s+/g);;){var i=r.indexOf(t);if(-1==i)break;r.splice(i,1)}e.className=r.join(" ")},t.toggleCssClass=function(e,t){for(var r=e.className.split(/\s+/g),i=!0;;){var o=r.indexOf(t);if(-1==o)break;i=!1,r.splice(o,1)}return i&&r.push(t),e.className=r.join(" "),i},t.setCssClass=function(e,r,i){i?t.addCssClass(e,r):t.removeCssClass(e,r)},t.hasCssString=function(e,t){var r,i=0;if(r=(t=t||document).querySelectorAll("style")){for(;i<r.length;)if(r[i++].id===e)return!0}},t.removeElementById=function(e,t){(t=t||document).getElementById(e)&&t.getElementById(e).remove()};var n=[];function s(){var e=n;n=null,e&&e.forEach(function(e){a(e[0],e[1])})}function a(e,r,o){if(!("u"<typeof document)){if(n){if(o)s();else if(!1===o)return n.push([e,r])}if(!i){var a=o;o&&o.getRootNode&&(a=o.getRootNode())&&a!=o||(a=document);var l=a.ownerDocument||a;if(r&&t.hasCssString(r,a))return null;r&&(e+="\n/*# sourceURL=ace/css/"+r+" */");var c=t.createElement("style");c.appendChild(l.createTextNode(e)),r&&(c.id=r),a==l&&(a=t.getDocumentHead(l)),a.insertBefore(c,a.firstChild)}}}if(t.useStrictCSP=function(e){i=e,!1==e?s():n||(n=[])},t.importCssString=a,t.importCssStylsheet=function(e,r){t.buildDom(["link",{rel:"stylesheet",href:e}],t.getDocumentHead(r))},t.$fixPositionBug=function(e){var t=e.getBoundingClientRect();if(e.style.left){var r=parseFloat(e.style.left),i=+t.left;Math.abs(r-i)>1&&(e.style.left=2*r-i+"px")}if(e.style.right){var r=parseFloat(e.style.right),i=window.innerWidth-t.right;Math.abs(r-i)>1&&(e.style.right=2*r-i+"px")}if(e.style.top){var r=parseFloat(e.style.top),i=+t.top;Math.abs(r-i)>1&&(e.style.top=2*r-i+"px")}if(e.style.bottom){var r=parseFloat(e.style.bottom),i=window.innerHeight-t.bottom;Math.abs(r-i)>1&&(e.style.bottom=2*r-i+"px")}},t.scrollbarWidth=function(e){var r=t.createElement("ace_inner");r.style.width="100%",r.style.minWidth="0px",r.style.height="200px",r.style.display="block";var i=t.createElement("ace_outer"),o=i.style;o.position="absolute",o.left="-10000px",o.overflow="hidden",o.width="200px",o.minWidth="0px",o.height="150px",o.display="block",i.appendChild(r);var n=e&&e.documentElement||document&&document.documentElement;if(!n)return 0;n.appendChild(i);var s=r.offsetWidth;o.overflow="scroll";var a=r.offsetWidth;return s===a&&(a=i.clientWidth),n.removeChild(i),s-a},t.computedStyle=function(e,t){return window.getComputedStyle(e,"")||{}},t.setStyle=function(e,t,r){e[t]!==r&&(e[t]=r)},t.HAS_CSS_ANIMATION=!1,t.HAS_CSS_TRANSFORMS=!1,t.HI_DPI=!o.isWin||"u">typeof window&&window.devicePixelRatio>=1.5,o.isChromeOS&&(t.HI_DPI=!1),"u">typeof document){var l=document.createElement("div");t.HI_DPI&&void 0!==l.style.transform&&(t.HAS_CSS_TRANSFORMS=!0),o.isEdge||void 0===l.style.animationName||(t.HAS_CSS_ANIMATION=!0),l=null}t.HAS_CSS_TRANSFORMS?t.translate=function(e,t,r){e.style.transform="translate("+Math.round(t)+"px, "+Math.round(r)+"px)"}:t.translate=function(e,t,r){e.style.top=Math.round(r)+"px",e.style.left=Math.round(t)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,r){"use strict";var i=e("./dom");t.get=function(e,t){var r=new XMLHttpRequest;r.open("GET",e,!0),r.onreadystatechange=function(){4===r.readyState&&t(r.responseText)},r.send(null)},t.loadScript=function(e,t){var r=i.getDocumentHead(),o=document.createElement("script");o.src=e,r.appendChild(o),o.onload=o.onreadystatechange=function(e,r){(r||!o.readyState||"loaded"==o.readyState||"complete"==o.readyState)&&(o=o.onload=o.onreadystatechange=null,r||t())}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,r){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var r in t)e[r]=t[r];return e},t.implement=function(e,r){t.mixin(e,r)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,r){"use strict";var i={},o=function(){this.propagationStopped=!0},n=function(){this.defaultPrevented=!0};i._emit=i._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var r=this._eventRegistry[e]||[],i=this._defaultHandlers[e];if(r.length||i){"object"==typeof t&&t||(t={}),t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=o),t.preventDefault||(t.preventDefault=n),r=r.slice();for(var s=0;s<r.length&&(r[s](t,this),!t.propagationStopped);s++);if(i&&!t.defaultPrevented)return i(t,this)}},i._signal=function(e,t){var r=(this._eventRegistry||{})[e];if(r){r=r.slice();for(var i=0;i<r.length;i++)r[i](t,this)}},i.once=function(e,t){var r=this;if(this.on(e,function i(){r.off(e,i),t.apply(null,arguments)}),!t)return new Promise(function(e){t=e})},i.setDefaultHandler=function(e,t){var r=this._defaultHandlers;if(r||(r=this._defaultHandlers={_disabled_:{}}),r[e]){var i=r[e],o=r._disabled_[e];o||(r._disabled_[e]=o=[]),o.push(i);var n=o.indexOf(t);-1!=n&&o.splice(n,1)}r[e]=t},i.removeDefaultHandler=function(e,t){var r=this._defaultHandlers;if(r){var i=r._disabled_[e];if(r[e]==t)i&&this.setDefaultHandler(e,i.pop());else if(i){var o=i.indexOf(t);-1!=o&&i.splice(o,1)}}},i.on=i.addEventListener=function(e,t,r){this._eventRegistry=this._eventRegistry||{};var i=this._eventRegistry[e];return i||(i=this._eventRegistry[e]=[]),-1==i.indexOf(t)&&i[r?"unshift":"push"](t),t},i.off=i.removeListener=i.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];if(r){var i=r.indexOf(t);-1!==i&&r.splice(i,1)}},i.removeAllListeners=function(e){e||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[e]=void 0),this._defaultHandlers&&(this._defaultHandlers[e]=void 0)},t.EventEmitter=i}),ace.define("ace/lib/report_error",["require","exports","module"],function(e,t,r){t.reportError=function(e,t){var r=Error(e);r.data=t,"object"==typeof console&&console.error&&console.error(r),setTimeout(function(){throw r})}}),ace.define("ace/lib/default_english_messages",["require","exports","module"],function(e,t,r){t.defaultEnglishMessages={"autocomplete.popup.aria-roledescription":"Autocomplete suggestions","autocomplete.popup.aria-label":"Autocomplete suggestions","autocomplete.popup.item.aria-roledescription":"item","autocomplete.loading":"Loading...","editor.scroller.aria-roledescription":"editor","editor.scroller.aria-label":"Editor content, press Enter to start editing, press Escape to exit","editor.gutter.aria-roledescription":"editor gutter","editor.gutter.aria-label":"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit","error-marker.good-state":"Looks good!","prompt.recently-used":"Recently used","prompt.other-commands":"Other commands","prompt.no-matching-commands":"No matching commands","search-box.find.placeholder":"Search for","search-box.find-all.text":"All","search-box.replace.placeholder":"Replace with","search-box.replace-next.text":"Replace","search-box.replace-all.text":"All","search-box.toggle-replace.title":"Toggle Replace mode","search-box.toggle-regexp.title":"RegExp Search","search-box.toggle-case.title":"CaseSensitive Search","search-box.toggle-whole-word.title":"Whole Word Search","search-box.toggle-in-selection.title":"Search In Selection","search-box.search-counter":"$0 of $1","text-input.aria-roledescription":"editor","text-input.aria-label":"Cursor at row $0","gutter.code-folding.range.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.closed.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.open.aria-label":"Toggle code folding, row $0","gutter.code-folding.closed.title":"Unfold code","gutter.code-folding.open.title":"Fold code","gutter.annotation.aria-label.error":"Error, read annotations row $0","gutter.annotation.aria-label.warning":"Warning, read annotations row $0","gutter.annotation.aria-label.info":"Info, read annotations row $0","inline-fold.closed.title":"Unfold code","gutter-tooltip.aria-label.error.singular":"error","gutter-tooltip.aria-label.error.plural":"errors","gutter-tooltip.aria-label.warning.singular":"warning","gutter-tooltip.aria-label.warning.plural":"warnings","gutter-tooltip.aria-label.info.singular":"information message","gutter-tooltip.aria-label.info.plural":"information messages","gutter.annotation.aria-label.security":"Security finding, read annotations row $0","gutter.annotation.aria-label.hint":"Suggestion, read annotations row $0","gutter-tooltip.aria-label.security.singular":"security finding","gutter-tooltip.aria-label.security.plural":"security findings","gutter-tooltip.aria-label.hint.singular":"suggestion","gutter-tooltip.aria-label.hint.plural":"suggestions","editor.tooltip.disable-editing":"Editing is disabled"}}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/report_error","ace/lib/default_english_messages"],function(e,t,r){var i,o,n=e("./oop"),s=e("./event_emitter").EventEmitter,a=e("./report_error").reportError,l=e("./default_english_messages").defaultEnglishMessages,c={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};if(e)Array.isArray(e)||(e=Object.keys(e));else{var r=this.$options;e=Object.keys(r).filter(function(e){return!r[e].hidden})}return e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]!==t){var r=this.$options[e];if(!r)return h('misspelled option "'+e+'"');if(r.forwardTo)return this[r.forwardTo]&&this[r.forwardTo].setOption(e,t);r.handlesSet||(this["$"+e]=t),r&&r.set&&r.set.call(this,t)}},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:h('misspelled option "'+e+'"')}};function h(e){"u">typeof console&&console.warn&&console.warn.apply(console,arguments)}var d=function(){function e(){this.$defaultOptions={},i=l,o="dollarSigns"}return e.prototype.defineOptions=function(e,t,r){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(r).forEach(function(t){var i=r[t];"string"==typeof i&&(i={forwardTo:i}),i.name||(i.name=t),e.$options[i.name]=i,"initialValue"in i&&(e["$"+i.name]=i.initialValue)}),n.implement(e,c),this},e.prototype.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var r=e.$options[t];"value"in r&&e.setOption(t,r.value)})},e.prototype.setDefaultValue=function(e,t,r){if(!e){for(e in this.$defaultOptions)if(this.$defaultOptions[e][t])break;if(!this.$defaultOptions[e][t])return!1}var i=this.$defaultOptions[e]||(this.$defaultOptions[e]={});i[t]&&(i.forwardTo?this.setDefaultValue(i.forwardTo,t,r):i[t].value=r)},e.prototype.setDefaultValues=function(e,t){Object.keys(t).forEach(function(r){this.setDefaultValue(e,r,t[r])},this)},e.prototype.setMessages=function(e,t){i=e,t&&t.placeholders&&(o=t.placeholders)},e.prototype.nls=function(e,t,r){!i[e]&&(h("No message found for the key '"+e+"' in messages with id "+i.$id+", trying to find a translation for the default string '"+t+"'."),i[t]||h("No message found for the default string '"+t+"' in the provided messages. Falling back to the default English message."));var n=i[e]||i[t]||t;return r&&("dollarSigns"===o&&(n=n.replace(/\$(\$|[\d]+)/g,function(e,t){return"$"==t?"$":r[t]})),"curlyBrackets"===o&&(n=n.replace(/\{([^\}]+)\}/g,function(e,t){return r[t]}))),n},e}();d.prototype.warn=h,d.prototype.reportError=a,n.implement(d.prototype,s),t.AppConfig=d}),ace.define("ace/theme/textmate-css",["require","exports","module"],function(e,t,r){r.exports='.ace-tm .ace_gutter {\n background: #f0f0f0;\n color: #333;\n}\n\n.ace-tm .ace_print-margin {\n width: 1px;\n background: #e8e8e8;\n}\n\n.ace-tm .ace_fold {\n background-color: #6B72E6;\n}\n\n.ace-tm {\n background-color: #FFFFFF;\n color: black;\n}\n\n.ace-tm .ace_cursor {\n color: black;\n}\n \n.ace-tm .ace_invisible {\n color: rgb(191, 191, 191);\n}\n\n.ace-tm .ace_storage,\n.ace-tm .ace_keyword {\n color: blue;\n}\n\n.ace-tm .ace_constant {\n color: rgb(197, 6, 11);\n}\n\n.ace-tm .ace_constant.ace_buildin {\n color: rgb(88, 72, 246);\n}\n\n.ace-tm .ace_constant.ace_language {\n color: rgb(88, 92, 246);\n}\n\n.ace-tm .ace_constant.ace_library {\n color: rgb(6, 150, 14);\n}\n\n.ace-tm .ace_invalid {\n background-color: rgba(255, 0, 0, 0.1);\n color: red;\n}\n\n.ace-tm .ace_support.ace_function {\n color: rgb(60, 76, 114);\n}\n\n.ace-tm .ace_support.ace_constant {\n color: rgb(6, 150, 14);\n}\n\n.ace-tm .ace_support.ace_type,\n.ace-tm .ace_support.ace_class {\n color: rgb(109, 121, 222);\n}\n\n.ace-tm .ace_keyword.ace_operator {\n color: rgb(104, 118, 135);\n}\n\n.ace-tm .ace_string {\n color: rgb(3, 106, 7);\n}\n\n.ace-tm .ace_comment {\n color: rgb(76, 136, 107);\n}\n\n.ace-tm .ace_comment.ace_doc {\n color: rgb(0, 102, 255);\n}\n\n.ace-tm .ace_comment.ace_doc.ace_tag {\n color: rgb(128, 159, 191);\n}\n\n.ace-tm .ace_constant.ace_numeric {\n color: rgb(0, 0, 205);\n}\n\n.ace-tm .ace_variable {\n color: rgb(49, 132, 149);\n}\n\n.ace-tm .ace_xml-pe {\n color: rgb(104, 104, 91);\n}\n\n.ace-tm .ace_entity.ace_name.ace_function {\n color: #0000A2;\n}\n\n\n.ace-tm .ace_heading {\n color: rgb(12, 7, 255);\n}\n\n.ace-tm .ace_list {\n color:rgb(185, 6, 144);\n}\n\n.ace-tm .ace_meta.ace_tag {\n color:rgb(0, 22, 142);\n}\n\n.ace-tm .ace_string.ace_regex {\n color: rgb(255, 0, 0)\n}\n\n.ace-tm .ace_marker-layer .ace_selection {\n background: rgb(181, 213, 255);\n}\n.ace-tm.ace_multiselect .ace_selection.ace_start {\n box-shadow: 0 0 3px 0px white;\n}\n.ace-tm .ace_marker-layer .ace_step {\n background: rgb(252, 255, 0);\n}\n\n.ace-tm .ace_marker-layer .ace_stack {\n background: rgb(164, 229, 101);\n}\n\n.ace-tm .ace_marker-layer .ace_bracket {\n margin: -1px 0 0 -1px;\n border: 1px solid rgb(192, 192, 192);\n}\n\n.ace-tm .ace_marker-layer .ace_active-line {\n background: rgba(0, 0, 0, 0.07);\n}\n\n.ace-tm .ace_gutter-active-line {\n background-color : #dcdcdc;\n}\n\n.ace-tm .ace_marker-layer .ace_selected-word {\n background: rgb(250, 250, 255);\n border: 1px solid rgb(200, 200, 250);\n}\n\n.ace-tm .ace_indent-guide {\n background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;\n}\n\n.ace-tm .ace_indent-guide-active {\n background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;\n}\n'}),ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],function(e,t,r){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText=e("./textmate-css"),t.$id="ace/theme/textmate",e("../lib/dom").importCssString(t.cssText,t.cssClass,!1)}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/net","ace/lib/dom","ace/lib/app_config","ace/theme/textmate"],function(e,t,r){var i,o=e("./lib/lang"),n=e("./lib/net"),s=e("./lib/dom");r.exports=t=new(e("./lib/app_config")).AppConfig;var a={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};t.get=function(e){if(!a.hasOwnProperty(e))throw Error("Unknown config key: "+e);return a[e]},t.set=function(e,t){if(a.hasOwnProperty(e))a[e]=t;else if(!1==this.setDefaultValue("",e,t))throw Error("Unknown config key: "+e);"useStrictCSP"==e&&s.useStrictCSP(t)},t.all=function(){return o.copyObject(a)},t.$modes={},t.moduleUrl=function(e,t){if(a.$moduleUrls[e])return a.$moduleUrls[e];var r=e.split("/"),i="snippets"==(t=t||r[r.length-2]||"")?"/":"-",o=r[r.length-1];if("worker"==t&&"-"==i){var n=RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");o=o.replace(n,"")}(!o||o==t)&&r.length>1&&(o=r[r.length-2]);var s=a[t+"Path"];return null==s?s=a.basePath:"/"==i&&(t=i=""),s&&"/"!=s.slice(-1)&&(s+="/"),s+t+i+o+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.setLoader=function(e){i=e},t.dynamicModules=Object.create(null),t.$loading={},t.$loaded={},t.loadModule=function(r,o){if(Array.isArray(r))var s,a=r[0],c=r[1];else if("string"==typeof r)var c=r;var h=function(r){if(r&&!t.$loading[c])return o&&o(r);if(t.$loading[c]||(t.$loading[c]=[]),t.$loading[c].push(o),!(t.$loading[c].length>1)){var s=function(){var r,o;r=c,o=function(e,r){r&&(t.$loaded[c]=r),t._emit("load.module",{name:c,module:r});var i=t.$loading[c];t.$loading[c]=null,i.forEach(function(e){e&&e(r)})},"ace/theme/textmate"===r||"./theme/textmate"===r?o(null,e("./theme/textmate")):i?i(r,o):console.error("loader is not configured")};if(!t.get("packaged"))return s();n.loadScript(t.moduleUrl(c,a),s),l()}};if(t.dynamicModules[c])t.dynamicModules[c]().then(function(e){e.default?h(e.default):h(e)});else{try{s=this.$require(c)}catch(e){}h(s||t.$loaded[c])}},t.$require=function(e){if("function"==typeof r.require)return r.require(e)},t.setModuleLoader=function(e,r){t.dynamicModules[e]=r};var l=function(){a.basePath||a.workerPath||a.modePath||a.themePath||Object.keys(a.$moduleUrls).length||(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),l=function(){})};t.version="1.43.5"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(e,t,r){"use strict";e("./lib/fixoldbrowsers");var i=e("./config");i.setLoader(function(t,r){e([t],function(e){r(null,e)})});var o=function(){return this||"u">typeof window&&window}();function n(t){if(o&&o.document){i.set("packaged",t||e.packaged||r.packaged||o.define&&define.packaged);var n={},s="",a=document.currentScript||document._currentScript,l=a&&a.ownerDocument||document;a&&a.src&&(s=a.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var c=l.getElementsByTagName("script"),h=0;h<c.length;h++){var d=c[h],u=d.src||d.getAttribute("src");if(u){for(var p=d.attributes,f=0,g=p.length;f<g;f++){var m=p[f];0===m.name.indexOf("data-ace-")&&(n[m.name.replace(/^data-ace-/,"").replace(/-(.)/g,function(e,t){return t.toUpperCase()})]=m.value)}var v=u.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);v&&(s=v[1])}}for(var y in s&&(n.base=n.base||s,n.packaged=!0),n.basePath=n.base,n.workerPath=n.workerPath||n.base,n.modePath=n.modePath||n.base,n.themePath=n.themePath||n.base,delete n.base,n)void 0!==n[y]&&i.set(y,n[y])}}r.exports=function(t){i.init=n,i.$require=e,t.require=e,"function"==typeof define&&(t.define=define)},n(!0)}),ace.define("ace/range",["require","exports","module"],function(e,t,r){"use strict";var i=function(){function e(e,t,r,i){this.start={row:e,column:t},this.end={row:r,column:i}}return e.prototype.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},e.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},e.prototype.contains=function(e,t){return 0==this.compare(e,t)},e.prototype.compareRange=function(e){var t,r=e.end,i=e.start;return 1==(t=this.compare(r.row,r.column))?1==(t=this.compare(i.row,i.column))?2:+(0==t):-1==t?-2:-1==(t=this.compare(i.row,i.column))?-1:42*(1==t)},e.prototype.comparePoint=function(e){return this.compare(e.row,e.column)},e.prototype.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},e.prototype.intersects=function(e){var t=this.compareRange(e);return -1==t||0==t||1==t},e.prototype.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},e.prototype.isStart=function(e,t){return this.start.row==e&&this.start.column==t},e.prototype.setStart=function(e,t){"object"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},e.prototype.setEnd=function(e,t){"object"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},e.prototype.inside=function(e,t){if(0==this.compare(e,t)&&!(this.isEnd(e,t)||this.isStart(e,t)))return!0;return!1},e.prototype.insideStart=function(e,t){if(0==this.compare(e,t)&&!this.isEnd(e,t))return!0;return!1},e.prototype.insideEnd=function(e,t){if(0==this.compare(e,t)&&!this.isStart(e,t))return!0;return!1},e.prototype.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0:t<this.start.column?-1:+(t>this.end.column)},e.prototype.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},e.prototype.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},e.prototype.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},e.prototype.clipRows=function(t,r){if(this.end.row>r)var i={row:r+1,column:0};else if(this.end.row<t)var i={row:t,column:0};if(this.start.row>r)var o={row:r+1,column:0};else if(this.start.row<t)var o={row:t,column:0};return e.fromPoints(o||this.start,i||this.end)},e.prototype.extend=function(t,r){var i=this.compare(t,r);if(0==i)return this;if(-1==i)var o={row:t,column:r};else var n={row:t,column:r};return e.fromPoints(o||this.start,n||this.end)},e.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},e.prototype.isMultiLine=function(){return this.start.row!==this.end.row},e.prototype.clone=function(){return e.fromPoints(this.start,this.end)},e.prototype.collapseRows=function(){return 0==this.end.column?new e(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new e(this.start.row,0,this.end.row,0)},e.prototype.toScreenRange=function(t){var r=t.documentToScreenPosition(this.start),i=t.documentToScreenPosition(this.end);return new e(r.row,r.column,i.row,i.column)},e.prototype.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t},e}();i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(e,t,r){"use strict";for(var i=e("./oop"),o={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete","-13":"NumpadEnter",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",59:";",61:"=",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},n={Command:224,Backspace:8,Tab:9,Return:13,Enter:13,Pause:19,Escape:27,PageUp:33,PageDown:34,End:35,Home:36,Insert:45,Delete:46,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Backquote:192,Minus:189,Equal:187,BracketLeft:219,Backslash:220,BracketRight:221,Semicolon:186,Quote:222,Comma:188,Period:190,Slash:191,Space:32,NumpadAdd:107,NumpadDecimal:110,NumpadSubtract:109,NumpadDivide:111,NumpadMultiply:106},s=0;s<10;s++)n["Digit"+s]=48+s,n["Numpad"+s]=96+s,o.PRINTABLE_KEYS[48+s]=""+s,o.FUNCTION_KEYS[96+s]="Numpad"+s;for(var s=65;s<91;s++){var a=String.fromCharCode(s+32);n["Key"+a.toUpperCase()]=s,o.PRINTABLE_KEYS[s]=a}for(var s=1;s<13;s++)n["F"+s]=111+s,o.FUNCTION_KEYS[111+s]="F"+s;var l={Shift:16,Control:17,Alt:18,Meta:224};for(var c in l)n[c]=n[c+"Left"]=n[c+"Right"]=l[c];for(var h in t.$codeToKeyCode=n,o.PRINTABLE_KEYS[173]="-",o.FUNCTION_KEYS){var d=o.FUNCTION_KEYS[h].toLowerCase();o[d]=parseInt(h,10)}for(var h in o.PRINTABLE_KEYS){var d=o.PRINTABLE_KEYS[h].toLowerCase();o[d]=parseInt(h,10)}i.mixin(o,o.MODIFIER_KEYS),i.mixin(o,o.PRINTABLE_KEYS),i.mixin(o,o.FUNCTION_KEYS),o.enter=o.return,o.escape=o.esc,o.del=o.delete;for(var u=["cmd","ctrl","alt","shift"],p=Math.pow(2,u.length);p--;)o.KEY_MODS[p]=u.filter(function(e){return p&o.KEY_MODS[e]}).join("-")+"-";o.KEY_MODS[0]="",o.KEY_MODS[-1]="input-",i.mixin(t,o),t.default=t,t.keyCodeToString=function(e){var t=o[e];return"string"!=typeof t&&(t=String.fromCharCode(e)),t.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,r){"use strict";var i,o=e("./keys"),n=e("./useragent"),s=null,a=0;function l(){return void 0==i&&function(){i=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){return i={passive:!1},!0}})}catch(e){}}(),i}function c(e,t,r){this.elem=e,this.type=t,this.callback=r}c.prototype.destroy=function(){d(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var h=t.addListener=function(e,t,r,i){e.addEventListener(t,r,l()),i&&i.$toDestroy.push(new c(e,t,r))},d=t.removeListener=function(e,t,r){e.removeEventListener(t,r,l())};function u(e){return!!e.ctrlKey|2*!!e.altKey|4*!!e.shiftKey|8*!!e.metaKey}function p(){s=Object.create(null)}if(t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation&&e.stopPropagation()},t.preventDefault=function(e){e.preventDefault&&e.preventDefault()},t.getButton=function(e){return"dblclick"==e.type?0:"contextmenu"==e.type||n.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.button},t.capture=function(e,t,r){var i=e&&e.ownerDocument||document;function o(e){t&&t(e),r&&r(e),d(i,"mousemove",t),d(i,"mouseup",o),d(i,"dragstart",o)}return h(i,"mousemove",t),h(i,"mouseup",o),h(i,"dragstart",o),o},t.addMouseWheelListener=function(e,t,r){h(e,"wheel",function(e){var r=e.deltaX||0,i=e.deltaY||0;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=.15*r,e.wheelY=.15*i;break;case e.DOM_DELTA_LINE:e.wheelX=15*r,e.wheelY=15*i;break;case e.DOM_DELTA_PAGE:e.wheelX=150*r,e.wheelY=150*i}t(e)},r)},t.addMultiMouseDownListener=function(e,r,i,o,s){var a,l,c,d=0,u={2:"dblclick",3:"tripleclick",4:"quadclick"};function p(e){if(0!==t.getButton(e)?d=0:e.detail>1?++d>4&&(d=1):d=1,n.isIE){var s=Math.abs(e.clientX-a)>5||Math.abs(e.clientY-l)>5;(!c||s)&&(d=1),c&&clearTimeout(c),c=setTimeout(function(){c=null},r[d-1]||600),1==d&&(a=e.clientX,l=e.clientY)}if(e._clicks=d,i[o]("mousedown",e),d>4)d=0;else if(d>1)return i[o](u[d],e)}Array.isArray(e)||(e=[e]),e.forEach(function(e){h(e,"mousedown",p,s)})},t.getModifierString=function(e){return o.KEY_MODS[u(e)]},t.addCommandKeyListener=function(e,r,i){var l=null;h(e,"keydown",function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var t=function(e,t,r){var i=u(t);if(!r&&t.code&&(r=o.$codeToKeyCode[t.code]||r),!n.isMac&&s){if(t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(i|=8),s.altGr)if((3&i)==3)return;else s.altGr=0;if(18===r||17===r){var l=t.location;17===r&&1===l?1==s[r]&&(a=t.timeStamp):18===r&&3===i&&2===l&&t.timeStamp-a<50&&(s.altGr=!0)}}if(r in o.MODIFIER_KEYS&&(r=-1),i||13!==r||3!==t.location||(e(t,i,-r),!t.defaultPrevented)){if(n.isChromeOS&&8&i){if(e(t,i,r),t.defaultPrevented)return;i&=-9}return(!!i||r in o.FUNCTION_KEYS||r in o.PRINTABLE_KEYS)&&e(t,i,r)}}(r,e,e.keyCode);return l=e.defaultPrevented,t},i),h(e,"keypress",function(e){l&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),l=null)},i),h(e,"keyup",function(e){s[e.keyCode]=null},i),s||(p(),h(window,"focus",p))},"object"==typeof window&&window.postMessage&&!n.isOldIE){var f=1;t.nextTick=function(e,r){r=r||window;var i="zero-timeout-message-"+f++,o=function(n){n.data==i&&(t.stopPropagation(n),d(r,"message",o),e())};h(r,"message",o),r.postMessage(i,"*")}}t.$idleBlocked=!1,t.onIdle=function(e,r){return setTimeout(function r(){t.$idleBlocked?setTimeout(r,100):e()},r)},t.$idleBlockId=null,t.blockIdle=function(e){t.$idleBlockId&&clearTimeout(t.$idleBlockId),t.$idleBlocked=!0,t.$idleBlockId=setTimeout(function(){t.$idleBlocked=!1},e||100)},t.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(e,t,r){"use strict";var i;r.exports={lineMode:!1,pasteCancelled:function(){return!!(i&&i>Date.now()-50)||(i=!1)},cancel:function(){i=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(e,t,r){"use strict";var i=e("../lib/event"),o=e("../config").nls,n=e("../lib/useragent"),s=e("../lib/dom"),a=e("../lib/lang"),l=e("../clipboard"),c=n.isChrome<18,h=n.isIE,d=n.isChrome>63,u=e("../lib/keys"),p=u.KEY_MODS,f=n.isIOS,g=f?/\s/:/\n/,m=n.isMobile;t.TextInput=function(){function e(e,t){var r=this;this.host=t,this.text=s.createElement("textarea"),this.text.className="ace_text-input",this.text.setAttribute("wrap","off"),this.text.setAttribute("autocomplete","off"),this.text.setAttribute("autocorrect","off"),this.text.setAttribute("autocapitalize","off"),this.text.setAttribute("spellcheck","false"),this.text.style.opacity="0",e.insertBefore(this.text,e.firstChild),this.copied=!1,this.pasted=!1,this.inComposition=!1,this.sendingText=!1,this.tempStyle="",m||(this.text.style.fontSize="1px"),this.commandMode=!1,this.ignoreFocusEvents=!1,this.lastValue="",this.lastSelectionStart=0,this.lastSelectionEnd=0,this.lastRestoreEnd=0,this.rowStart=Number.MAX_SAFE_INTEGER,this.rowEnd=Number.MIN_SAFE_INTEGER,this.numberOfExtraLines=0;try{this.$isFocused=document.activeElement===this.text}catch(e){}this.cancelComposition=this.cancelComposition.bind(this),this.setAriaOptions({role:"textbox"}),i.addListener(this.text,"blur",function(e){r.ignoreFocusEvents||(t.onBlur(e),r.$isFocused=!1)},t),i.addListener(this.text,"focus",function(e){if(!r.ignoreFocusEvents){if(r.$isFocused=!0,n.isEdge)try{if(!document.hasFocus())return}catch(e){}t.onFocus(e),n.isEdge?setTimeout(r.resetSelection.bind(r)):r.resetSelection()}},t),this.$focusScroll=!1,t.on("beforeEndOperation",function(){var e=t.curOp,i=e&&e.command&&e.command.name;if("insertstring"!=i){var o=i&&(e.docChanged||e.selectionChanged);r.inComposition&&o&&(r.lastValue=r.text.value="",r.onCompositionEnd()),r.resetSelection()}}),t.on("changeSelection",this.setAriaLabel.bind(this)),this.resetSelection=f?this.$resetSelectionIOS:this.$resetSelection,this.$isFocused&&t.onFocus(),this.inputHandler=null,this.afterContextMenu=!1,i.addCommandKeyListener(this.text,function(e,i,o){if(!r.inComposition)return t.onCommandKey(e,i,o)},t),i.addListener(this.text,"select",this.onSelect.bind(this),t),i.addListener(this.text,"input",this.onInput.bind(this),t),i.addListener(this.text,"cut",this.onCut.bind(this),t),i.addListener(this.text,"copy",this.onCopy.bind(this),t),i.addListener(this.text,"paste",this.onPaste.bind(this),t),"oncut"in this.text&&"oncopy"in this.text&&"onpaste"in this.text||i.addListener(e,"keydown",function(e){if((!n.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case 67:r.onCopy(e);break;case 86:r.onPaste(e);break;case 88:r.onCut(e)}},t),this.syncComposition=a.delayedCall(this.onCompositionUpdate.bind(this),50).schedule.bind(null,null),i.addListener(this.text,"compositionstart",this.onCompositionStart.bind(this),t),i.addListener(this.text,"compositionupdate",this.onCompositionUpdate.bind(this),t),i.addListener(this.text,"keyup",this.onKeyup.bind(this),t),i.addListener(this.text,"keydown",this.syncComposition.bind(this),t),i.addListener(this.text,"compositionend",this.onCompositionEnd.bind(this),t),this.closeTimeout,i.addListener(this.text,"mouseup",this.$onContextMenu.bind(this),t),i.addListener(this.text,"mousedown",function(e){e.preventDefault(),r.onContextMenuClose()},t),i.addListener(t.renderer.scroller,"contextmenu",this.$onContextMenu.bind(this),t),i.addListener(this.text,"contextmenu",this.$onContextMenu.bind(this),t),f&&this.addIosSelectionHandler(e,t,this.text)}return e.prototype.addIosSelectionHandler=function(e,t,r){var i=this,o=null,n=!1;r.addEventListener("keydown",function(e){o&&clearTimeout(o),n=!0},!0),r.addEventListener("keyup",function(e){o=setTimeout(function(){n=!1},100)},!0);var s=function(e){if(document.activeElement===r&&!n&&!i.inComposition&&!t.$mouseHandler.isMousePressed&&!i.copied){var o=r.selectionStart,s=r.selectionEnd,a=null,l=0;if(0==o?a=u.up:1==o?a=u.home:s>i.lastSelectionEnd&&"\n"==i.lastValue[s]?a=u.end:o<i.lastSelectionStart&&" "==i.lastValue[o-1]?(a=u.left,l=p.option):o<i.lastSelectionStart||o==i.lastSelectionStart&&i.lastSelectionEnd!=i.lastSelectionStart&&o==s?a=u.left:s>i.lastSelectionEnd&&i.lastValue.slice(0,s).split("\n").length>2?a=u.down:s>i.lastSelectionEnd&&" "==i.lastValue[s-1]?(a=u.right,l=p.option):(s>i.lastSelectionEnd||s==i.lastSelectionEnd&&i.lastSelectionEnd!=i.lastSelectionStart&&o==s)&&(a=u.right),o!==s&&(l|=p.shift),a){if(!t.onCommandKey({},l,a)&&t.commands){a=u.keyCodeToString(a);var c=t.commands.findKeyCommand(l,a);c&&t.execCommand(c)}i.lastSelectionStart=o,i.lastSelectionEnd=s,i.resetSelection("")}}};document.addEventListener("selectionchange",s),t.on("destroy",function(){document.removeEventListener("selectionchange",s)})},e.prototype.onContextMenuClose=function(){var e=this;clearTimeout(this.closeTimeout),this.closeTimeout=setTimeout(function(){e.tempStyle&&(e.text.style.cssText=e.tempStyle,e.tempStyle=""),e.host.renderer.$isMousePressed=!1,e.host.renderer.$keepTextAreaAtCursor&&e.host.renderer.$moveTextAreaToCursor()},0)},e.prototype.$onContextMenu=function(e){this.host.textInput.onContextMenu(e),this.onContextMenuClose()},e.prototype.onKeyup=function(e){27==e.keyCode&&this.text.value.length<this.text.selectionStart&&(this.inComposition||(this.lastValue=this.text.value),this.lastSelectionStart=this.lastSelectionEnd=-1,this.resetSelection()),this.syncComposition()},e.prototype.cancelComposition=function(){this.ignoreFocusEvents=!0,this.text.blur(),this.text.focus(),this.ignoreFocusEvents=!1},e.prototype.onCompositionStart=function(e){if(!this.inComposition&&this.host.onCompositionStart&&!this.host.$readOnly&&(this.inComposition={},!this.commandMode)){e.data&&(this.inComposition.useTextareaForIME=!1),setTimeout(this.onCompositionUpdate.bind(this),0),this.host._signal("compositionStart"),this.host.on("mousedown",this.cancelComposition);var t=this.host.getSelectionRange();t.end.row=t.start.row,t.end.column=t.start.column,this.inComposition.markerRange=t,this.inComposition.selectionStart=this.lastSelectionStart,this.host.onCompositionStart(this.inComposition),this.inComposition.useTextareaForIME?(this.lastValue=this.text.value="",this.lastSelectionStart=0,this.lastSelectionEnd=0):(this.text.msGetInputContext&&(this.inComposition.context=this.text.msGetInputContext()),this.text.getInputContext&&(this.inComposition.context=this.text.getInputContext()))}},e.prototype.onCompositionUpdate=function(){if(this.inComposition&&this.host.onCompositionUpdate&&!this.host.$readOnly){if(this.commandMode)return this.cancelComposition();if(this.inComposition.useTextareaForIME)this.host.onCompositionUpdate(this.text.value);else{var e=this.text.value;this.sendText(e),this.inComposition.markerRange&&(this.inComposition.context&&(this.inComposition.markerRange.start.column=this.inComposition.selectionStart=this.inComposition.context.compositionStartOffset),this.inComposition.markerRange.end.column=this.inComposition.markerRange.start.column+this.lastSelectionEnd-this.inComposition.selectionStart+this.lastRestoreEnd)}}},e.prototype.onCompositionEnd=function(e){this.host.onCompositionEnd&&!this.host.$readOnly&&(this.inComposition=!1,this.host.onCompositionEnd(),this.host.off("mousedown",this.cancelComposition),e&&this.onInput())},e.prototype.onCut=function(e){this.doCopy(e,!0)},e.prototype.onCopy=function(e){this.doCopy(e,!1)},e.prototype.onPaste=function(e){var t=this.handleClipboardData(e);l.pasteCancelled()||("string"==typeof t?(t&&this.host.onPaste(t,e),n.isIE&&setTimeout(this.resetSelection),i.preventDefault(e)):(this.text.value="",this.pasted=!0))},e.prototype.doCopy=function(e,t){var r=this,o=this.host.getCopyText();if(!o)return i.preventDefault(e);this.handleClipboardData(e,o)?(f&&(this.resetSelection(o),this.copied=o,setTimeout(function(){r.copied=!1},10)),t?this.host.onCut():this.host.onCopy(),i.preventDefault(e)):(this.copied=!0,this.text.value=o,this.text.select(),setTimeout(function(){r.copied=!1,r.resetSelection(),t?r.host.onCut():r.host.onCopy()}))},e.prototype.handleClipboardData=function(e,t,r){var i=e.clipboardData||window.clipboardData;if(i&&!c){var o=h||r?"Text":"text/plain";try{if(t)return!1!==i.setData(o,t);return i.getData(o)}catch(e){if(!r)return this.handleClipboardData(e,t,!0)}}},e.prototype.onInput=function(e){if(this.inComposition)return this.onCompositionUpdate();if(e&&e.inputType){if("historyUndo"==e.inputType)return this.host.execCommand("undo");if("historyRedo"==e.inputType)return this.host.execCommand("redo")}var t=this.text.value,r=this.sendText(t,!0);(t.length>500||g.test(r)||m&&this.lastSelectionStart<1&&this.lastSelectionStart==this.lastSelectionEnd)&&this.resetSelection()},e.prototype.sendText=function(e,t){if(this.afterContextMenu&&(this.afterContextMenu=!1),this.pasted)return this.resetSelection(),e&&this.host.onPaste(e),this.pasted=!1,"";for(var r=this.text.selectionStart,i=this.text.selectionEnd,o=this.lastSelectionStart,s=this.lastValue.length-this.lastSelectionEnd,a=e,l=e.length-r,c=e.length-i,h=0;o>0&&this.lastValue[h]==e[h];)h++,o--;for(a=a.slice(h),h=1;s>0&&this.lastValue.length-h>this.lastSelectionStart-1&&this.lastValue[this.lastValue.length-h]==e[e.length-h];)h++,s--;l-=h-1,c-=h-1;var d=a.length-h+1;if(d<0&&(o=-d,d=0),a=a.slice(0,d),!t&&!a&&!l&&!o&&!s&&!c)return"";this.sendingText=!0;var u=!1;return n.isAndroid&&". "==a&&(a=" ",u=!0),(!a||o||s||l||c)&&!this.commandMode?this.host.onTextInput(a,{extendLeft:o,extendRight:s,restoreStart:l,restoreEnd:c}):this.host.onTextInput(a),this.sendingText=!1,this.lastValue=e,this.lastSelectionStart=r,this.lastSelectionEnd=i,this.lastRestoreEnd=c,u?"\n":a},e.prototype.onSelect=function(e){var t;!this.inComposition&&(this.copied?this.copied=!1:0===(t=this.text).selectionStart&&t.selectionEnd>=this.lastValue.length&&t.value===this.lastValue&&this.lastValue&&t.selectionEnd!==this.lastSelectionEnd?(this.host.selectAll(),this.resetSelection()):m&&this.text.selectionStart!=this.lastSelectionStart&&this.resetSelection())},e.prototype.$resetSelectionIOS=function(e){if(this.$isFocused&&(!this.copied||e)&&!this.sendingText){e||(e="");var t="\n ab"+e+"cde fg\n";t!=this.text.value&&(this.text.value=this.lastValue=t);var r=4+(e.length||+!this.host.selection.isEmpty());(4!=this.lastSelectionStart||this.lastSelectionEnd!=r)&&this.text.setSelectionRange(4,r),this.lastSelectionStart=4,this.lastSelectionEnd=r}},e.prototype.$resetSelection=function(){var e=this;if(!this.inComposition&&!this.sendingText&&(this.$isFocused||this.afterContextMenu)){this.inComposition=!0;var t=0,r=0,i="",o=function(t,r){for(var i=r,o=1;o<=t-e.rowStart&&o<2*e.numberOfExtraLines+1;o++)i+=e.host.session.getLine(t-o).length+1;return i};if(this.host.session){var n=this.host.selection,s=n.getRange(),a=n.cursor.row;a===this.rowEnd+1?(this.rowStart=this.rowEnd+1,this.rowEnd=this.rowStart+2*this.numberOfExtraLines):a===this.rowStart-1?(this.rowEnd=this.rowStart-1,this.rowStart=this.rowEnd-2*this.numberOfExtraLines):(a<this.rowStart-1||a>this.rowEnd+1)&&(this.rowStart=a>this.numberOfExtraLines?a-this.numberOfExtraLines:0,this.rowEnd=a>this.numberOfExtraLines?a+this.numberOfExtraLines:2*this.numberOfExtraLines);for(var l=[],c=this.rowStart;c<=this.rowEnd;c++)l.push(this.host.session.getLine(c));if(i=l.join("\n"),t=o(s.start.row,s.start.column),r=o(s.end.row,s.end.column),s.start.row<this.rowStart){var h=this.host.session.getLine(this.rowStart-1);t=s.start.row<this.rowStart-1?0:t,r+=h.length+1,i=h+"\n"+i}else if(s.end.row>this.rowEnd){var d=this.host.session.getLine(this.rowEnd+1);r=(s.end.row>this.rowEnd+1?d.length:s.end.column)+(i.length+1),i=i+"\n"+d}else m&&a>0&&(i="\n"+i,r+=1,t+=1);i.length>400&&(t<400&&r<400?i=i.slice(0,400):(i="\n",t==r?t=r=0:(t=0,r=1)));var u=i+"\n\n";u!=this.lastValue&&(this.text.value=this.lastValue=u,this.lastSelectionStart=this.lastSelectionEnd=u.length)}if(this.afterContextMenu&&(this.lastSelectionStart=this.text.selectionStart,this.lastSelectionEnd=this.text.selectionEnd),this.lastSelectionEnd!=r||this.lastSelectionStart!=t||this.text.selectionEnd!=this.lastSelectionEnd)try{this.text.setSelectionRange(t,r),this.lastSelectionStart=t,this.lastSelectionEnd=r}catch(e){}this.inComposition=!1}},e.prototype.setHost=function(e){this.host=e},e.prototype.setNumberOfExtraLines=function(e){if(this.rowStart=Number.MAX_SAFE_INTEGER,this.rowEnd=Number.MIN_SAFE_INTEGER,e<0){this.numberOfExtraLines=0;return}this.numberOfExtraLines=e},e.prototype.setAriaLabel=function(){var e="";this.host.$textInputAriaLabel&&(e+="".concat(this.host.$textInputAriaLabel,", ")),this.host.session&&(e+=o("text-input.aria-label","Cursor at row $0",[this.host.session.selection.cursor.row+1])),this.text.setAttribute("aria-label",e)},e.prototype.setAriaOptions=function(e){e.activeDescendant?(this.text.setAttribute("aria-haspopup","true"),this.text.setAttribute("aria-autocomplete",e.inline?"both":"list"),this.text.setAttribute("aria-activedescendant",e.activeDescendant)):(this.text.setAttribute("aria-haspopup","false"),this.text.setAttribute("aria-autocomplete","both"),this.text.removeAttribute("aria-activedescendant")),e.role&&this.text.setAttribute("role",e.role),e.setLabel&&(this.text.setAttribute("aria-roledescription",o("text-input.aria-roledescription","editor")),this.setAriaLabel())},e.prototype.focus=function(){var e=this;if(this.setAriaOptions({setLabel:this.host.renderer.enableKeyboardAccessibility}),this.tempStyle||d||"browser"==this.$focusScroll)return this.text.focus({preventScroll:!0});var t=this.text.style.top;this.text.style.position="fixed",this.text.style.top="0px";try{var r=0!=this.text.getBoundingClientRect().top}catch(e){return}var i=[];if(r)for(var o=this.text.parentElement;o&&1==o.nodeType;)i.push(o),o.setAttribute("ace_nocontext","true"),o=!o.parentElement&&o.getRootNode?o.getRootNode().host:o.parentElement;this.text.focus({preventScroll:!0}),r&&i.forEach(function(e){e.removeAttribute("ace_nocontext")}),setTimeout(function(){e.text.style.position="","0px"==e.text.style.top&&(e.text.style.top=t)},0)},e.prototype.blur=function(){this.text.blur()},e.prototype.isFocused=function(){return this.$isFocused},e.prototype.setInputHandler=function(e){this.inputHandler=e},e.prototype.getInputHandler=function(){return this.inputHandler},e.prototype.getElement=function(){return this.text},e.prototype.setCommandMode=function(e){this.commandMode=e,this.text.readOnly=!1},e.prototype.setReadOnly=function(e){this.commandMode||(this.text.readOnly=e)},e.prototype.setCopyWithEmptySelection=function(e){},e.prototype.onContextMenu=function(e){this.afterContextMenu=!0,this.resetSelection(),this.host._emit("nativecontextmenu",{target:this.host,domEvent:e}),this.moveToMouse(e,!0)},e.prototype.moveToMouse=function(e,t){var r=this;this.tempStyle||(this.tempStyle=this.text.style.cssText),this.text.style.cssText=(t?"z-index:100000;":"")+(n.isIE?"opacity:0.1;":"")+"text-indent: -"+(this.lastSelectionStart+this.lastSelectionEnd)*this.host.renderer.characterWidth*.5+"px;";var o=this.host.container.getBoundingClientRect(),a=s.computedStyle(this.host.container),l=o.top+(parseInt(a.borderTopWidth)||0),c=o.left+(parseInt(a.borderLeftWidth)||0),h=o.bottom-l-this.text.clientHeight-2,d=function(e){s.translate(r.text,e.clientX-c-2,Math.min(e.clientY-l-2,h))};d(e),"mousedown"==e.type&&(this.host.renderer.$isMousePressed=!0,clearTimeout(this.closeTimeout),n.isWin&&i.capture(this.host.container,d,this.onContextMenuClose.bind(this)))},e.prototype.destroy=function(){this.text.parentElement&&this.text.parentElement.removeChild(this.text)},e}(),t.$setUserAgentForTests=function(e,t){m=e,f=t}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(e,t,r){"use strict";var i=e("../lib/useragent"),o=function(){function e(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e)),["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"].forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}return e.prototype.onMouseDown=function(e){var t=e.inSelection(),r=e.getDocumentPosition();this.mousedownEvent=e;var o=this.editor,n=e.getButton();if(0!==n){(o.getSelectionRange().isEmpty()||1==n)&&o.selection.moveToPosition(r),2==n&&(o.textInput.onContextMenu(e.domEvent),i.isMozilla||e.preventDefault());return}if(this.mousedownEvent.time=Date.now(),t&&!o.isFocused()&&(o.focus(),this.$focusTimeout&&!this.$clickSelection&&!o.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(e);return}return this.captureMouse(e),this.startSelect(r,e.domEvent._clicks>1),e.preventDefault()},e.prototype.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var r=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?r.selection.selectToPosition(e):t||r.selection.moveToPosition(e),t||this.select(),r.setStyle("ace_selecting"),this.setState("select"))},e.prototype.select=function(){var e,t=this.editor,r=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var i=this.$clickSelection.comparePoint(r);if(-1==i)e=this.$clickSelection.end;else if(1==i)e=this.$clickSelection.start;else{var o=n(this.$clickSelection,r,t.session);r=o.cursor,e=o.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(r),t.renderer.scrollCursorIntoView()},e.prototype.extendSelectionBy=function(e){var t,r=this.editor,i=r.renderer.screenToTextCoordinates(this.x,this.y),o=r.selection[e](i.row,i.column);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(o.start),a=this.$clickSelection.comparePoint(o.end);if(-1==s&&a<=0)t=this.$clickSelection.end,(o.end.row!=i.row||o.end.column!=i.column)&&(i=o.start);else if(1==a&&s>=0)t=this.$clickSelection.start,(o.start.row!=i.row||o.start.column!=i.column)&&(i=o.end);else if(-1==s&&1==a)i=o.end,t=o.start;else{var l=n(this.$clickSelection,i,r.session);i=l.cursor,t=l.anchor}r.selection.setSelectionAnchor(t.row,t.column)}r.selection.selectToPosition(i),r.renderer.scrollCursorIntoView()},e.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},e.prototype.focusWait=function(){var e,t,r,i=(e=this.mousedownEvent.x,t=this.mousedownEvent.y,r=this.x,Math.sqrt(Math.pow(r-e,2)+Math.pow(this.y-t,2))),o=Date.now();(i>0||o-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},e.prototype.onDoubleClick=function(e){var t=e.getDocumentPosition(),r=this.editor,i=r.session.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=r.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},e.prototype.onTripleClick=function(e){var t=e.getDocumentPosition(),r=this.editor;this.setState("selectByLines");var i=r.getSelectionRange();i.isMultiLine()&&i.contains(t.row,t.column)?(this.$clickSelection=r.selection.getLineRange(i.start.row),this.$clickSelection.end=r.selection.getLineRange(i.end.row).end):this.$clickSelection=r.selection.getLineRange(t.row),this.select()},e.prototype.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},e.prototype.onMouseWheel=function(e){if(!e.getAccelKey()){e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var r=this.$lastScroll,i=e.domEvent.timeStamp,o=i-r.t,n=o?e.wheelX/o:r.vx,s=o?e.wheelY/o:r.vy;o<550&&(n=(n+r.vx)/2,s=(s+r.vy)/2);var a=Math.abs(n/s),l=!1;if(a>=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(l=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(l=!0),l?r.allowed=i:i-r.allowed<550&&(Math.abs(n)<=1.5*Math.abs(r.vx)&&Math.abs(s)<=1.5*Math.abs(r.vy)?(l=!0,r.allowed=i):r.allowed=0),r.t=i,r.vx=n,r.vy=s,l)return t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}},e}();function n(e,t,r){if(e.start.row==e.end.row)var i=2*t.column-e.start.column-e.end.column;else if(e.start.row!=e.end.row-1||e.start.column||e.end.column)var i=2*t.row-e.start.row-e.end.row;else var i=3*t.column-2*r.getLine(e.start.row).length;return i<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}o.prototype.selectEnd=o.prototype.selectByLinesEnd,o.prototype.selectAllEnd=o.prototype.selectByLinesEnd,o.prototype.selectByWordsEnd=o.prototype.selectByLinesEnd,t.DefaultHandlers=o}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,r){"use strict";var i=e("../lib/event"),o=e("../lib/useragent");t.MouseEvent=function(){function e(e,t){this.speed,this.wheelX,this.wheelY,this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return e.prototype.stopPropagation=function(){i.stopPropagation(this.domEvent),this.propagationStopped=!0},e.prototype.preventDefault=function(){i.preventDefault(this.domEvent),this.defaultPrevented=!0},e.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},e.prototype.getDocumentPosition=function(){return this.$pos||(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY)),this.$pos},e.prototype.getGutterRow=function(){var e=this.getDocumentPosition().row;return this.editor.session.documentToScreenRow(e,0)-this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0)},e.prototype.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var e=this.editor.getSelectionRange();if(e.isEmpty())this.$inSelection=!1;else{var t=this.getDocumentPosition();this.$inSelection=e.contains(t.row,t.column)}return this.$inSelection},e.prototype.getButton=function(){return i.getButton(this.domEvent)},e.prototype.getShiftKey=function(){return this.domEvent.shiftKey},e.prototype.getAccelKey=function(){return o.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},e}()}),ace.define("ace/lib/scroll",["require","exports","module"],function(e,t,r){t.preventParentScroll=function(e){e.stopPropagation();var t=e.currentTarget;t.scrollHeight>t.clientHeight||e.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(e,t,r){"use strict";var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=this&&this.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],i=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},s=e("./lib/dom");e("./lib/event");var a=e("./range").Range,l=e("./lib/scroll").preventParentScroll,c="ace_tooltip",h=function(){function e(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}return e.prototype.$init=function(){return this.$element=s.createElement("div"),this.$element.className=c,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},e.prototype.getElement=function(){return this.$element||this.$init()},e.prototype.setText=function(e){this.getElement().textContent=e},e.prototype.setHtml=function(e){this.getElement().innerHTML=e},e.prototype.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},e.prototype.setClassName=function(e){s.addCssClass(this.getElement(),e)},e.prototype.setTheme=function(e){this.theme&&(this.theme.isDark&&s.removeCssClass(this.getElement(),"ace_dark"),this.theme.cssClass&&s.removeCssClass(this.getElement(),this.theme.cssClass)),e.isDark&&s.addCssClass(this.getElement(),"ace_dark"),e.cssClass&&s.addCssClass(this.getElement(),e.cssClass),this.theme={isDark:e.isDark,cssClass:e.cssClass}},e.prototype.show=function(e,t,r){null!=e&&this.setText(e),null!=t&&null!=r&&this.setPosition(t,r),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},e.prototype.hide=function(e){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=c,this.isOpen=!1)},e.prototype.getHeight=function(){return this.getElement().offsetHeight},e.prototype.getWidth=function(){return this.getElement().offsetWidth},e.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},e}(),d=new(function(){function e(){this.popups=[]}return e.prototype.addPopup=function(e){this.popups.push(e),this.updatePopups()},e.prototype.removePopup=function(e){var t=this.popups.indexOf(e);-1!==t&&(this.popups.splice(t,1),this.updatePopups())},e.prototype.updatePopups=function(){this.popups.sort(function(e,t){return t.priority-e.priority});var e,t,r,i,o=[];try{for(var s=n(this.popups),a=s.next();!a.done;a=s.next()){var l=a.value,c=!0;try{for(var h=(r=void 0,n(o)),d=h.next();!d.done;d=h.next()){var u=d.value;if(this.doPopupsOverlap(u,l)){c=!1;break}}}catch(e){r={error:e}}finally{try{d&&!d.done&&(i=h.return)&&i.call(h)}finally{if(r)throw r.error}}c?o.push(l):l.hide()}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}},e.prototype.doPopupsOverlap=function(e,t){var r=e.getElement().getBoundingClientRect(),i=t.getElement().getBoundingClientRect();return r.left<i.right&&r.right>i.left&&r.top<i.bottom&&r.bottom>i.top},e}());t.popupManager=d,t.Tooltip=h,t.HoverTooltip=function(e){function t(t){void 0===t&&(t=document.body);var r=e.call(this,t)||this;r.timeout=void 0,r.lastT=0,r.idleTime=350,r.lastEvent=void 0,r.onMouseOut=r.onMouseOut.bind(r),r.onMouseMove=r.onMouseMove.bind(r),r.waitForHover=r.waitForHover.bind(r),r.hide=r.hide.bind(r);var i=r.getElement();return i.style.whiteSpace="pre-wrap",i.style.pointerEvents="auto",i.addEventListener("mouseout",r.onMouseOut),i.tabIndex=-1,i.addEventListener("blur",(function(){i.contains(document.activeElement)||this.hide()}).bind(r)),i.addEventListener("wheel",l),r}return o(t,e),t.prototype.addToEditor=function(e){e.on("mousemove",this.onMouseMove),e.on("mousedown",this.hide);var t=e.renderer.getMouseEventTarget();t&&"function"==typeof t.removeEventListener&&t.addEventListener("mouseout",this.onMouseOut,!0)},t.prototype.removeFromEditor=function(e){e.off("mousemove",this.onMouseMove),e.off("mousedown",this.hide);var t=e.renderer.getMouseEventTarget();t&&"function"==typeof t.removeEventListener&&t.removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},t.prototype.onMouseMove=function(e,t){this.lastEvent=e,this.lastT=Date.now();var r=t.$mouseHandler.isMousePressed;if(this.isOpen){var i=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(i.row,i.column)||r||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||r||(this.lastEvent=e,this.timeout=setTimeout(this.waitForHover,this.idleTime))},t.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var e=Date.now()-this.lastT;if(this.idleTime-e>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-e);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},t.prototype.isOutsideOfText=function(e){var t=e.editor,r=e.getDocumentPosition(),i=t.session.getLine(r.row);if(r.column==i.length){var o=t.renderer.pixelToScreenCoordinates(e.clientX,e.clientY),n=t.session.documentToScreenPosition(r.row,r.column);if(n.column!=o.column||n.row!=o.row)return!0}return!1},t.prototype.setDataProvider=function(e){this.$gatherData=e},t.prototype.showForRange=function(e,t,r,i){if((!i||i==this.lastEvent)&&(!this.isOpen||document.activeElement!=this.getElement())){var o=e.renderer;this.isOpen||(d.addPopup(this),this.$registerCloseEvents(),this.setTheme(o.theme)),this.isOpen=!0,this.range=a.fromPoints(t.start,t.end);var n=o.textToScreenCoordinates(t.start.row,t.start.column),l=o.scroller.getBoundingClientRect();n.pageX<l.left&&(n.pageX=l.left);var c=this.getElement();c.innerHTML="",c.appendChild(r),c.style.maxHeight="",c.style.display="block",this.$setPosition(e,n,!0,t),s.$fixPositionBug(c)}},t.prototype.$setPosition=function(e,t,r,i){r&&this.addMarker(i,e.session);var o=e.renderer,n=this.getElement(),s=n.offsetHeight,a=n.offsetWidth,l=t.pageY,c=t.pageX,h=window.innerHeight-l-o.lineHeight,d=this.$shouldPlaceAbove(s,l,h-10);n.style.maxHeight=(d?l:h)-10+"px",n.style.top=d?"":l+o.lineHeight+"px",n.style.bottom=d?window.innerHeight-l+"px":"",n.style.left=Math.min(c,window.innerWidth-a-10)+"px"},t.prototype.$shouldPlaceAbove=function(e,t,r){return!(t-e<0&&t<r)},t.prototype.addMarker=function(e,t){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=t,this.marker=t&&t.addMarker(e,"ace_highlight-marker","text")},t.prototype.hide=function(e){e&&this.$fromKeyboard&&"keydown"==e.type&&"Escape"==e.code||!e&&document.activeElement==this.getElement()||!(e&&e.target&&("keydown"!=e.type||e.ctrlKey||e.metaKey)&&this.$element.contains(e.target))&&(this.lastEvent=null,this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.addMarker(null),this.isOpen&&(this.$fromKeyboard=!1,this.$removeCloseEvents(),this.getElement().style.display="none",this.isOpen=!1,d.removePopup(this)))},t.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("wheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},t.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("wheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},t.prototype.onMouseOut=function(e){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,!this.isOpen||!e.relatedTarget||this.getElement().contains(e.relatedTarget)||!(e&&e.currentTarget.contains(e.relatedTarget))&&(e.relatedTarget.classList.contains("ace_content")||this.hide())},t}(h)}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/mouse/mouse_event","ace/tooltip","ace/config","ace/range"],function(e,t,r){"use strict";var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=this&&this.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],i=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},s=e("../lib/dom"),a=e("./mouse_event").MouseEvent,l=e("../tooltip").HoverTooltip,c=e("../config").nls,h=e("../range").Range;t.GutterHandler=function(e){var t=e.editor,r=t.renderer.$gutterLayer;e.$tooltip=new d(t),e.$tooltip.addToEditor(t),e.$tooltip.setDataProvider(function(t,r){var i=t.getDocumentPosition().row;e.$tooltip.showTooltip(i)}),e.editor.setDefaultHandler("guttermousedown",function(i){if(t.isFocused()&&0==i.getButton()&&"foldWidgets"!=r.getRegion(i)){var o=i.getDocumentPosition().row,n=t.session.selection;if(i.getShiftKey())n.selectTo(o,0);else{if(2==i.domEvent.detail)return t.selectAll(),i.preventDefault();e.$clickSelection=t.selection.getLineRange(o)}return e.setState("selectByLines"),e.captureMouse(i),i.preventDefault()}})};var d=function(e){function t(r){var i=e.call(this,r.container)||this;i.id="gt"+ ++t.$uid,i.editor=r,i.visibleTooltipRow;var o=i.getElement();return o.setAttribute("role","tooltip"),o.setAttribute("id",i.id),o.style.pointerEvents="auto",i.idleTime=50,i.onDomMouseMove=i.onDomMouseMove.bind(i),i.onDomMouseOut=i.onDomMouseOut.bind(i),i.setClassName("ace_gutter-tooltip"),i}return o(t,e),t.prototype.onDomMouseMove=function(e){var t=new a(e,this.editor);this.onMouseMove(t,this.editor)},t.prototype.onDomMouseOut=function(e){var t=new a(e,this.editor);this.onMouseOut(t)},t.prototype.addToEditor=function(t){var r=t.renderer.$gutter;r.addEventListener("mousemove",this.onDomMouseMove),r.addEventListener("mouseout",this.onDomMouseOut),e.prototype.addToEditor.call(this,t)},t.prototype.removeFromEditor=function(t){var r=t.renderer.$gutter;r.removeEventListener("mousemove",this.onDomMouseMove),r.removeEventListener("mouseout",this.onDomMouseOut),e.prototype.removeFromEditor.call(this,t)},t.prototype.destroy=function(){this.editor&&this.removeFromEditor(this.editor),e.prototype.destroy.call(this)},Object.defineProperty(t,"annotationLabels",{get:function(){return{error:{singular:c("gutter-tooltip.aria-label.error.singular","error"),plural:c("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:c("gutter-tooltip.aria-label.security.singular","security finding"),plural:c("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:c("gutter-tooltip.aria-label.warning.singular","warning"),plural:c("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:c("gutter-tooltip.aria-label.info.singular","information message"),plural:c("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:c("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:c("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),t.prototype.showTooltip=function(e){var r=this.editor.renderer.$gutterLayer,i=r.$annotations[e];a=i?{displayText:Array.from(i.displayText),type:Array.from(i.type)}:{displayText:[],type:[]};var o=r.session.getFoldLine(e);if(o&&r.$showFoldedAnnotations){for(var n,a,l,c={error:[],security:[],warning:[],info:[],hint:[]},d={error:1,security:2,warning:3,info:4,hint:5},u=e+1;u<=o.end.row;u++)if(r.$annotations[u])for(var p=0;p<r.$annotations[u].text.length;p++){var f=r.$annotations[u].type[p];c[f].push(r.$annotations[u].text[p]),(!l||d[f]<d[l])&&(l=f)}if(["error","security","warning"].includes(l)){var g="".concat(t.annotationsToSummaryString(c)," in folded code.");a.displayText.push(g),a.type.push(l+"_fold")}}if(0===a.displayText.length)return this.hide();for(var m={error:[],security:[],warning:[],info:[],hint:[]},v=r.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",u=0;u<a.displayText.length;u++){var y=s.createElement("span"),b=s.createElement("span");(n=b.classList).add.apply(n,["ace_".concat(a.type[u]),v]),b.setAttribute("aria-label","".concat(t.annotationLabels[a.type[u].replace("_fold","")].singular)),b.setAttribute("role","img"),b.appendChild(s.createTextNode(" ")),y.appendChild(b),y.appendChild(s.createTextNode(a.displayText[u])),y.appendChild(s.createElement("br")),m[a.type[u].replace("_fold","")].push(y)}var w=s.createElement("span");m.error.forEach(function(e){return w.appendChild(e)}),m.security.forEach(function(e){return w.appendChild(e)}),m.warning.forEach(function(e){return w.appendChild(e)}),m.info.forEach(function(e){return w.appendChild(e)}),m.hint.forEach(function(e){return w.appendChild(e)}),w.setAttribute("aria-live","polite");var x=this.$findLinkedAnnotationNode(e);x&&x.setAttribute("aria-describedby",this.id);var $=h.fromPoints({row:e,column:0},{row:e,column:0});this.showForRange(this.editor,$,w),this.visibleTooltipRow=e,this.editor._signal("showGutterTooltip",this)},t.prototype.$setPosition=function(t,r,i,o){var n=this.$findCellByRow(o.start.row);if(n){var s=n&&n.element,a=s&&s.querySelector(".ace_gutter_annotation");if(a){var l=a.getBoundingClientRect();if(l){var c={pageX:l.right,pageY:l.top};return e.prototype.$setPosition.call(this,t,c,!1,o)}}}},t.prototype.$shouldPlaceAbove=function(e,t,r){return r<e},t.prototype.$findLinkedAnnotationNode=function(e){var t=this.$findCellByRow(e);if(t){var r=t.element;if(r.childNodes.length>2)return r.childNodes[2]}},t.prototype.$findCellByRow=function(e){return this.editor.renderer.$gutterLayer.$lines.cells.find(function(t){return t.row===e})},t.prototype.hide=function(t){if(this.isOpen){if(this.$element.removeAttribute("aria-live"),void 0!=this.visibleTooltipRow){var r=this.$findLinkedAnnotationNode(this.visibleTooltipRow);r&&r.removeAttribute("aria-describedby")}this.visibleTooltipRow=void 0,this.editor._signal("hideGutterTooltip",this),e.prototype.hide.call(this,t)}},t.annotationsToSummaryString=function(e){var r,i,o=[];try{for(var s=n(["error","security","warning","info","hint"]),a=s.next();!a.done;a=s.next()){var l=a.value;if(e[l].length){var c=1===e[l].length?t.annotationLabels[l].singular:t.annotationLabels[l].plural;o.push("".concat(e[l].length," ").concat(c))}}}catch(e){r={error:e}}finally{try{a&&!a.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return o.join(", ")},t.prototype.isOutsideOfText=function(e){var t=e.editor.renderer.$gutter.getBoundingClientRect();return!(e.clientX>=t.left&&e.clientX<=t.right&&e.clientY>=t.top&&e.clientY<=t.bottom)},t}(l);d.$uid=0,t.GutterTooltip=d}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,r){"use strict";var i=e("../lib/dom"),o=e("../lib/event"),n=e("../lib/useragent");function s(e){var t,r,s,l,c,h=e.editor,d=i.createElement("div");d.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",d.textContent="\xa0",["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"].forEach(function(t){e[t]=this[t]},this),h.on("mousedown",this.onMouseDown.bind(e));var u,p,f,g,m,v,y=h.container,b=0;function w(){var e,t,r,i,o,n,d,u,g,m,y,b,w,x,$,S,M=v;e=v=h.renderer.screenToTextCoordinates(p,f),t=Date.now(),r=!M||e.row!=M.row,i=!M||e.column!=M.column,!l||r||i?(h.moveCursorToPosition(e),l=t,c={x:p,y:f}):a(c.x,c.y,p,f)>5?l=null:t-l>=200&&(h.renderer.scrollCursorIntoView(),l=null),o=v,n=Date.now(),d=h.renderer.layerConfig.lineHeight,u=h.renderer.layerConfig.characterWidth,g=h.renderer.scroller.getBoundingClientRect(),y=Math.min((m={x:{left:p-g.left,right:g.right-p},y:{top:f-g.top,bottom:g.bottom-f}}).x.left,m.x.right),b=Math.min(m.y.top,m.y.bottom),w={row:o.row,column:o.column},y/u<=2&&(w.column+=m.x.left<m.x.right?-3:2),b/d<=1&&(w.row+=m.y.top<m.y.bottom?-1:1),x=o.row!=w.row,$=o.column!=w.column,S=!M||o.row!=M.row,x||$&&!S?s?n-s>=200&&h.renderer.scrollCursorIntoView(w):s=n:s=null}function x(){m=h.selection.toOrientedRange(),u=h.session.addMarker(m,"ace_selection",h.getSelectionStyle()),h.clearSelection(),h.isFocused()&&h.renderer.$cursorLayer.setBlinking(!1),clearInterval(g),w(),g=setInterval(w,20),b=0,o.addListener(document,"mousemove",M)}function $(){clearInterval(g),h.session.removeMarker(u),u=null,h.selection.fromOrientedRange(m),h.isFocused()&&!r&&h.$resetCursorStyle(),m=null,v=null,b=0,s=null,l=null,o.removeListener(document,"mousemove",M)}this.onDragStart=function(e){if(this.cancelDrag||!y.draggable){var t=this;return setTimeout(function(){t.startSelect(),t.captureMouse(e)},0),e.preventDefault()}m=h.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=h.getReadOnly()?"copy":"copyMove",h.container.appendChild(d),i.setDragImage&&i.setDragImage(d,0,0),setTimeout(function(){h.container.removeChild(d)}),i.clearData(),i.setData("Text",h.session.getTextRange()),r=!0,this.setState("drag")},this.onDragEnd=function(e){if(y.draggable=!1,r=!1,this.setState(null),!h.getReadOnly()){var i=e.dataTransfer.dropEffect;t||"move"!=i||h.session.remove(h.getSelectionRange()),h.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(!h.getReadOnly()&&C(e.dataTransfer))return p=e.clientX,f=e.clientY,u||x(),b++,e.dataTransfer.dropEffect=t=A(e),o.preventDefault(e)},this.onDragOver=function(e){if(!h.getReadOnly()&&C(e.dataTransfer))return p=e.clientX,f=e.clientY,!u&&(x(),b++),null!==S&&(S=null),e.dataTransfer.dropEffect=t=A(e),o.preventDefault(e)},this.onDragLeave=function(e){if(--b<=0&&u)return $(),t=null,o.preventDefault(e)},this.onDrop=function(e){if(v){var i=e.dataTransfer;if(r)switch(t){case"move":m=m.contains(v.row,v.column)?{start:v,end:v}:h.moveText(m,v);break;case"copy":m=h.moveText(m,v,!0)}else{var n=i.getData("Text");m={start:v,end:h.session.insert(v,n)},h.focus(),t=null}return $(),o.preventDefault(e)}},o.addListener(y,"dragstart",this.onDragStart.bind(e),h),o.addListener(y,"dragend",this.onDragEnd.bind(e),h),o.addListener(y,"dragenter",this.onDragEnter.bind(e),h),o.addListener(y,"dragover",this.onDragOver.bind(e),h),o.addListener(y,"dragleave",this.onDragLeave.bind(e),h),o.addListener(y,"drop",this.onDrop.bind(e),h);var S=null;function M(){null==S&&(S=setTimeout(function(){null!=S&&u&&$()},20))}function C(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return"text/plain"==e||"Text"==e})}function A(e){var t=["copy","copymove","all","uninitialized"],r=n.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":["move","copymove","linkmove","all","uninitialized"].indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}}function a(e,t,r,i){return Math.sqrt(Math.pow(r-e,2)+Math.pow(i-t,2))}(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor;e.container.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var t=n.isWin?"default":"move";e.renderer.setCursorStyle(t),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(n.isIE&&"dragReady"==this.state){var r=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);r>3&&t.dragDrop()}if("dragWait"===this.state){var r=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);r>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,r=e.inSelection(),i=e.getButton();if(1===(e.domEvent.detail||1)&&0===i&&r){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on"),t.getDragDelay()?(n.isWebKit&&(this.cancelDrag=!0,t.container.draggable=!0),this.setState("dragWait")):this.startDrag(),this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(s.prototype),t.DragdropHandler=s}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(e,t,r){"use strict";var i=e("./mouse_event").MouseEvent,o=e("../lib/event"),n=e("../lib/dom");t.addTouchListeners=function(e,t){var r,s,a,l,c,h,d,u,p,f="scroll",g=0,m=0,v=0,y=0;function b(){if(!t.getOption("enableMobileMenu")){p&&w();return}p||(e=window.navigator&&window.navigator.clipboard,r=!1,i=function(){var i=t.getCopyText(),s=t.session.getUndoManager().hasUndo();p.replaceChild(n.buildDom(r?["span",!i&&o("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],i&&o("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],i&&o("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],e&&o("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],s&&o("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],o("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],o("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),p.firstChild)},o=function(e){return t.commands.canExecute(e,t)},s=function(o){var n=o.target.getAttribute("action");if("more"==n||!r)return r=!r,i();"paste"==n?e.readText().then(function(e){t.execCommand(n,e)}):n&&(("cut"==n||"copy"==n)&&(e?e.writeText(t.getCopyText()):document.execCommand("copy")),t.execCommand(n)),p.firstChild.style.display="none",r=!1,"openCommandPalette"!=n&&t.focus()},p=n.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(e){f="menu",e.stopPropagation(),e.preventDefault(),t.textInput.focus()},ontouchend:function(e){e.stopPropagation(),e.preventDefault(),s(e)},onclick:s},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],t.container));var e,r,i,o,s,a=t.selection.cursor,l=t.renderer.textToScreenCoordinates(a.row,a.column),c=t.renderer.textToScreenCoordinates(0,0).pageX,h=t.renderer.scrollLeft,d=t.container.getBoundingClientRect();p.style.top=l.pageY-d.top-3+"px",l.pageX-d.left<d.width-70?(p.style.left="",p.style.right="10px"):(p.style.right="",p.style.left=c+h-d.left+"px"),p.style.display="",p.firstChild.style.display="none",t.on("input",w)}function w(e){p&&(p.style.display="none"),t.off("input",w)}function x(){clearTimeout(c=null);var e=t.selection.getRange(),r=e.contains(d.row,d.column);(e.isEmpty()||!r)&&(t.selection.moveToPosition(d),t.selection.selectWord()),f="wait",b()}o.addListener(e,"contextmenu",function(e){u&&t.textInput.getElement().focus()},t),o.addListener(e,"touchstart",function(e){var o,n=e.touches;if(c||n.length>1){clearTimeout(c),c=null,a=-1,f="zoom";return}u=t.$mouseHandler.isMousePressed=!0;var h=t.renderer.layerConfig.lineHeight,p=t.renderer.layerConfig.lineHeight,b=e.timeStamp;l=b;var w=n[0],$=w.clientX,S=w.clientY;if(Math.abs(r-$)+Math.abs(s-S)>h&&(a=-1),r=e.clientX=$,s=e.clientY=S,v=y=0,d=new i(e,t).getDocumentPosition(),b-a<500&&1==n.length&&!g)m++,e.preventDefault(),e.button=0,clearTimeout(c=null),t.selection.moveToPosition(d),(o=m>=2?t.selection.getLineRange(d.row):t.session.getBracketRange(d))&&!o.isEmpty()?t.selection.setRange(o):t.selection.selectWord(),f="wait";else{m=0;var M=t.selection.cursor,C=t.selection.isEmpty()?M:t.selection.anchor,A=t.renderer.$cursorLayer.getPixelPosition(M,!0),E=t.renderer.$cursorLayer.getPixelPosition(C,!0),k=t.renderer.scroller.getBoundingClientRect(),_=t.renderer.layerConfig.offset,L=t.renderer.scrollLeft,T=function(e,t){return(e/=p)*e+(t=t/h-.75)*t};if(e.clientX<k.left){f="zoom";return}var R=T(e.clientX-k.left-A.left+L,e.clientY-k.top-A.top+_),I=T(e.clientX-k.left-E.left+L,e.clientY-k.top-E.top+_);R<3.5&&I<3.5&&(f=R>I?"cursor":"anchor"),f=I<3.5?"anchor":R<3.5?"cursor":"scroll",c=setTimeout(x,450)}a=b},t),o.addListener(e,"touchend",function(e){u=t.$mouseHandler.isMousePressed=!1,h&&clearInterval(h),"zoom"==f?(f="",g=0):c?(t.selection.moveToPosition(d),g=0,b()):"scroll"==f?(g+=60,h=setInterval(function(){g--<=0&&(clearInterval(h),h=null),.01>Math.abs(v)&&(v=0),.01>Math.abs(y)&&(y=0),g<20&&(v*=.9),g<20&&(y*=.9);var e=t.session.getScrollTop();t.renderer.scrollBy(10*v,10*y),e==t.session.getScrollTop()&&(g=0)},10),w()):b(),clearTimeout(c),c=null},t),o.addListener(e,"touchmove",function(e){c&&(clearTimeout(c),c=null);var o=e.touches;if(!(o.length>1)&&"zoom"!=f){var n=o[0],a=r-n.clientX,h=s-n.clientY;if("wait"==f)if(!(a*a+h*h>4))return e.preventDefault();else f="cursor";r=n.clientX,s=n.clientY,e.clientX=n.clientX,e.clientY=n.clientY;var d=e.timeStamp,u=d-l;if(l=d,"scroll"==f){var p=new i(e,t);p.speed=1,p.wheelX=a,p.wheelY=h,10*Math.abs(a)<Math.abs(h)&&(a=0),10*Math.abs(h)<Math.abs(a)&&(h=0),0!=u&&(v=a/u,y=h/u),t._emit("mousewheel",p),p.propagationStopped||(v=y=0)}else{var g=new i(e,t).getDocumentPosition();"cursor"==f?t.selection.moveCursorToPosition(g):"anchor"==f&&t.selection.setSelectionAnchor(g.row,g.column),t.renderer.scrollCursorIntoView(g),e.preventDefault()}}},t)}}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],function(e,t,r){"use strict";var i=e("../lib/event"),o=e("../lib/useragent"),n=e("./default_handlers").DefaultHandlers,s=e("./default_gutter_handler").GutterHandler,a=e("./mouse_event").MouseEvent,l=e("./dragdrop_handler").DragdropHandler,c=e("./touch_handler").addTouchListeners,h=e("../config"),d=function(){function e(e){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var t=this;this.editor=e,new n(this),new s(this),new l(this);var r=function(t){document.hasFocus&&document.hasFocus()&&(e.isFocused()||document.activeElement!=(e.textInput&&e.textInput.getElement()))||window.focus(),e.focus(),setTimeout(function(){e.isFocused()||e.focus()})},a=e.renderer.getMouseEventTarget();i.addListener(a,"click",this.onMouseEvent.bind(this,"click"),e),i.addListener(a,"mousemove",this.onMouseMove.bind(this,"mousemove"),e),i.addMultiMouseDownListener([a,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",e),i.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel"),e),c(e.container,e);var h=e.renderer.$gutter;i.addListener(h,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),e),i.addListener(h,"click",this.onMouseEvent.bind(this,"gutterclick"),e),i.addListener(h,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),e),i.addListener(h,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),e),i.addListener(a,"mousedown",r,e),i.addListener(h,"mousedown",r,e),o.isIE&&e.renderer.scrollBarV&&(i.addListener(e.renderer.scrollBarV.element,"mousedown",r,e),i.addListener(e.renderer.scrollBarH.element,"mousedown",r,e)),e.on("mousemove",function(r){if(!t.state&&!t.$dragDelay&&t.$dragEnabled){var i=e.renderer.screenToTextCoordinates(r.x,r.y),o=e.session.selection.getRange(),n=e.renderer;!o.isEmpty()&&o.insideStart(i.row,i.column)?n.setCursorStyle("default"):n.setCursorStyle("")}},e)}return e.prototype.onMouseEvent=function(e,t){this.editor.session&&this.editor._emit(e,new a(t,this.editor))},e.prototype.onMouseMove=function(e,t){var r=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;r&&r.length&&this.editor._emit(e,new a(t,this.editor))},e.prototype.onMouseWheel=function(e,t){var r=new a(t,this.editor);r.speed=2*this.$scrollSpeed,r.wheelX=t.wheelX,r.wheelY=t.wheelY,this.editor._emit(e,r)},e.prototype.setState=function(e){this.state=e},e.prototype.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var r=this.editor,n=this.editor.renderer;n.$isMousePressed=!0;var s=this,l=!0,c=function(e){if(e){if(o.isWebKit&&!e.which&&s.releaseMouse)return s.releaseMouse();s.x=e.clientX,s.y=e.clientY,t&&t(e),s.mouseEvent=new a(e,s.editor),s.$mouseMoved=!0}},h=function(e){r.off("beforeEndOperation",p),l=!1,r.session&&d(),s[s.state+"End"]&&s[s.state+"End"](e),s.state="",s.isMousePressed=n.$isMousePressed=!1,n.$keepTextAreaAtCursor&&n.$moveTextAreaToCursor(),s.$onCaptureMouseMove=s.releaseMouse=null,e&&s.onMouseEvent("mouseup",e),r.endOperation()},d=function(){s[s.state]&&s[s.state](),s.$mouseMoved=!1},u=function(){l&&(d(),i.nextFrame(u))};if(o.isOldIE&&"dblclick"==e.domEvent.type)return setTimeout(function(){h(e)});var p=function(e){s.releaseMouse&&r.curOp.command.name&&r.curOp.selectionChanged&&(s[s.state+"End"]&&s[s.state+"End"](),s.state="",s.releaseMouse())};r.on("beforeEndOperation",p),r.startOperation({command:{name:"mouse"}}),s.$onCaptureMouseMove=c,s.releaseMouse=i.capture(this.editor.container,c,h),u()},e.prototype.cancelContextMenu=function(){var e=(function(t){(!t||!t.domEvent||"contextmenu"==t.domEvent.type)&&(this.editor.off("nativecontextmenu",e),t&&t.domEvent&&i.stopEvent(t.domEvent))}).bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)},e.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse(),this.$tooltip&&this.$tooltip.destroy()},e}();d.prototype.releaseMouse=null,h.defineOptions(d.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:150*!!o.isMac},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0}}),t.MouseHandler=d}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(e,t,r){"use strict";var i=e("../lib/dom");t.FoldHandler=function(e){e.on("click",function(t){var r=t.getDocumentPosition(),o=e.session,n=o.getFoldAt(r.row,r.column,1);n&&(t.getAccelKey()?o.removeFold(n):o.expandFold(n),t.stop());var s=t.domEvent&&t.domEvent.target;s&&i.hasCssClass(s,"ace_inline_button")&&i.hasCssClass(s,"ace_toggle_wrap")&&(o.setOption("wrap",!o.getUseWrapMode()),e.renderer.scrollCursorIntoView())}),e.on("gutterclick",function(t){if("foldWidgets"==e.renderer.$gutterLayer.getRegion(t)){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){if("foldWidgets"==e.renderer.$gutterLayer.getRegion(t)){var r=t.getDocumentPosition().row,i=e.session,o=i.getParentFoldRangeData(r,!0),n=o.range||o.firstRange;if(n){r=n.start.row;var s=i.getFoldAt(r,i.getLine(r).length,1);s?i.removeFold(s):(i.addFold("...",n),e.renderer.scrollCursorIntoView({row:n.start.row,column:0}))}t.stop()}})}}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,r){"use strict";var i=e("../lib/keys"),o=e("../lib/event");t.KeyBinding=function(){function e(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)}return e.prototype.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},e.prototype.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]!=e){for(;t[t.length-1]&&t[t.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)}},e.prototype.addKeyboardHandler=function(e,t){if(e){"function"!=typeof e||e.handleKeyboard||(e.handleKeyboard=e);var r=this.$handlers.indexOf(e);-1!=r&&this.$handlers.splice(r,1),void 0==t?this.$handlers.push(e):this.$handlers.splice(t,0,e),-1==r&&e.attach&&e.attach(this.$editor)}},e.prototype.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return -1!=t&&(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},e.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},e.prototype.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(r){return r.getStatusText&&r.getStatusText(t,e)||""}).filter(Boolean).join(" ")},e.prototype.$callKeyboardHandlers=function(e,t,r,i){for(var n,s=!1,a=this.$editor.commands,l=this.$handlers.length;l--&&(!(n=this.$handlers[l].handleKeyboard(this.$data,e,t,r,i))||!n.command||((s="null"==n.command||a.exec(n.command,this.$editor,n.args,i))&&i&&-1!=e&&!0!=n.passEvent&&!0!=n.command.passEvent&&o.stopEvent(i),!s)););return s||-1!=e||(n={command:"insertstring"},s=a.exec("insertstring",this.$editor,t)),s&&this.$editor._signal&&this.$editor._signal("keyboardActivity",n),s},e.prototype.onCommandKey=function(e,t,r){var o=i.keyCodeToString(r);return this.$callKeyboardHandlers(t,o,r,e)},e.prototype.onTextInput=function(e){return this.$callKeyboardHandlers(-1,e)},e}()}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(e,t,r){"use strict";var i=0,o=0,n=!1,s=!1,a=!1,l=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],c=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],h=[18,18,18,18,18,18,18,18,18,6,5,6,8,5,18,18,18,18,18,18,18,18,18,18,18,18,18,18,5,5,5,6,8,4,4,11,11,11,4,4,4,4,4,10,9,10,9,9,2,2,2,2,2,2,2,2,2,2,9,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,18,18,18,18,18,18,5,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,9,4,11,11,11,11,4,4,4,4,0,4,4,18,4,4,11,11,2,2,4,0,4,4,4,2,0,4,4,4,4,4],d=[8,8,8,8,8,8,8,8,8,8,8,18,18,18,0,1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,5,13,14,15,16,17,9,11,11,11,11,11,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8];function u(e,t,r){if(!(o<e)){if(1==e&&1==i&&!s)return void r.reverse();for(var n,a,l,c,h=r.length,d=0;d<h;){if(t[d]>=e){for(n=d+1;n<h&&t[n]>=e;)n++;for(a=d,l=n-1;a<l;a++,l--)c=r[a],r[a]=r[l],r[l]=c;d=n}d++}}}function p(e){var t=e.charCodeAt(0),r=t>>8;if(0==r)return t>191?0:h[t];if(5==r)return+!!/[\u0591-\u05f4]/.test(e);if(6==r)if(/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e))return 12;else if(/[\u0660-\u0669\u066b-\u066c]/.test(e))return 3;else if(1642==t)return 11;else if(/[\u06f0-\u06f9]/.test(e))return 2;else return 7;if(32==r&&t<=8287)return d[255&t];if(254==r)return t>=65136?7:4;return 4}t.L=0,t.R=1,t.EN=2,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.RLE=7,t.DOT="\xb7",t.doBidiReorder=function(e,r,h){if(e.length<2)return{};var d=e.split(""),f=Array(d.length),g=Array(d.length),m=[];i=+!!h,function(e,t,r,h){var d=i?c:l,u=null,f=null,g=null,m=0,v=null,y=-1,b=null,w=null,x=[];if(!h)for(b=0,h=[];b<r;b++)h[b]=p(e[b]);for(w=0,o=i,n=!1,s=!1,a=!1;w<r;w++){if(u=m,x[w]=f=function(e,t,r,o){var l,c,h,d,u=t[o];switch(u){case 0:case 1:n=!1;case 4:case 3:return u;case 2:return n?3:2;case 7:return n=!0,1;case 8:return 4;case 9:if(o<1||o+1>=t.length||2!=(l=r[o-1])&&3!=l||2!=(c=t[o+1])&&3!=c)return 4;return n&&(c=3),c==l?c:4;case 10:if(2==(l=o>0?r[o-1]:5)&&o+1<t.length&&2==t[o+1])return 2;return 4;case 11:if(o>0&&2==r[o-1])return 2;if(n)return 4;for(d=o+1,h=t.length;d<h&&11==t[d];)d++;if(d<h&&2==t[d])return 2;return 4;case 12:for(h=t.length,d=o+1;d<h&&12==t[d];)d++;if(d<h){var p=e[o];if(l=t[d],(p>=1425&&p<=2303||64286==p)&&(1==l||7==l))return 1}if(o<1||5==(l=t[o-1]))return 4;return r[o-1];case 5:return n=!1,s=!0,i;case 6:return a=!0,4;case 13:case 14:case 16:case 17:case 15:n=!1;case 18:return 4}}(e,h,x,w),v=240&(m=d[u][f]),m&=15,t[w]=g=d[m][5],v>0)if(16==v){for(b=y;b<w;b++)t[b]=1;y=-1}else y=-1;if(d[m][6])-1==y&&(y=w);else if(y>-1){for(b=y;b<w;b++)t[b]=g;y=-1}5==h[w]&&(t[w]=0),o|=g}if(a){for(b=0;b<r;b++)if(6==h[b]){t[b]=i;for(var $=b-1;$>=0;$--)if(8==h[$])t[$]=i;else break}}}(d,m,d.length,r);for(var v=0;v<f.length;f[v]=v,v++);u(2,m,f),u(1,m,f);for(var v=0;v<f.length-1;v++)3===r[v]?m[v]=t.AN:1===m[v]&&(r[v]>7&&r[v]<13||4===r[v]||18===r[v])?m[v]=t.ON_R:v>0&&"ل"===d[v-1]&&/\u0622|\u0623|\u0625|\u0627/.test(d[v])&&(m[v-1]=m[v]=t.R_H,v++);d[d.length-1]===t.DOT&&(m[d.length-1]=t.B),"‫"===d[0]&&(m[0]=t.RLE);for(var v=0;v<f.length;v++)g[v]=m[f[v]];return{logicalFromVisual:f,bidiLevels:g}},t.hasBidiCharacters=function(e,t){for(var r=!1,i=0;i<e.length;i++)t[i]=p(e.charAt(i)),r||1!=t[i]&&7!=t[i]&&3!=t[i]||(r=!0);return r},t.getVisualFromLogicalIdx=function(e,t){for(var r=0;r<t.logicalFromVisual.length;r++)if(t.logicalFromVisual[r]==e)return r;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(e,t,r){"use strict";var i=e("./lib/bidiutil"),o=e("./lib/lang"),n=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/;t.BidiHandler=function(){function e(e){this.session=e,this.bidiMap={},this.currentRow=null,this.bidiUtil=i,this.charWidths=[],this.EOL="\xac",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="\xb6",this.RLE="‫",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=n.test(e.getValue())}return e.prototype.isBidiRow=function(e,t,r){return!!this.seenBidi&&(e!==this.currentRow&&(this.currentRow=e,this.updateRowLine(t,r),this.updateBidiMap()),this.bidiMap.bidiLevels)},e.prototype.onChange=function(e){this.seenBidi?this.currentRow=null:"insert"==e.action&&n.test(e.lines.join("\n"))&&(this.seenBidi=!0,this.currentRow=null)},e.prototype.getDocumentRow=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var r=this.session.$getRowCacheIndex(t,this.currentRow);r>=0&&(e=this.session.$docRowCache[r])}return e},e.prototype.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length)for(var r,i=this.session.$getRowCacheIndex(t,this.currentRow);this.currentRow-e>0&&(r=this.session.$getRowCacheIndex(t,this.currentRow-e-1))===i;)i=r,e++;else e=this.currentRow;return e},e.prototype.updateRowLine=function(e,t){void 0===e&&(e=this.getDocumentRow());var r=e===this.session.getLength()-1?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var n=this.session.$wrapData[e];n&&(void 0===t&&(t=this.getSplitIndex()),t>0&&n.length?(this.wrapIndent=n.indent,this.wrapOffset=this.wrapIndent*this.charWidths[i.L],this.line=t<n.length?this.line.substring(n[t-1],n[t]):this.line.substring(n[n.length-1])):this.line=this.line.substring(0,n[t]),t==n.length&&(this.line+=this.showInvisibles?r:i.DOT))}else this.line+=this.showInvisibles?r:i.DOT;var s,a=this.session,l=0;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(e,t){return" "===e||a.isFullWidth(e.charCodeAt(0))?(s=" "===e?a.getScreenTabSize(t+l):2,l+=s-1,o.stringRepeat(i.DOT,s)):e}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==i.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},e.prototype.updateBidiMap=function(){var e=[];i.hasBidiCharacters(this.line,e)||this.isRtlDir?this.bidiMap=i.doBidiReorder(this.line,e,this.isRtlDir):this.bidiMap={}},e.prototype.markAsDirty=function(){this.currentRow=null},e.prototype.updateCharacterWidths=function(e){if(this.characterWidth!==e.$characterSize.width){this.fontMetrics=e;var t=this.characterWidth=e.$characterSize.width,r=e.$measureCharWidth("ה");this.charWidths[i.L]=this.charWidths[i.EN]=this.charWidths[i.ON_R]=t,this.charWidths[i.R]=this.charWidths[i.AN]=r,this.charWidths[i.R_H]=.45*r,this.charWidths[i.B]=this.charWidths[i.RLE]=0,this.currentRow=null}},e.prototype.setShowInvisibles=function(e){this.showInvisibles=e,this.currentRow=null},e.prototype.setEolChar=function(e){this.EOL=e},e.prototype.setContentWidth=function(e){this.contentWidth=e},e.prototype.isRtlLine=function(e){return!!this.$isRtl||(void 0!=e?this.session.getLine(e).charAt(0)==this.RLE:this.isRtlDir)},e.prototype.setRtlDirection=function(e,t){for(var r=e.getCursorPosition(),i=e.selection.getSelectionAnchor().row;i<=r.row;i++)t||e.session.getLine(i).charAt(0)!==e.session.$bidiHandler.RLE?t&&e.session.getLine(i).charAt(0)!==e.session.$bidiHandler.RLE&&e.session.doc.insert({column:0,row:i},e.session.$bidiHandler.RLE):e.session.doc.removeInLine(i,0,1)},e.prototype.getPosLeft=function(e){e-=this.wrapIndent;var t=+(this.line.charAt(0)===this.RLE),r=e>t?this.session.getOverwrite()?e:e-1:t,o=i.getVisualFromLogicalIdx(r,this.bidiMap),n=this.bidiMap.bidiLevels,s=0;!this.session.getOverwrite()&&e<=t&&n[o]%2!=0&&o++;for(var a=0;a<o;a++)s+=this.charWidths[n[a]];return!this.session.getOverwrite()&&e>t&&n[o]%2==0&&(s+=this.charWidths[n[o]]),this.wrapIndent&&(s+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(s+=this.rtlLineOffset),s},e.prototype.getSelections=function(e,t){var r,i=this.bidiMap,o=i.bidiLevels,n=[],s=0,a=Math.min(e,t)-this.wrapIndent,l=Math.max(e,t)-this.wrapIndent,c=!1,h=!1,d=0;this.wrapIndent&&(s+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var u,p=0;p<o.length;p++)u=i.logicalFromVisual[p],r=o[p],(c=u>=a&&u<l)&&!h?d=s:!c&&h&&n.push({left:d,width:s-d}),s+=this.charWidths[r],h=c;if(c&&p===o.length&&n.push({left:d,width:s-d}),this.isRtlDir)for(var f=0;f<n.length;f++)n[f].left+=this.rtlLineOffset;return n},e.prototype.offsetToCol=function(e){this.isRtlDir&&(e-=this.rtlLineOffset);var t=0,e=Math.max(e,0),r=0,i=0,o=this.bidiMap.bidiLevels,n=this.charWidths[o[i]];for(this.wrapIndent&&(e-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);e>r+n/2;){if(r+=n,i===o.length-1){n=0;break}n=this.charWidths[o[++i]]}return i>0&&o[i-1]%2!=0&&o[i]%2==0?(e<r&&i--,t=this.bidiMap.logicalFromVisual[i]):i>0&&o[i-1]%2==0&&o[i]%2!=0?t=1+(e>r?this.bidiMap.logicalFromVisual[i]:this.bidiMap.logicalFromVisual[i-1]):this.isRtlDir&&i===o.length-1&&0===n&&o[i-1]%2==0||!this.isRtlDir&&0===i&&o[i]%2!=0?t=1+this.bidiMap.logicalFromVisual[i]:(i>0&&o[i-1]%2!=0&&0!==n&&i--,t=this.bidiMap.logicalFromVisual[i]),0===t&&this.isRtlDir&&t++,t+this.wrapIndent},e}()}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,r){"use strict";var i=e("./lib/oop"),o=e("./lib/lang"),n=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,a=function(){function e(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var t=this;this.cursor.on("change",function(e){t.$cursorChanged=!0,t.$silent||t._emit("changeCursor"),t.$isEmpty||t.$silent||t._emit("changeSelection"),t.$keepDesiredColumnOnChange||e.old.column==e.value.column||(t.$desiredColumn=null)}),this.anchor.on("change",function(){t.$anchorChanged=!0,t.$isEmpty||t.$silent||t._emit("changeSelection")})}return e.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},e.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},e.prototype.getCursor=function(){return this.lead.getPosition()},e.prototype.setAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},e.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},e.prototype.getSelectionLead=function(){return this.lead.getPosition()},e.prototype.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},e.prototype.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?s.fromPoints(t,t):this.isBackwards()?s.fromPoints(t,e):s.fromPoints(e,t)},e.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},e.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},e.prototype.setRange=function(e,t){var r=t?e.end:e.start,i=t?e.start:e.end;this.$setSelection(r.row,r.column,i.row,i.column)},e.prototype.$setSelection=function(e,t,r,i){if(!this.$silent){var o=this.$isEmpty,n=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(r,i),this.$isEmpty=!s.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||o!=this.$isEmpty||n)&&this._emit("changeSelection")}},e.prototype.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},e.prototype.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},e.prototype.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},e.prototype.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},e.prototype.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},e.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},e.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},e.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},e.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},e.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},e.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},e.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},e.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},e.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},e.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},e.prototype.getWordRange=function(e,t){if(void 0===t){var r=e||this.lead;e=r.row,t=r.column}return this.session.getWordRange(e,t)},e.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},e.prototype.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},e.prototype.getLineRange=function(e,t){var r,i="number"==typeof e?e:this.lead.row,o=this.session.getFoldLine(i);return(o?(i=o.start.row,r=o.end.row):r=i,!0===t)?new s(i,0,r,this.session.getLine(r).length):new s(i,0,r+1,0)},e.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},e.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},e.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},e.prototype.wouldMoveIntoSoftTab=function(e,t,r){var i=e.column,o=e.column+t;return r<0&&(i=e.column-t,o=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(i,o).split(" ").length-1==t},e.prototype.moveCursorLeft=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else if(0===t.column)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var r=this.session.getTabSize();this.wouldMoveIntoSoftTab(t,r,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-r):this.moveCursorBy(0,-1)}},e.prototype.moveCursorRight=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(e.end.row,e.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var r=this.session.getTabSize(),t=this.lead;this.wouldMoveIntoSoftTab(t,r,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,r):this.moveCursorBy(0,1)}},e.prototype.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,r=this.session.documentToScreenRow(e,t),i=this.session.screenToDocumentPosition(r,0),o=this.session.getDisplayLine(e,null,i.row,i.column).match(/^\s*/);o[0].length==t||this.session.$useEmacsStyleLineStart||(i.column+=o[0].length),this.moveCursorToPosition(i)},e.prototype.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var r=this.session.getLine(t.row);if(t.column==r.length){var i=r.search(/\s+$/);i>0&&(t.column=i)}}this.moveCursorTo(t.row,t.column)},e.prototype.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},e.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},e.prototype.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,r=this.doc.getLine(e),i=r.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var o=this.session.getFoldAt(e,t,1);if(o)return void this.moveCursorTo(o.end.row,o.end.column);if(this.session.nonTokenRe.exec(i)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,i=r.substring(t)),t>=r.length){this.moveCursorTo(e,r.length),this.moveCursorRight(),e<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(i)&&(t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)},e.prototype.moveCursorLongWordLeft=function(){var e,t=this.lead.row,r=this.lead.column;if(e=this.session.getFoldAt(t,r,-1))return void this.moveCursorTo(e.start.row,e.start.column);var i=this.session.getFoldStringAt(t,r,-1);null==i&&(i=this.doc.getLine(t).substring(0,r));var n=o.stringReverse(i);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(n)&&(r-=this.session.nonTokenRe.lastIndex,n=n.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),r<=0){this.moveCursorTo(t,0),this.moveCursorLeft(),t>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(n)&&(r-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,r)},e.prototype.$shortWordEndIndex=function(e){var t,r=0,i=/\s/,o=this.session.tokenRe;if(o.lastIndex=0,this.session.tokenRe.exec(e))r=this.session.tokenRe.lastIndex;else{for(;(t=e[r])&&i.test(t);)r++;if(r<1){for(o.lastIndex=0;(t=e[r])&&!o.test(t);)if(o.lastIndex=0,r++,i.test(t))if(r>2){r--;break}else{for(;(t=e[r])&&i.test(t);)r++;if(r>2)break}}}return o.lastIndex=0,r},e.prototype.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,r=this.doc.getLine(e),i=r.substring(t),o=this.session.getFoldAt(e,t,1);if(o)return this.moveCursorTo(o.end.row,o.end.column);if(t==r.length){var n=this.doc.getLength();do e++,i=this.doc.getLine(e);while(e<n&&/^\s*$/.test(i));/^\s+/.test(i)||(i=""),t=0}var s=this.$shortWordEndIndex(i);this.moveCursorTo(e,t+s)},e.prototype.moveCursorShortWordLeft=function(){var e,t=this.lead.row,r=this.lead.column;if(e=this.session.getFoldAt(t,r,-1))return this.moveCursorTo(e.start.row,e.start.column);var i=this.session.getLine(t).substring(0,r);if(0===r){do t--,i=this.doc.getLine(t);while(t>0&&/^\s*$/.test(i));r=i.length,/\s+$/.test(i)||(i="")}var n=o.stringReverse(i),s=this.$shortWordEndIndex(n);return this.moveCursorTo(t,r-s)},e.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},e.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},e.prototype.moveCursorBy=function(e,t){var r,i=this.session.documentToScreenPosition(this.lead.row,this.lead.column);if(0===t&&(0!==e&&(this.session.$bidiHandler.isBidiRow(i.row,this.lead.row)?(r=this.session.$bidiHandler.getPosLeft(i.column),i.column=Math.round(r/this.session.$bidiHandler.charWidths[0])):r=i.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?i.column=this.$desiredColumn:this.$desiredColumn=i.column),0!=e&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var o=this.session.lineWidgets[this.lead.row];e<0?e-=o.rowsAbove||0:e>0&&(e+=o.rowCount-(o.rowsAbove||0))}var n=this.session.screenToDocumentPosition(i.row+e,i.column,r);0!==e&&0===t&&n.row===this.lead.row&&(n.column,this.lead.column),this.moveCursorTo(n.row,n.column+t,0===t)},e.prototype.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},e.prototype.moveCursorTo=function(e,t,r){var i=this.session.getFoldAt(e,t,1);i&&(e=i.start.row,t=i.start.column),this.$keepDesiredColumnOnChange=!0;var o=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(o.charAt(t))&&o.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,r||(this.$desiredColumn=null)},e.prototype.moveCursorToScreen=function(e,t,r){var i=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(i.row,i.column,r)},e.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},e.prototype.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},e.prototype.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},e.prototype.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var r=this.getCursor();return s.fromPoints(t,r)}catch(e){return s.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},e.prototype.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},e.prototype.fromJSON=function(e){if(void 0==e.start)if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var t=e.length;t--;){var r=s.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(r.cursor=r.start),this.addRange(r,!0)}return}else e=e[0];this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},e.prototype.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0},e}();a.prototype.setSelectionAnchor=a.prototype.setAnchor,a.prototype.getSelectionAnchor=a.prototype.getAnchor,a.prototype.setSelectionRange=a.prototype.setRange,i.implement(a.prototype,n),t.Selection=a}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(e,t,r){"use strict";var i=e("./lib/report_error").reportError,o=2e3,n=function(){function e(e){for(var t in this.splitRegex,this.states=e,this.regExps={},this.matchMappings={},this.states){for(var r=this.states[t],i=[],o=0,n=this.matchMappings[t]={defaultToken:"text"},s="g",a=[],l=0;l<r.length;l++){var c=r[l];if(c.defaultToken&&(n.defaultToken=c.defaultToken),c.caseInsensitive&&-1===s.indexOf("i")&&(s+="i"),c.unicode&&-1===s.indexOf("u")&&(s+="u"),null!=c.regex){c.regex instanceof RegExp&&(c.regex=c.regex.toString().slice(1,-1));var h=c.regex,d=RegExp("(?:("+h+")|(.))").exec("a").length-2;Array.isArray(c.token)?1==c.token.length||1==d?c.token=c.token[0]:d-1!=c.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:c,groupCount:d-1}),c.token=c.token[0]):(c.tokenArray=c.token,c.token=null,c.onMatch=this.$arrayTokens):"function"!=typeof c.token||c.onMatch||(d>1?c.onMatch=this.$applyToken:c.onMatch=c.token),d>1&&(/\\\d/.test(c.regex)?h=c.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+o+1)}):(d=1,h=this.removeCapturingGroups(c.regex)),c.splitRegex||"string"==typeof c.token||a.push(c)),n[o]=l,o+=d,i.push(h),c.onMatch||(c.onMatch=null)}}i.length||(n[0]=0,i.push("$")),a.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,s)},this),this.regExps[t]=RegExp("("+i.join(")|(")+")|($)",s)}}return e.prototype.$setMaxTokenCount=function(e){o=0|e},e.prototype.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),r=this.token.apply(this,t);if("string"==typeof r)return[{type:r,value:e}];for(var i=[],o=0,n=r.length;o<n;o++)t[o]&&(i[i.length]={type:r[o],value:t[o]});return i},e.prototype.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";for(var r=[],i=this.tokenArray,o=0,n=i.length;o<n;o++)t[o+1]&&(r[r.length]={type:i[o],value:t[o+1]});return r},e.prototype.removeCapturingGroups=function(e){return e.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(e,t){return t?"(?:":e})},e.prototype.createSplitterRegexp=function(e,t){if(-1!=e.indexOf("(?=")){var r=0,i=!1,o={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,t,n,s,a,l){return i?i="]"!=a:a?i=!0:s?(r==o.stack&&(o.end=l+1,o.stack=-1),r--):n&&(r++,1!=n.length&&(o.stack=r,o.start=l)),e}),null!=o.end&&/^\)*$/.test(e.substr(o.end))&&(e=e.substring(0,o.start)+e.substr(o.end))}return"^"!=e.charAt(0)&&(e="^"+e),"$"!=e.charAt(e.length-1)&&(e+="$"),new RegExp(e,(t||"").replace("g",""))},e.prototype.getLineTokens=function(e,t){if(t&&"string"!=typeof t){var r=t.slice(0);"#tmp"===(t=r[0])&&(r.shift(),t=r.shift())}else var r=[];var i=t||"start",n=this.states[i];n||(i="start",n=this.states[i]);var s=this.matchMappings[i],a=this.regExps[i];a.lastIndex=0;for(var l,c=[],h=0,d=0,u={type:null,value:""};l=a.exec(e);){var p=s.defaultToken,f=null,g=l[0],m=a.lastIndex;if(m-g.length>h){var v=e.substring(h,m-g.length);u.type==p?u.value+=v:(u.type&&c.push(u),u={type:p,value:v})}for(var y=0;y<l.length-2;y++)if(void 0!==l[y+1]){p=(f=n[s[y]]).onMatch?f.onMatch(g,i,r,e):f.token,f.next&&(i="string"==typeof f.next?f.next:f.next(i,r),(n=this.states[i])||(this.reportError("state doesn't exist",i),i="start",n=this.states[i]),s=this.matchMappings[i],h=m,(a=this.regExps[i]).lastIndex=m),f.consumeLineEnd&&(h=m);break}if(g){if("string"==typeof p)f&&!1===f.merge||u.type!==p?(u.type&&c.push(u),u={type:p,value:g}):u.value+=g;else if(p){u.type&&c.push(u),u={type:null,value:""};for(var y=0;y<p.length;y++)c.push(p[y])}}if(h==e.length)break;if(h=m,d++>o){for(d>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});h<e.length;)u.type&&c.push(u),u={value:e.substring(h,h+=500),type:"overflow"};i="start",r=[];break}}return u.type&&c.push(u),r.length>1&&r[0]!==i&&r.unshift("#tmp",i),{tokens:c,state:r.length?r:i}},e}();n.prototype.reportError=i,t.Tokenizer=n}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(e,t,r){"use strict";var i,o=e("../lib/deep_copy").deepCopy;(function(){this.addRules=function(e,t){if(!t){for(var r in e)this.$rules[r]=e[r];return}for(var r in e){for(var i=e[r],o=0;o<i.length;o++){var n=i[o];(n.next||n.onMatch)&&("string"==typeof n.next&&0!==n.next.indexOf(t)&&(n.next=t+n.next),n.nextState&&0!==n.nextState.indexOf(t)&&(n.nextState=t+n.nextState))}this.$rules[t+r]=i}},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,r,i,n){var s="function"==typeof e?new e().getRules():e;if(i)for(var a=0;a<i.length;a++)i[a]=t+i[a];else for(var l in i=[],s)i.push(t+l);if(this.addRules(s,t),r)for(var c=Array.prototype[n?"push":"unshift"],a=0;a<i.length;a++)c.apply(this.$rules[i[a]],o(r));this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return("start"!=e||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){var r=0,i=this.$rules;Object.keys(i).forEach(function o(n){var s=i[n];s.processed=!0;for(var a=0;a<s.length;a++){var l=s[a],c=null;Array.isArray(l)&&(c=l,l={}),!l.regex&&l.start&&(l.regex=l.start,l.next||(l.next=[]),l.next.push({defaultToken:l.token},{token:l.token+".end",regex:l.end||l.start,next:"pop"}),l.token=l.token+".start",l.push=!0);var h=l.next||l.push;if(h&&Array.isArray(h)){var d=l.stateName;!d&&("string"!=typeof(d=l.token)&&(d=d[0]||""),i[d]&&(d+=r++)),i[d]=h,l.next=d,o(d)}else"pop"==h&&(l.next=t);if(l.push&&(l.nextState=l.next||l.push,l.next=e,delete l.push),l.rules)for(var u in l.rules)i[u]?i[u].push&&i[u].push.apply(i[u],l.rules[u]):i[u]=l.rules[u];var p="string"==typeof l?l:l.include;if(p&&("$self"===p&&(p="start"),c=Array.isArray(p)?p.map(function(e){return i[e]}):i[p]),c){var f=[a,1].concat(c);l.noEscape&&(f=f.filter(function(e){return!e.next})),s.splice.apply(s,f),a--}l.keywordMap&&(l.token=this.createKeywordMapper(l.keywordMap,l.defaultToken||"text",l.caseInsensitive),delete l.defaultToken)}},this)},this.createKeywordMapper=function(e,t,r,i){var o=Object.create(null);return this.$keywordList=[],Object.keys(e).forEach(function(t){for(var n=e[t].split(i||"|"),s=n.length;s--;){var a=n[s];this.$keywordList.push(a),r&&(a=a.toLowerCase()),o[a]=t}},this),e=null,r?function(e){return o[e.toLowerCase()]||t}:function(e){return o[e]||t}},this.getKeywords=function(){return this.$keywords}}).call((i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}}).prototype),t.TextHighlightRules=i}),ace.define("ace/mode/behaviour",["require","exports","module"],function(e,t,r){"use strict";var i;(function(){this.add=function(e,t,r){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=r},this.addBehaviours=function(e){for(var t in e)for(var r in e[t])this.add(t,r,e[t][r])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if("function"==typeof e)var r=new e().getBehaviours(t);else var r=e.getBehaviours(t);this.addBehaviours(r)},this.getBehaviours=function(e){if(!e)return this.$behaviours;for(var t={},r=0;r<e.length;r++)this.$behaviours[e[r]]&&(t[e[r]]=this.$behaviours[e[r]]);return t}}).call((i=function(){this.$behaviours={}}).prototype),t.Behaviour=i}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(e,t,r){"use strict";var i=e("./range").Range;t.TokenIterator=function(){function e(e,t,r){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var i=e.getTokenAt(t,r);this.$tokenIndex=i?i.index:-1}return e.prototype.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},e.prototype.stepForward=function(){var e;for(this.$tokenIndex+=1;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,e||(e=this.$session.getLength()),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},e.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},e.prototype.getCurrentTokenRow=function(){return this.$row},e.prototype.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,r=e[t].start;if(void 0!==r)return r;for(r=0;t>0;)t-=1,r+=e[t].value.length;return r},e.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},e.prototype.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new i(this.$row,t,this.$row,t+e.value.length)},e}()}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,r){"use strict";var i,o,n=e("../../lib/oop"),s=e("../behaviour").Behaviour,a=e("../../token_iterator").TokenIterator,l=e("../../lib/lang"),c=["text","paren.rparen","rparen","paren","punctuation.operator"],h=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],d={},u={'"':'"',"'":"'"},p=function(e){var t=-1;if(e.multiSelect&&(t=e.selection.index,d.rangeCount!=e.multiSelect.rangeCount&&(d={rangeCount:e.multiSelect.rangeCount})),d[t])return i=d[t];i=d[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},f=function(e,t,r,i){var o=e.end.row-e.start.row;return{text:r+t+i,selection:[0,e.start.column+1,o,e.end.column+ +!o]}};(o=function(e){e=e||{},this.add("braces","insertion",function(t,r,n,s,a){var c=n.getCursorPosition(),h=s.doc.getLine(c.row);if("{"==a){p(n);var d=n.getSelectionRange(),u=s.doc.getTextRange(d),g=s.getTokenAt(c.row,c.column);if(""!==u&&"{"!==u&&n.getWrapBehavioursEnabled())return f(d,u,"{","}");if(g&&/(?:string)\.quasi|\.xml/.test(g.type)){if([/tag\-(?:open|name)/,/attribute\-name/].some(function(e){return e.test(g.type)})||/(string)\.quasi/.test(g.type)&&"$"!==g.value[c.column-g.start-1])return;return o.recordAutoInsert(n,s,"}"),{text:"{}",selection:[1,1]}}if(o.isSaneInsertion(n,s))if(/[\]\}\)]/.test(h[c.column])||n.inMultiSelectMode||e.braces)return o.recordAutoInsert(n,s,"}"),{text:"{}",selection:[1,1]};else return o.recordMaybeInsert(n,s,"{"),{text:"{",selection:[1,1]}}else if("}"==a){p(n);var m=h.substring(c.column,c.column+1);if("}"==m&&null!==s.$findOpeningBracket("}",{column:c.column+1,row:c.row})&&o.isAutoInsertedClosing(c,h,a))return o.popAutoInsertedClosing(),{text:"",selection:[1,1]}}else if("\n"==a||"\r\n"==a){p(n);var v="";o.isMaybeInsertedClosing(c,h)&&(v=l.stringRepeat("}",i.maybeInsertedBrackets),o.clearMaybeInsertedClosing());var m=h.substring(c.column,c.column+1);if("}"===m){var y=s.findMatchingBracket({row:c.row,column:c.column+1},"}");if(!y)return null;var b=this.$getIndent(s.getLine(y.row))}else if(!v)return void o.clearMaybeInsertedClosing();else var b=this.$getIndent(h);var w=b+s.getTabString();return{text:"\n"+w+"\n"+b+v,selection:[1,w.length,1,w.length]}}else o.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(e,t,r,o,n){var s=o.doc.getTextRange(n);if(!n.isMultiLine()&&"{"==s){if(p(r),"}"==o.doc.getLine(n.start.row).substring(n.end.column,n.end.column+1))return n.end.column++,n;i.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,r,i,n){if("("==n){p(r);var s=r.getSelectionRange(),a=i.doc.getTextRange(s);if(""!==a&&r.getWrapBehavioursEnabled())return f(s,a,"(",")");if(o.isSaneInsertion(r,i))return o.recordAutoInsert(r,i,")"),{text:"()",selection:[1,1]}}else if(")"==n){p(r);var l=r.getCursorPosition(),c=i.doc.getLine(l.row);if(")"==c.substring(l.column,l.column+1)&&null!==i.$findOpeningBracket(")",{column:l.column+1,row:l.row})&&o.isAutoInsertedClosing(l,c,n))return o.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}),this.add("parens","deletion",function(e,t,r,i,o){var n=i.doc.getTextRange(o);if(!o.isMultiLine()&&"("==n&&(p(r),")"==i.doc.getLine(o.start.row).substring(o.start.column+1,o.start.column+2)))return o.end.column++,o}),this.add("brackets","insertion",function(e,t,r,i,n){if("["==n){p(r);var s=r.getSelectionRange(),a=i.doc.getTextRange(s);if(""!==a&&r.getWrapBehavioursEnabled())return f(s,a,"[","]");if(o.isSaneInsertion(r,i))return o.recordAutoInsert(r,i,"]"),{text:"[]",selection:[1,1]}}else if("]"==n){p(r);var l=r.getCursorPosition(),c=i.doc.getLine(l.row);if("]"==c.substring(l.column,l.column+1)&&null!==i.$findOpeningBracket("]",{column:l.column+1,row:l.row})&&o.isAutoInsertedClosing(l,c,n))return o.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}),this.add("brackets","deletion",function(e,t,r,i,o){var n=i.doc.getTextRange(o);if(!o.isMultiLine()&&"["==n&&(p(r),"]"==i.doc.getLine(o.start.row).substring(o.start.column+1,o.start.column+2)))return o.end.column++,o}),this.add("string_dquotes","insertion",function(e,t,r,i,o){var n=i.$mode.$quotes||u;if(1==o.length&&n[o]){if(this.lineCommentStart&&-1!=this.lineCommentStart.indexOf(o))return;p(r);var s=r.getSelectionRange(),a=i.doc.getTextRange(s);if(""!==a&&(1!=a.length||!n[a])&&r.getWrapBehavioursEnabled())return f(s,a,o,o);if(!a){var l,c=r.getCursorPosition(),h=i.doc.getLine(c.row),d=h.substring(c.column-1,c.column),g=h.substring(c.column,c.column+1),m=i.getTokenAt(c.row,c.column),v=i.getTokenAt(c.row,c.column+1);if("\\"==d&&m&&/escape/.test(m.type))return null;var y=m&&/string|escape/.test(m.type),b=!v||/string|escape/.test(v.type);if(g==o)(l=y!==b)&&/string\.end/.test(v.type)&&(l=!1);else{if(y&&!b||y&&b)return null;var w=i.$mode.tokenRe;w.lastIndex=0;var x=w.test(d);w.lastIndex=0;var $=w.test(g),S=i.$mode.$pairQuotesAfter;if(!(S&&S[o]&&S[o].test(d))&&x||$||g&&!/[\s;,.})\]\\]/.test(g))return null;var M=h[c.column-2];if(d==o&&(M==o||w.test(M)))return null;l=!0}return{text:l?o+o:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,r,i,o){var n=i.$mode.$quotes||u,s=i.doc.getTextRange(o);if(!o.isMultiLine()&&n.hasOwnProperty(s)&&(p(r),i.doc.getLine(o.start.row).substring(o.start.column+1,o.start.column+2)==s))return o.end.column++,o}),!1!==e.closeDocComment&&this.add("doc comment end","insertion",function(e,t,r,i,o){if("doc-start"===e&&("\n"===o||"\r\n"===o)&&r.selection.isEmpty()){var n=r.getCursorPosition();if(0!==n.column){for(var s=i.doc.getLine(n.row),a=i.doc.getLine(n.row+1),l=i.getTokens(n.row),c=0,h=0;h<l.length;h++){c+=l[h].value.length;var d=l[h];if(c>=n.column){if(c===n.column){if(!/\.doc/.test(d.type))return;if(/\*\//.test(d.value)){var u=l[h+1];if(!u||!/\.doc/.test(u.type))return}}var p=n.column-(c-d.value.length),f=d.value.indexOf("*/"),g=d.value.indexOf("/**",f>-1?f+2:0);if(-1!==g&&p>g&&p<g+3||-1!==f&&-1!==g&&p>=f&&p<=g||!/\.doc/.test(d.type))return;break}}var m=this.$getIndent(s);if(/\s*\*/.test(a))if(/^\s*\*/.test(s))return{text:o+m+"* ",selection:[1,2+m.length,1,2+m.length]};else return{text:o+m+" * ",selection:[1,3+m.length,1,3+m.length]};if(/\/\*\*/.test(s.substring(0,n.column)))return{text:o+m+" * "+o+" "+m+"*/",selection:[1,4+m.length,1,4+m.length]}}}})}).isSaneInsertion=function(e,t){var r=e.getCursorPosition(),i=new a(t,r.row,r.column);if(!this.$matchTokenType(i.getCurrentToken()||"text",c)){if(/[)}\]]/.test(e.session.getLine(r.row)[r.column]))return!0;var o=new a(t,r.row,r.column+1);if(!this.$matchTokenType(o.getCurrentToken()||"text",c))return!1}return i.stepForward(),i.getCurrentTokenRow()!==r.row||this.$matchTokenType(i.getCurrentToken()||"text",h)},o.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},o.recordAutoInsert=function(e,t,r){var o=e.getCursorPosition(),n=t.doc.getLine(o.row);this.isAutoInsertedClosing(o,n,i.autoInsertedLineEnd[0])||(i.autoInsertedBrackets=0),i.autoInsertedRow=o.row,i.autoInsertedLineEnd=r+n.substr(o.column),i.autoInsertedBrackets++},o.recordMaybeInsert=function(e,t,r){var o=e.getCursorPosition(),n=t.doc.getLine(o.row);this.isMaybeInsertedClosing(o,n)||(i.maybeInsertedBrackets=0),i.maybeInsertedRow=o.row,i.maybeInsertedLineStart=n.substr(0,o.column)+r,i.maybeInsertedLineEnd=n.substr(o.column),i.maybeInsertedBrackets++},o.isAutoInsertedClosing=function(e,t,r){return i.autoInsertedBrackets>0&&e.row===i.autoInsertedRow&&r===i.autoInsertedLineEnd[0]&&t.substr(e.column)===i.autoInsertedLineEnd},o.isMaybeInsertedClosing=function(e,t){return i.maybeInsertedBrackets>0&&e.row===i.maybeInsertedRow&&t.substr(e.column)===i.maybeInsertedLineEnd&&t.substr(0,e.column)==i.maybeInsertedLineStart},o.popAutoInsertedClosing=function(){i.autoInsertedLineEnd=i.autoInsertedLineEnd.substr(1),i.autoInsertedBrackets--},o.clearMaybeInsertedClosing=function(){i&&(i.maybeInsertedBrackets=0,i.maybeInsertedRow=-1)},n.inherits(o,s),t.CstyleBehaviour=o}),ace.define("ace/unicode",["require","exports","module"],function(e,t,r){"use strict";for(var i=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],o=0,n=[],s=0;s<i.length;s+=2)n.push(o+=i[s]),i[s+1]&&n.push(45,o+=i[s+1]);t.wordChars=String.fromCharCode.apply(null,n)}),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,r){"use strict";var i,o=e("../config"),n=e("../tokenizer").Tokenizer,s=e("./text_highlight_rules").TextHighlightRules,a=e("./behaviour/cstyle").CstyleBehaviour,l=e("../unicode"),c=e("../lib/lang"),h=e("../token_iterator").TokenIterator,d=e("../range").Range;(function(){this.$defaultBehaviour=new a,this.tokenRe=RegExp("^["+l.wordChars+"\\$_]+","g"),this.nonTokenRe=RegExp("^(?:[^"+l.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new n(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,r,i){var o=t.doc,n=!0,s=!0,a=1/0,l=t.getTabSize(),h=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var d=this.lineCommentStart.map(c.escapeRegExp).join("|"),u=this.lineCommentStart[0];else var d=c.escapeRegExp(this.lineCommentStart),u=this.lineCommentStart;d=RegExp("^(\\s*)(?:"+d+") ?"),h=t.getUseSoftTabs();var p=function(e,t){var r=e.match(d);if(r){var i=r[1].length,n=r[0].length;!v(e,i,n)&&" "==r[0][n-1]&&n--,o.removeInLine(t,i,n)}},f=u+" ",g=function(e,t){(!n||/\S/.test(e))&&(v(e,a,a)?o.insertInLine({row:t,column:a},f):o.insertInLine({row:t,column:a},u))},m=function(e,t){return d.test(e)},v=function(e,t,r){for(var i=0;t--&&" "==e.charAt(t);)i++;if(i%l!=0)return!1;for(var i=0;" "==e.charAt(r++);)i++;return l>2?i%l!=l-1:i%l==0}}else{if(!this.blockComment)return!1;var u=this.blockComment.start,y=this.blockComment.end,d=RegExp("^(\\s*)(?:"+c.escapeRegExp(u)+")"),b=RegExp("(?:"+c.escapeRegExp(y)+")\\s*$"),g=function(e,t){!m(e,t)&&(!n||/\S/.test(e))&&(o.insertInLine({row:t,column:e.length},y),o.insertInLine({row:t,column:a},u))},p=function(e,t){var r;(r=e.match(b))&&o.removeInLine(t,e.length-r[0].length,e.length),(r=e.match(d))&&o.removeInLine(t,r[1].length,r[0].length)},m=function(e,r){if(d.test(e))return!0;for(var i=t.getTokens(r),o=0;o<i.length;o++)if("comment"===i[o].type)return!0}}function w(e){for(var t=r;t<=i;t++)e(o.getLine(t),t)}var x=1/0;w(function(e,t){var r=e.search(/\S/);-1!==r?(r<a&&(a=r),s&&!m(e,t)&&(s=!1)):x>e.length&&(x=e.length)}),a==1/0&&(a=x,n=!1,s=!1),h&&a%l!=0&&(a=Math.floor(a/l)*l),w(s?p:g)},this.toggleBlockComment=function(e,t,r,i){var o=this.blockComment;if(o){!o.start&&o[0]&&(o=o[0]);var n=new h(t,i.row,i.column),s=n.getCurrentToken();t.selection;var a=t.selection.toOrientedRange();if(s&&/comment/.test(s.type)){for(;s&&/comment/.test(s.type);){var l,c,u,p,f=s.value.indexOf(o.start);if(-1!=f){var g=n.getCurrentTokenRow(),m=n.getCurrentTokenColumn()+f;u=new d(g,m,g,m+o.start.length);break}s=n.stepBackward()}for(var n=new h(t,i.row,i.column),s=n.getCurrentToken();s&&/comment/.test(s.type);){var f=s.value.indexOf(o.end);if(-1!=f){var g=n.getCurrentTokenRow(),m=n.getCurrentTokenColumn()+f;p=new d(g,m,g,m+o.end.length);break}s=n.stepForward()}p&&t.remove(p),u&&(t.remove(u),l=u.start.row,c=-o.start.length)}else c=o.start.length,l=r.start.row,t.insert(r.end,o.end),t.insert(r.start,o.start);a.start.row==l&&(a.start.column+=c),a.end.row==l&&(a.end.column+=c),t.selection.fromOrientedRange(a)}},this.getNextLineIndent=function(e,t,r){return this.$getIndent(t)},this.checkOutdent=function(e,t,r){return!1},this.autoOutdent=function(e,t,r){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){for(var t in this.$embeds=[],this.$modes={},e)if(e[t]){var r=e[t],i=r.prototype.$id,n=o.$modes[i];n||(o.$modes[i]=n=new r),o.$modes[t]||(o.$modes[t]=n),this.$embeds.push(t),this.$modes[t]=n}for(var s=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],a=this,t=0;t<s.length;t++)!function(e){var t,r;r=a[t=s[e]],a[s[e]]=function(){return this.$delegator(t,arguments,r)}}(t)},this.$delegator=function(e,t,r){var i=t[0]||"start";if("string"!=typeof i){if(Array.isArray(i[2])){var o=i[2][i[2].length-1],n=this.$modes[o];if(n)return n[e].apply(n,[i[1]].concat([].slice.call(t,1)))}i=i[0]||"start"}for(var s=0;s<this.$embeds.length;s++)if(this.$modes[this.$embeds[s]]){var a=i.split(this.$embeds[s]);if(!a[0]&&a[1]){t[0]=a[1];var n=this.$modes[this.$embeds[s]];return n[e].apply(n,t)}}var l=r.apply(this,t);return r?l:void 0},this.transformAction=function(e,t,r,i,o){if(this.$behaviour){var n=this.$behaviour.getBehaviours();for(var s in n)if(n[s][t]){var a=n[s][t].apply(this,arguments);if(a)return a}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,r=[];for(var i in t)for(var o=t[i],n=0,s=o.length;n<s;n++)if("string"==typeof o[n].token)/keyword|support|storage/.test(o[n].token)&&r.push(o[n].regex);else if("object"==typeof o[n].token){for(var a=0,l=o[n].token.length;a<l;a++)if(/keyword|support|storage/.test(o[n].token[a])){var i=o[n].regex.match(/\(.+?\)/g)[a];r.push(i.substr(1,i.length-2))}}this.completionKeywords=r}return e?r.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,r,i){return(this.$keywordList||this.$createKeywordList()).map(function(e){return{name:e,value:e,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call((i=function(){this.HighlightRules=s}).prototype),t.Mode=i}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(e,t,r){"use strict";var i=e("./lib/dom");t.LineWidgets=function(){function e(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}return e.prototype.getRowLength=function(e){var t;return(t=this.lineWidgets&&this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0,this.$useWrapMode&&this.$wrapData[e])?this.$wrapData[e].length+1+t:1+t},e.prototype.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},e.prototype.$onChangeEditor=function(e){this.attach(e.editor)},e.prototype.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets)))},e.prototype.detach=function(e){var t=this.editor;if(t){this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var r=this.session.lineWidgets;r&&r.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})}},e.prototype.updateOnFold=function(e,t){var r=t.lineWidgets;if(r&&e.action){for(var i=e.data,o=i.start.row,n=i.end.row,s="add"==e.action,a=o+1;a<n;a++)r[a]&&(r[a].hidden=s);r[n]&&(s?r[o]?r[n].hidden=s:r[o]=r[n]:(r[o]==r[n]&&(r[o]=void 0),r[n].hidden=s))}},e.prototype.updateOnChange=function(e){var t=this.session.lineWidgets;if(t){var r=e.start.row,i=e.end.row-r;if(0===i);else if("remove"==e.action){var o=t.splice(r+1,i);!t[r]&&o[o.length-1]&&(t[r]=o.pop()),o.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var n=Array(i);t[r]&&null!=t[r].column&&e.start.column>t[r].column&&r++,n.unshift(r,0),t.splice.apply(t,n),this.$updateRows()}}},e.prototype.$updateRows=function(){var e=this.session.lineWidgets;if(e){var t=!0;e.forEach(function(e,r){if(e)for(t=!1,e.row=r;e.$oldWidget;)e.$oldWidget.row=r,e=e.$oldWidget}),t&&(this.session.lineWidgets=null)}},e.prototype.$registerLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];return t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e},e.prototype.addLineWidget=function(e){if(this.$registerLineWidget(e),e.session=this.session,!this.editor)return e;var t=this.editor.renderer;e.html&&!e.el&&(e.el=i.createElement("div"),e.el.innerHTML=e.html),e.text&&!e.el&&(e.el=i.createElement("div"),e.el.textContent=e.text),e.el&&(i.addCssClass(e.el,"ace_lineWidgetContainer"),e.className&&i.addCssClass(e.el,e.className),e.el.style.position="absolute",e.el.style.zIndex="5",t.container.appendChild(e.el),e._inDocument=!0,e.coverGutter||(e.el.style.zIndex="3"),null==e.pixelHeight&&(e.pixelHeight=e.el.offsetHeight)),null==e.rowCount&&(e.rowCount=e.pixelHeight/t.layerConfig.lineHeight);var r=this.session.getFoldAt(e.row,0);if(e.$fold=r,r){var o=this.session.lineWidgets;e.row!=r.end.row||o[r.start.row]?e.hidden=!0:o[r.start.row]=e}return this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),this.onWidgetChanged(e),e},e.prototype.removeLineWidget=function(e){if(e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el),e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(e){}if(this.session.lineWidgets){var t=this.session.lineWidgets[e.row];if(t==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else for(;t;){if(t.$oldWidget==e){t.$oldWidget=e.$oldWidget;break}t=t.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},e.prototype.getWidgetsAtRow=function(e){for(var t=this.session.lineWidgets,r=t&&t[e],i=[];r;)i.push(r),r=r.$oldWidget;return i},e.prototype.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},e.prototype.measureWidgets=function(e,t){var r=this.session._changedWidgets,i=t.layerConfig;if(r&&r.length){for(var o=1/0,n=0;n<r.length;n++){var s=r[n];if(s&&s.el&&s.session==this.session){if(!s._inDocument){if(this.session.lineWidgets[s.row]!=s)continue;s._inDocument=!0,t.container.appendChild(s.el)}s.h=s.el.offsetHeight,s.fixedWidth||(s.w=s.el.offsetWidth,s.screenWidth=Math.ceil(s.w/i.characterWidth));var a=s.h/i.lineHeight;s.coverLine&&(a-=this.session.getRowLineCount(s.row))<0&&(a=0),s.rowCount!=a&&(s.rowCount=a,s.row<o&&(o=s.row))}}o!=1/0&&(this.session._emit("changeFold",{data:{start:{row:o}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},e.prototype.renderWidgets=function(e,t){var r=t.layerConfig,i=this.session.lineWidgets;if(i){for(var o=Math.min(this.firstRow,r.firstRow),n=Math.max(this.lastRow,r.lastRow,i.length);o>0&&!i[o];)o--;this.firstRow=r.firstRow,this.lastRow=r.lastRow,t.$cursorLayer.config=r;for(var s=o;s<=n;s++){var a=i[s];if(a&&a.el){if(a.hidden){a.el.style.top=-100-(a.pixelHeight||0)+"px";continue}a._inDocument||(a._inDocument=!0,t.container.appendChild(a.el));var l=t.$cursorLayer.getPixelPosition({row:s,column:0},!0).top;a.coverLine||(l+=r.lineHeight*this.session.getRowLineCount(a.row)),a.el.style.top=l-r.offset+"px";var c=a.coverGutter?0:t.gutterWidth;a.fixedWidth||(c-=t.scrollLeft),a.el.style.left=c+"px",a.fullWidth&&a.screenWidth&&(a.el.style.minWidth=r.width+2*r.padding+"px"),a.fixedWidth?a.el.style.right=t.scrollBar.getWidth()+"px":a.el.style.right=""}}}},e}()}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,r){"use strict";t.applyDelta=function(e,t,r){var i=t.start.row,o=t.start.column,n=e[i]||"";switch(t.action){case"insert":if(1===t.lines.length)e[i]=n.substring(0,o)+t.lines[0]+n.substring(o);else{var s=[i,1].concat(t.lines);e.splice.apply(e,s),e[i]=n.substring(0,o)+e[i],e[i+t.lines.length-1]+=n.substring(o)}break;case"remove":var a=t.end.column,l=t.end.row;i===l?e[i]=n.substring(0,o)+n.substring(a):e.splice(i,l-i+1,n.substring(0,o)+e[l].substring(a))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,r){"use strict";var i=e("./lib/oop"),o=e("./lib/event_emitter").EventEmitter,n=function(){function e(e,t,r){this.$onChange=this.onChange.bind(this),this.attach(e),"number"!=typeof t?this.setPosition(t.row,t.column):this.setPosition(t,r)}return e.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},e.prototype.getDocument=function(){return this.document},e.prototype.onChange=function(e){if((e.start.row!=e.end.row||e.start.row==this.row)&&!(e.start.row>this.row)){var t,r,i,o,n,a,l,c,h=(t=e,r={row:this.row,column:this.column},i=this.$insertRight,n=((o="insert"==t.action)?1:-1)*(t.end.row-t.start.row),a=(o?1:-1)*(t.end.column-t.start.column),l=t.start,c=o?l:t.end,s(r,l,i)?{row:r.row,column:r.column}:s(c,r,!i)?{row:r.row+n,column:r.column+(r.row==c.row?a:0)}:{row:l.row,column:l.column});this.setPosition(h.row,h.column,!0)}},e.prototype.setPosition=function(e,t,r){if(i=r?{row:e,column:t}:this.$clipPositionToDocument(e,t),this.row!=i.row||this.column!=i.column){var i,o={row:this.row,column:this.column};this.row=i.row,this.column=i.column,this._signal("change",{old:o,value:i})}},e.prototype.detach=function(){this.document.off("change",this.$onChange)},e.prototype.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},e.prototype.$clipPositionToDocument=function(e,t){var r={};return e>=this.document.getLength()?(r.row=Math.max(0,this.document.getLength()-1),r.column=this.document.getLine(r.row).length):e<0?(r.row=0,r.column=0):(r.row=e,r.column=Math.min(this.document.getLine(r.row).length,Math.max(0,t))),t<0&&(r.column=0),r},e}();function s(e,t,r){var i=r?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&i}n.prototype.$insertRight=!1,i.implement(n.prototype,o),t.Anchor=n}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,r){"use strict";var i=e("./lib/oop"),o=e("./apply_delta").applyDelta,n=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,a=e("./anchor").Anchor,l=function(){function e(e){this.$lines=[""],0===e.length?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)}return e.prototype.setValue=function(e){var t=this.getLength()-1;this.remove(new s(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e||"")},e.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},e.prototype.createAnchor=function(e,t){return new a(this,e,t)},e.prototype.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},e.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},e.prototype.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},e.prototype.getNewLineMode=function(){return this.$newLineMode},e.prototype.isNewLine=function(e){return"\r\n"==e||"\r"==e||"\n"==e},e.prototype.getLine=function(e){return this.$lines[e]||""},e.prototype.getLines=function(e,t){return this.$lines.slice(e,t+1)},e.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},e.prototype.getLength=function(){return this.$lines.length},e.prototype.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},e.prototype.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{(t=this.getLines(e.start.row,e.end.row))[0]=(t[0]||"").substring(e.start.column);var r=t.length-1;e.end.row-e.start.row==r&&(t[r]=t[r].substring(0,e.end.column))}return t},e.prototype.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},e.prototype.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},e.prototype.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},e.prototype.insert=function(e,t){return 1>=this.getLength()&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},e.prototype.insertInLine=function(e,t){var r=this.clippedPos(e.row,e.column),i=this.pos(e.row,e.column+t.length);return this.applyDelta({start:r,end:i,action:"insert",lines:[t]},!0),this.clonePos(i)},e.prototype.clippedPos=function(e,t){var r=this.getLength();void 0===e?e=r:e<0?e=0:e>=r&&(e=r-1,t=void 0);var i=this.getLine(e);return void 0==t&&(t=i.length),{row:e,column:t=Math.min(Math.max(t,0),i.length)}},e.prototype.clonePos=function(e){return{row:e.row,column:e.column}},e.prototype.pos=function(e,t){return{row:e,column:t}},e.prototype.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},e.prototype.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var r=0;e<this.getLength()?(t=t.concat([""]),r=0):(t=[""].concat(t),e--,r=this.$lines[e].length),this.insertMergedLines({row:e,column:r},t)},e.prototype.insertMergedLines=function(e,t){var r=this.clippedPos(e.row,e.column),i={row:r.row+t.length-1,column:(1==t.length?r.column:0)+t[t.length-1].length};return this.applyDelta({start:r,end:i,action:"insert",lines:t}),this.clonePos(i)},e.prototype.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),r=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:r,action:"remove",lines:this.getLinesForRange({start:t,end:r})}),this.clonePos(t)},e.prototype.removeInLine=function(e,t,r){var i=this.clippedPos(e,t),o=this.clippedPos(e,r);return this.applyDelta({start:i,end:o,action:"remove",lines:this.getLinesForRange({start:i,end:o})},!0),this.clonePos(i)},e.prototype.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1);var r=(t=Math.min(Math.max(0,t),this.getLength()-1))==this.getLength()-1&&e>0,i=t<this.getLength()-1,o=r?e-1:e,n=r?this.getLine(o).length:0,a=i?t+1:t,l=i?0:this.getLine(a).length,c=new s(o,n,a,l),h=this.$lines.slice(e,t+1);return this.applyDelta({start:c.start,end:c.end,action:"remove",lines:this.getLinesForRange(c)}),h},e.prototype.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},e.prototype.replace=function(e,t){return(e instanceof s||(e=s.fromPoints(e.start,e.end)),0===t.length&&e.isEmpty())?e.start:t==this.getTextRange(e)?e.end:(this.remove(e),t?this.insert(e.start,t):e.start)},e.prototype.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},e.prototype.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},e.prototype.applyDelta=function(e,t){var r="insert"==e.action;(r?!(e.lines.length<=1)||e.lines[0]:s.comparePoints(e.start,e.end))&&(r&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(o(this.$lines,e,t),this._signal("change",e)))},e.prototype.$safeApplyDelta=function(e){var t=this.$lines.length;("remove"==e.action&&e.start.row<t&&e.end.row<t||"insert"==e.action&&e.start.row<=t)&&this.applyDelta(e)},e.prototype.$splitAndapplyLargeDelta=function(e,t){for(var r=e.lines,i=r.length-t+1,o=e.start.row,n=e.start.column,s=0,a=0;s<i;s=a){a+=t-1;var l=r.slice(s,a);l.push(""),this.applyDelta({start:this.pos(o+s,n),end:this.pos(o+a,n=0),action:e.action,lines:l},!0)}e.lines=r.slice(s),e.start.row=o+s,e.start.column=n,this.applyDelta(e,!0)},e.prototype.revertDelta=function(e){this.$safeApplyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:"insert"==e.action?"remove":"insert",lines:e.lines.slice()})},e.prototype.indexToPosition=function(e,t){for(var r=this.$lines||this.getAllLines(),i=this.getNewLineCharacter().length,o=t||0,n=r.length;o<n;o++)if((e-=r[o].length+i)<0)return{row:o,column:e+r[o].length+i};return{row:n-1,column:e+r[n-1].length+i}},e.prototype.positionToIndex=function(e,t){for(var r=this.$lines||this.getAllLines(),i=this.getNewLineCharacter().length,o=0,n=Math.min(e.row,r.length),s=t||0;s<n;++s)o+=r[s].length+i;return o+e.column},e.prototype.$split=function(e){return e.split(/\r\n|\r|\n/)},e}();l.prototype.$autoNewLine="",l.prototype.$newLineMode="auto",i.implement(l.prototype,n),t.Document=l}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,r){"use strict";var i=e("./lib/oop"),o=e("./lib/event_emitter").EventEmitter,n=function(){function e(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var r=this;this.$worker=function(){if(r.running){for(var e=new Date,t=r.currentLine,i=-1,o=r.doc,n=t;r.lines[t];)t++;var s=o.getLength(),a=0;for(r.running=!1;t<s;){r.$tokenizeRow(t),i=t;do t++;while(r.lines[t]);if(++a%5==0&&new Date-e>20){r.running=setTimeout(r.$worker,20);break}}r.currentLine=t,-1==i&&(i=t),n<=i&&r.fireUpdateEvent(n,i)}}}return e.prototype.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},e.prototype.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},e.prototype.fireUpdateEvent=function(e,t){this._signal("update",{data:{first:e,last:t}})},e.prototype.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},e.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},e.prototype.$updateOnChange=function(e){var t=e.start.row,r=e.end.row-t;if(0===r)this.lines[t]=null;else if("remove"==e.action)this.lines.splice(t,r+1,null),this.states.splice(t,r+1,null);else{var i=Array(r+1);i.unshift(t,1),this.lines.splice.apply(this.lines,i),this.states.splice.apply(this.states,i)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},e.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},e.prototype.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},e.prototype.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},e.prototype.$tokenizeRow=function(e){var t=this.doc.getLine(e),r=this.states[e-1],i=this.tokenizer.getLineTokens(t,r,e);return this.states[e]+""!=i.state+""?(this.states[e]=i.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=i.tokens},e.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},e}();i.implement(n.prototype,o),t.BackgroundTokenizer=n}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(e,t,r){"use strict";var i=e("./lib/lang"),o=e("./range").Range,n=function(){function e(e,t,r){void 0===r&&(r="text"),this.setRegexp(e),this.clazz=t,this.type=r,this.docLen=0}return e.prototype.setRegexp=function(e){this.regExp+""!=e+""&&(this.regExp=e,this.cache=[])},e.prototype.update=function(e,t,r,n){if(this.regExp){for(var s=n.firstRow,a=n.lastRow,l={},c=r.$editor&&r.$editor.$search,h=c&&c.$isMultilineSearch(r.$editor.getLastSearchOptions()),d=s;d<=a;d++){var u=this.cache[d];if(null==u||r.getValue().length!=this.docLen){if(h){u=[];var p=c.$multiLineForward(r,this.regExp,d,a);if(p){var f=p.endRow<=a?p.endRow-1:a;f>d&&(d=f),u.push(new o(p.startRow,p.startCol,p.endRow,p.endCol))}u.length>this.MAX_RANGES&&(u=u.slice(0,this.MAX_RANGES))}else(u=i.getMatchOffsets(r.getLine(d),this.regExp)).length>this.MAX_RANGES&&(u=u.slice(0,this.MAX_RANGES)),u=u.map(function(e){return new o(d,e.offset,d,e.offset+e.length)});this.cache[d]=u.length?u:""}if(0!==u.length)for(var g=u.length;g--;){var m=u[g].toScreenRange(r),v=m.toString();l[v]||(l[v]=!0,t.drawSingleLineMarker(e,m,this.clazz,n))}}this.docLen=r.getValue().length}},e}();n.prototype.MAX_RANGES=500,t.SearchHighlight=n}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(e,t,r){"use strict";var i=function(){function e(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return e.prototype.addSession=function(e){this.$session=e},e.prototype.add=function(e,t,r){if(!this.$fromUndo&&e!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),!1===t||!this.lastDeltas){this.lastDeltas=[];var i=this.$undoStack.length;i>this.$undoDepth-1&&this.$undoStack.splice(0,i-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),e.id=this.$rev=++this.$maxRev}("remove"==e.action||"insert"==e.action)&&(this.$lastDelta=e),this.lastDeltas.push(e)}},e.prototype.addSelection=function(e,t){this.selections.push({value:e,rev:t||this.$rev})},e.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},e.prototype.markIgnored=function(e,t){null==t&&(t=this.$rev+1);for(var r=this.$undoStack,i=r.length;i--;){var o=r[i][0];if(o.id<=e)break;o.id<t&&(o.ignore=!0)}this.lastDeltas=null},e.prototype.getSelection=function(e,t){for(var r=this.selections,i=r.length;i--;){var o=r[i];if(o.rev<e)return t&&(o=r[i+1]),o}},e.prototype.getRevision=function(){return this.$rev},e.prototype.getDeltas=function(e,t){null==t&&(t=this.$rev+1);for(var r=this.$undoStack,i=null,o=0,n=r.length;n--;){var s=r[n][0];if(s.id<t&&!i&&(i=n+1),s.id<=e){o=n+1;break}}return r.slice(o,i)},e.prototype.getChangedRanges=function(e,t){null==t&&(t=this.$rev+1)},e.prototype.getChangedLines=function(e,t){null==t&&(t=this.$rev+1)},e.prototype.undo=function(e,t){this.lastDeltas=null;var r=this.$undoStack;if(function(e,t){for(var r=t;r--;){var i=e[r];if(i&&!i[0].ignore){for(;r<t-1;){var o=function(e,t){for(var r=e.length;r--;)for(var i=0;i<t.length;i++)if(!c(e[r],t[i])){for(;r<e.length;){for(;i--;)c(t[i],e[r]);i=t.length,r++}return[e,t]}return e.selectionBefore=t.selectionBefore=e.selectionAfter=t.selectionAfter=null,[t,e]}(e[r],e[r+1]);e[r]=o[0],e[r+1]=o[1],r++}return!0}}}(r,r.length)){e||(e=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var i=r.pop(),o=null;return i&&(o=e.undoChanges(i,t),this.$redoStack.push(i),this.$syncRev()),this.$fromUndo=!1,o}},e.prototype.redo=function(e,t){if(this.lastDeltas=null,e||(e=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var r=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);(function(e,t){for(var r=0;r<t.length;r++)for(var i=t[r],a=0;a<i.length;a++)!function(e,t){var r;t={start:s((r=t).start),end:s(r.end),action:r.action,lines:r.lines.slice()};for(var i=e.length;i--;){for(var a=e[i],l=0;l<a.length;l++){var c=function(e,t){var r,i,s="insert"==e.action,a="insert"==t.action;if(s&&a)0>n(e.start,t.start)?h(t,e,1):h(e,t,1);else if(s&&!a)n(e.start,t.end)>=0?h(e,t,-1):(0>=n(e.start,t.start)||h(e,o.fromPoints(t.start,e.start),-1),h(t,e,1));else if(!s&&a)n(t.start,e.end)>=0?h(t,e,-1):(0>=n(t.start,e.start)||h(t,o.fromPoints(e.start,t.start),-1),h(e,t,1));else if(!s&&!a)if(n(t.start,e.end)>=0)h(t,e,-1);else{if(!(0>=n(t.end,e.start)))return 0>n(e.start,t.start)&&(r=e,e=u(e,t.start)),n(e.end,t.end)>0&&(i=u(e,t.end)),d(t.end,e.start,e.end,-1),i&&!r&&(e.lines=i.lines,e.start=i.start,e.end=i.end,i=e),[t,r,i].filter(Boolean);h(e,t,-1)}return[t,e]}(a[l],t);t=c[0],2!=c.length&&(c[2]?(a.splice(l+1,1,c[1],c[2]),l++):!c[1]&&(a.splice(l,1),l--))}a.length||e.splice(i,1)}}(e,i[a])})(this.$redoStack,r),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(e){e[0].id=++this.$maxRev},this)}var i=this.$redoStack.pop(),a=null;return i&&(a=e.redoChanges(i,t),this.$undoStack.push(i),this.$syncRev()),this.$fromUndo=!1,a},e.prototype.$syncRev=function(){var e=this.$undoStack,t=e[e.length-1],r=t&&t[0].id||0;this.$redoStackBaseRev=r,this.$rev=r},e.prototype.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},e.prototype.canUndo=function(){return this.$undoStack.length>0},e.prototype.canRedo=function(){return this.$redoStack.length>0},e.prototype.bookmark=function(e){void 0==e&&(e=this.$rev),this.mark=e},e.prototype.isAtBookmark=function(){return this.$rev===this.mark},e.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},e.prototype.fromJSON=function(e){this.reset(),this.$undoStack=e.$undoStack,this.$redoStack=e.$redoStack},e.prototype.$prettyPrint=function(e){return e?a(e):a(this.$undoStack)+"\n---\n"+a(this.$redoStack)},e}();i.prototype.hasUndo=i.prototype.canUndo,i.prototype.hasRedo=i.prototype.canRedo,i.prototype.isClean=i.prototype.isAtBookmark,i.prototype.markClean=i.prototype.bookmark;var o=e("./range").Range,n=o.comparePoints;function s(e){return{row:e.row,column:e.column}}function a(e){if(Array.isArray(e=e||this))return e.map(a).join("\n");var t="";return e.action?t=("insert"==e.action?"+":"-")+("["+e.lines)+"]":e.value&&(t=Array.isArray(e.value)?e.value.map(l).join("\n"):l(e.value)),e.start&&(t+=l(e)),(e.id||e.rev)&&(t+=" ("+(e.id||e.rev)+")"),t}function l(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function c(e,t){var r="insert"==e.action,i="insert"==t.action;if(r&&i)if(n(t.start,e.end)>=0)h(t,e,-1);else{if(!(0>=n(t.start,e.start)))return null;h(e,t,1)}else if(r&&!i)if(n(t.start,e.end)>=0)h(t,e,-1);else{if(!(0>=n(t.end,e.start)))return null;h(e,t,-1)}else if(!r&&i)if(n(t.start,e.start)>=0)h(t,e,1);else{if(!(0>=n(t.start,e.start)))return null;h(e,t,1)}else if(!r&&!i)if(n(t.start,e.start)>=0)h(t,e,1);else{if(!(0>=n(t.end,e.start)))return null;h(e,t,-1)}return[t,e]}function h(e,t,r){d(e.start,t.start,t.end,r),d(e.end,t.start,t.end,r)}function d(e,t,r,i){e.row==(1==i?t:r).row&&(e.column+=i*(r.column-t.column)),e.row+=i*(r.row-t.row)}function u(e,t){var r=e.lines,i=e.end;e.end=s(t);var o=e.end.row-e.start.row,n=r.splice(o,r.length),a=o?t.column:t.column-e.start.column;return r.push(n[0].substring(0,a)),n[0]=n[0].substr(a),{start:s(t),end:i,lines:n,action:e.action}}o.comparePoints,t.UndoManager=i}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,r){"use strict";var i=e("../range").Range;t.FoldLine=function(){function e(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var r=t[t.length-1];this.range=new i(t[0].start.row,t[0].start.column,r.end.row,r.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}return e.prototype.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},e.prototype.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):0>this.range.compareStart(e.end.row,e.end.column)&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else if(e.end.row==this.start.row)this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column;else throw Error("Trying to add fold to FoldRow that doesn't have a matching row");e.foldLine=this},e.prototype.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},e.prototype.walk=function(e,t,r){var i,o,n=0,s=this.folds,a=!0;null==t&&(t=this.end.row,r=this.end.column);for(var l=0;l<s.length;l++){if(-1==(o=(i=s[l]).range.compareStart(t,r)))return void e(null,t,r,n,a);if(!e(null,i.start.row,i.start.column,n,a)&&e(i.placeholder,i.start.row,i.start.column,n)||0===o)return;a=!i.sameRow,n=i.end.column}e(null,t,r,n,a)},e.prototype.getNextFoldTo=function(e,t){for(var r,i,o=0;o<this.folds.length;o++){if(-1==(i=(r=this.folds[o]).range.compareEnd(e,t)))return{fold:r,kind:"after"};if(0===i)return{fold:r,kind:"inside"}}return null},e.prototype.addRemoveChars=function(e,t,r){var i,o,n=this.getNextFoldTo(e,t);if(n){if(i=n.fold,"inside"==n.kind&&i.start.column!=t&&i.start.row!=e)window.console&&window.console.log(e,t,i);else if(i.start.row==e){var s=(o=this.folds).indexOf(i);for(0===s&&(this.start.column+=r);s<o.length;s++){if(i=o[s],i.start.column+=r,!i.sameRow)return;i.end.column+=r}this.end.column+=r}}},e.prototype.split=function(t,r){var i=this.getNextFoldTo(t,r);if(!i||"inside"==i.kind)return null;var o=i.fold,n=this.folds,s=this.foldData,a=n.indexOf(o),l=n[a-1];this.end.row=l.end.row,this.end.column=l.end.column;var c=new e(s,n=n.splice(a,n.length-a));return s.splice(s.indexOf(this)+1,0,c),c},e.prototype.merge=function(e){for(var t=e.folds,r=0;r<t.length;r++)this.addFold(t[r]);var i=this.foldData;i.splice(i.indexOf(e),1)},e.prototype.toString=function(){var e=[this.range.toString()+": ["];return this.folds.forEach(function(t){e.push(" "+t.toString())}),e.push("]"),e.join("\n")},e.prototype.idxToPosition=function(e){for(var t=0,r=0;r<this.folds.length;r++){var i=this.folds[r];if((e-=i.start.column-t)<0)return{row:i.start.row,column:i.start.column+e};if((e-=i.placeholder.length)<0)return i.start;t=i.end.column}return{row:this.end.row,column:this.end.column+e}},e}()}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(e,t,r){"use strict";var i=e("./range").Range.comparePoints,o=function(){function e(){this.ranges=[],this.$bias=1}return e.prototype.pointIndex=function(e,t,r){for(var o=this.ranges,n=r||0;n<o.length;n++){var s=o[n],a=i(e,s.end);if(!(a>0)){var l=i(e,s.start);if(0===a)return t&&0!==l?-n-2:n;if(l>0||0===l&&!t)return n;break}}return-n-1},e.prototype.add=function(e){var t=!e.isEmpty(),r=this.pointIndex(e.start,t);r<0&&(r=-r-1);var i=this.pointIndex(e.end,t,r);return i<0?i=-i-1:i++,this.ranges.splice(r,i-r,e)},e.prototype.addList=function(e){for(var t=[],r=e.length;r--;)t.push.apply(t,this.add(e[r]));return t},e.prototype.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},e.prototype.merge=function(){for(var e,t=[],r=this.ranges,o=(r=r.sort(function(e,t){return i(e.start,t.start)}))[0],n=1;n<r.length;n++){e=o,o=r[n];var s=i(e.end,o.start);!(s<0)&&(0!=s||e.isEmpty()||o.isEmpty())&&(0>i(e.end,o.end)&&(e.end.row=o.end.row,e.end.column=o.end.column),r.splice(n,1),t.push(o),o=e,n--)}return this.ranges=r,t},e.prototype.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},e.prototype.containsPoint=function(e){return this.pointIndex(e)>=0},e.prototype.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},e.prototype.clipRows=function(e,t){var r=this.ranges;if(r[0].start.row>t||r[r.length-1].start.row<e)return[];var i=this.pointIndex({row:e,column:0});i<0&&(i=-i-1);var o=this.pointIndex({row:t,column:0},i);o<0&&(o=-o-1);for(var n=[],s=i;s<o;s++)n.push(r[s]);return n},e.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},e.prototype.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},e.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},e.prototype.$onChange=function(e){for(var t=e.start,r=e.end,i=t.row,o=r.row,n=this.ranges,s=0,a=n.length;s<a;s++){var l=n[s];if(l.end.row>=i)break}if("insert"==e.action)for(var c=o-i,h=-t.column+r.column;s<a;s++){var l=n[s];if(l.start.row>i)break;if(l.start.row==i&&l.start.column>=t.column&&(l.start.column==t.column&&this.$bias<=0||(l.start.column+=h,l.start.row+=c)),l.end.row==i&&l.end.column>=t.column){if(l.end.column==t.column&&this.$bias<0)continue;l.end.column==t.column&&h>0&&s<a-1&&l.end.column>l.start.column&&l.end.column==n[s+1].start.column&&(l.end.column-=h),l.end.column+=h,l.end.row+=c}}else for(var c=i-o,h=t.column-r.column;s<a;s++){var l=n[s];if(l.start.row>o)break;l.end.row<o&&(i<l.end.row||i==l.end.row&&t.column<l.end.column)?(l.end.row=i,l.end.column=t.column):l.end.row==o?l.end.column<=r.column?(c||l.end.column>t.column)&&(l.end.column=t.column,l.end.row=t.row):(l.end.column+=h,l.end.row+=c):l.end.row>o&&(l.end.row+=c),l.start.row<o&&(i<l.start.row||i==l.start.row&&t.column<l.start.column)?(l.start.row=i,l.start.column=t.column):l.start.row==o?l.start.column<=r.column?(c||l.start.column>t.column)&&(l.start.column=t.column,l.start.row=t.row):(l.start.column+=h,l.start.row+=c):l.start.row>o&&(l.start.row+=c)}if(0!=c&&s<a)for(;s<a;s++){var l=n[s];l.start.row+=c,l.end.row+=c}},e}();o.prototype.comparePoints=i,t.RangeList=o}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],function(e,t,r){"use strict";var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});function n(e,t){e.row-=t.row,0==e.row&&(e.column-=t.column)}function s(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row}t.Fold=function(e){function t(t,r){var i=e.call(this)||this;return i.foldLine=null,i.placeholder=r,i.range=t,i.start=t.start,i.end=t.end,i.sameRow=t.start.row==t.end.row,i.subFolds=i.ranges=[],i}return o(t,e),t.prototype.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},t.prototype.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(t){t.setFoldLine(e)})},t.prototype.clone=function(){var e=new t(this.range.clone(),this.placeholder);return this.subFolds.forEach(function(t){e.subFolds.push(t.clone())}),e.collapseChildren=this.collapseChildren,e},t.prototype.addSubFold=function(e){if(!this.range.isEqual(e)){t=e,r=this.start,n(t.start,r),n(t.end,r);for(var t,r,i=e.start.row,o=e.start.column,s=0,a=-1;s<this.subFolds.length&&1==(a=this.subFolds[s].range.compare(i,o));s++);var l=this.subFolds[s],c=0;if(0==a)if(l.range.containsRange(e))return l.addSubFold(e);else c=1;for(var i=e.range.end.row,o=e.range.end.column,h=s,a=-1;h<this.subFolds.length&&1==(a=this.subFolds[h].range.compare(i,o));h++);0==a&&h++;for(var d=this.subFolds.splice(s,h-s,e),u=0==a?d.length-1:d.length,p=c;p<u;p++)e.addSubFold(d[p]);return e.setFoldLine(this.foldLine),e}},t.prototype.restoreRange=function(e){var t,r;return t=e,r=this.start,void(s(t.start,r),s(t.end,r))},t}(e("../range_list").RangeList)}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator","ace/mouse/mouse_event"],function(e,t,r){"use strict";var i=e("../range").Range,o=e("./fold_line").FoldLine,n=e("./fold").Fold,s=e("../token_iterator").TokenIterator,a=e("../mouse/mouse_event").MouseEvent;t.Folding=function(){this.getFoldAt=function(e,t,r){var i=this.getFoldLine(e);if(!i)return null;for(var o=i.folds,n=0;n<o.length;n++){var s=o[n].range;if(s.contains(e,t)){if(1==r&&s.isEnd(e,t)&&!s.isEmpty()||-1==r&&s.isStart(e,t)&&!s.isEmpty())continue;return o[n]}}},this.getFoldsInRange=function(e){var t=e.start,r=e.end,i=this.$foldData,o=[];t.column+=1,r.column-=1;for(var n=0;n<i.length;n++){var s=i[n].range.compareRange(e);if(2!=s){if(-2==s)break;for(var a=i[n].folds,l=0;l<a.length;l++){var c=a[l];if(-2==(s=c.range.compareRange(e)))break;if(2!=s){if(42==s)break;o.push(c)}}}}return t.column-=1,r.column+=1,o},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var t=[];e.forEach(function(e){t=t.concat(this.getFoldsInRange(e))},this)}else var t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){for(var e=[],t=this.$foldData,r=0;r<t.length;r++)for(var i=0;i<t[r].folds.length;i++)e.push(t[r].folds[i]);return e},this.getFoldStringAt=function(e,t,r,i){if(!(i=i||this.getFoldLine(e)))return null;for(var o,n,s={end:{column:0}},a=0;a<i.folds.length;a++){var l=(n=i.folds[a]).range.compareEnd(e,t);if(-1==l){o=this.getLine(n.start.row).substring(s.end.column,n.start.column);break}if(0===l)return null;s=n}return(o||(o=this.getLine(n.start.row).substring(s.end.column)),-1==r)?o.substring(0,t-s.end.column):1==r?o.substring(t-s.end.column):o},this.getFoldLine=function(e,t){var r=this.$foldData,i=0;for(t&&(i=r.indexOf(t)),-1==i&&(i=0);i<r.length;i++){var o=r[i];if(o.start.row<=e&&o.end.row>=e)return o;if(o.end.row>e)break}return null},this.getNextFoldLine=function(e,t){var r=this.$foldData,i=0;for(t&&(i=r.indexOf(t)),-1==i&&(i=0);i<r.length;i++){var o=r[i];if(o.end.row>=e)return o}return null},this.getFoldedRowCount=function(e,t){for(var r=this.$foldData,i=t-e+1,o=0;o<r.length;o++){var n=r[o],s=n.end.row,a=n.start.row;if(s>=t){a<t&&(a>=e?i-=t-a:i=0);break}s>=e&&(a>=e?i-=s-a:i-=s-e+1)}return i},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var r,i=this.$foldData,s=!1;e instanceof n?r=e:(r=new n(t,e)).collapseChildren=t.collapseChildren,this.$clipRangeToDocument(r.range);var a=r.start.row,l=r.start.column,c=r.end.row,h=r.end.column,d=this.getFoldAt(a,l,1),u=this.getFoldAt(c,h,-1);if(d&&u==d)return d.addSubFold(r);d&&!d.range.isStart(a,l)&&this.removeFold(d),u&&!u.range.isEnd(c,h)&&this.removeFold(u);var p=this.getFoldsInRange(r.range);p.length>0&&(this.removeFolds(p),r.collapseChildren||p.forEach(function(e){r.addSubFold(e)}));for(var f=0;f<i.length;f++){var g=i[f];if(c==g.start.row){g.addFold(r),s=!0;break}if(a==g.end.row){if(g.addFold(r),s=!0,!r.sameRow){var m=i[f+1];m&&m.start.row==c&&g.merge(m)}break}if(c<=g.start.row)break}return s||(g=this.$addFoldLine(new o(this.$foldData,r))),this.$useWrapMode?this.$updateWrapData(g.start.row,g.start.row):this.$updateRowLengthCache(g.start.row,g.start.row),this.$modified=!0,this._signal("changeFold",{data:r,action:"add"}),r},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,r=t.start.row,i=t.end.row,o=this.$foldData,n=t.folds;if(1==n.length)o.splice(o.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))n.pop(),t.end.row=n[n.length-1].end.row,t.end.column=n[n.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))n.shift(),t.start.row=n[0].start.row,t.start.column=n[0].start.column;else if(e.sameRow)n.splice(n.indexOf(e),1);else{var s=t.split(e.start.row,e.start.column);(n=s.folds).shift(),s.start.row=n[0].start.row,s.start.column=n[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(r,i):this.$updateRowLengthCache(r,i)),this.$modified=!0,this._signal("changeFold",{data:e,action:"remove"})},this.removeFolds=function(e){for(var t=[],r=0;r<e.length;r++)t.push(e[r]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(t){e.restoreRange(t),this.addFold(t)},this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){if(null==e)r=new i(0,0,this.getLength(),0),null==t&&(t=!0);else if("number"==typeof e)r=new i(e,0,e,this.getLine(e).length);else if("row"in e)r=i.fromPoints(e,e);else{if(Array.isArray(e))return o=[],e.forEach(function(e){o=o.concat(this.unfold(e))},this),o;r=e}for(var r,o=this.getFoldsInRangeList(r),n=o;1==o.length&&0>i.comparePoints(o[0].start,r.start)&&i.comparePoints(o[0].end,r.end)>0;)this.expandFolds(o),o=this.getFoldsInRangeList(r);if(!1!=t?this.removeFolds(o):this.expandFolds(o),n.length)return n},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var r=this.getFoldLine(e,t);return r?r.end.row:e},this.getRowFoldStart=function(e,t){var r=this.getFoldLine(e,t);return r?r.start.row:e},this.getFoldDisplayLine=function(e,t,r,i,o){null==i&&(i=e.start.row),null==o&&(o=0),null==t&&(t=e.end.row),null==r&&(r=this.getLine(t).length);var n=this.doc,s="";return e.walk(function(e,t,r,a){if(!(t<i)){if(t==i){if(r<o)return;a=Math.max(o,a)}null!=e?s+=e:s+=n.getLine(t).substring(a,r)}},t,r),s},this.getDisplayLine=function(e,t,r,i){var o,n=this.getFoldLine(e);return n?this.getFoldDisplayLine(n,e,t,r,i):(o=this.doc.getLine(e)).substring(i||0,t||o.length)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map(function(t){var r=t.folds.map(function(e){return e.clone()});return new o(e,r)})},this.toggleFold=function(e){var t,r,i=this.selection.getRange();if(i.isEmpty()){var o=i.start;if(t=this.getFoldAt(o.row,o.column))return void this.expandFold(t);if(e){var n=this.getFoldLine(o.row);n&&this.expandFolds(n.folds);return}(r=this.findMatchingBracket(o))?1==i.comparePoint(r)?i.end=r:(i.start=r,i.start.column++,i.end.column--):(r=this.findMatchingBracket({row:o.row,column:o.column+1}))?(1==i.comparePoint(r)?i.end=r:i.start=r,i.start.column++):i=this.getCommentFoldRange(o.row,o.column)||i}else{var s=this.getFoldsInRange(i);if(e&&s.length)return void this.expandFolds(s);1==s.length&&(t=s[0])}if(t||(t=this.getFoldAt(i.start.row,i.start.column)),t&&t.range.toString()==i.toString())return void this.expandFold(t);var a="...";if(!i.isMultiLine()){if((a=this.getTextRange(i)).length<4)return;a=a.trim().substring(0,2)+".."}this.addFold(a,i)},this.getCommentFoldRange=function(e,t,r){var o=new s(this,e,t),n=o.getCurrentToken(),a=n&&n.type;if(n&&/^comment|string/.test(a)){"comment"==(a=a.match(/comment|string/)[0])&&(a+="|doc-start|\\.doc");var l=new RegExp(a),c=new i;if(1!=r){do n=o.stepBackward();while(n&&l.test(n.type));n=o.stepForward()}c.start.row=o.getCurrentTokenRow(),c.start.column=o.getCurrentTokenColumn()+n.value.length,o=new s(this,e,t);var h=this.getState(o.$row);if(-1!=r){var d=-1;do if(n=o.stepForward(),-1==d){var u=this.getState(o.$row);h.toString()!==u.toString()&&(d=o.$row)}else if(o.$row>d)break;while(n&&l.test(n.type));n=o.stepBackward()}else n=o.getCurrentToken();if(c.end.row=o.getCurrentTokenRow(),c.end.column=o.getCurrentTokenColumn(),c.start.row==c.end.row&&c.start.column>c.end.column)return;return c}},this.foldAll=function(e,t,r,i){void 0==r&&(r=1e5);var o=this.foldWidgets;if(o){t=t||this.getLength(),e=e||0;for(var n=e;n<t;n++)if((null==o[n]&&(o[n]=this.getFoldWidget(n)),"start"==o[n])&&(!i||i(n))){var s=this.getFoldWidgetRange(n);s&&s.isMultiLine()&&s.end.row<=t&&s.start.row>=e&&(n=s.end.row,s.collapseChildren=r,this.addFold("...",s))}}},this.foldToLevel=function(e){for(this.foldAll();e-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var e=this;this.foldAll(null,null,null,function(t){for(var r=e.getTokens(t),i=0;i<r.length;i++){var o=r[i];if(!("text"==o.type&&/^\s+$/.test(o.value))){if(/comment/.test(o.type))return!0;return!1}}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=e){this.$foldStyle=e,"manual"==e&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)}},this.$setFolding=function(e){if(this.$foldMode!=e){if(this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!e||"manual"==this.$foldStyle){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)}},this.getParentFoldRangeData=function(e,t){var r=this.foldWidgets;if(!r||t&&r[e])return{};for(var i,o=e-1;o>=0;){var n=r[o];if(null==n&&(n=r[o]=this.getFoldWidget(o)),"start"==n){var s=this.getFoldWidgetRange(o);if(i||(i=s),s&&s.end.row>=e)break}o--}return{range:-1!==o&&s,firstRange:i}},this.onFoldWidgetClick=function(e,t){t instanceof a&&(t=t.domEvent);var r={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey};if(!this.$toggleFoldWidget(e,r)){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(this.getFoldWidget){var r=this.getFoldWidget(e),i=this.getLine(e),o="end"===r?-1:1,n=this.getFoldAt(e,-1===o?0:i.length,o);if(n)return t.children||t.all?this.removeFold(n):this.expandFold(n),n;var s=this.getFoldWidgetRange(e,!0);if(s&&!s.isMultiLine()&&(n=this.getFoldAt(s.start.row,s.start.column,1))&&s.isEqual(n.range))return this.removeFold(n),n;if(t.siblings){var a=this.getParentFoldRangeData(e);if(a.range)var l=a.range.start.row+1,c=a.range.end.row;this.foldAll(l,c,1e4*!!t.all)}else t.children?(c=s?s.end.row:this.getLength(),this.foldAll(e+1,c,1e4*!!t.all)):s&&(t.all&&(s.collapseChildren=1e4),this.addFold("...",s));return s}},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var r=this.$toggleFoldWidget(t,{});if(!r){var i=this.getParentFoldRangeData(t,!0);if(r=i.range||i.firstRange){t=r.start.row;var o=this.getFoldAt(t,this.getLine(t).length,1);o?this.removeFold(o):this.addFold("...",r)}}},this.updateFoldWidgets=function(e){var t=e.start.row,r=e.end.row-t;if(0===r)this.foldWidgets[t]=null;else if("remove"==e.action)this.foldWidgets.splice(t,r+1,null);else{var i=Array(r+1);i.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,i)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,r){"use strict";var i=e("../token_iterator").TokenIterator,o=e("../range").Range;t.BracketMatch=function(){this.findMatchingBracket=function(e,t){if(0==e.column)return null;var r=t||this.getLine(e.row).charAt(e.column-1);if(""==r)return null;var i=r.match(/([\(\[\{])|([\)\]\}])/);return i?i[1]?this.$findClosingBracket(i[1],e):this.$findOpeningBracket(i[2],e):null},this.getBracketRange=function(e){var t,r=this.getLine(e.row),i=!0,n=r.charAt(e.column-1),s=n&&n.match(/([\(\[\{])|([\)\]\}])/);if(s||(n=r.charAt(e.column),e={row:e.row,column:e.column+1},s=n&&n.match(/([\(\[\{])|([\)\]\}])/),i=!1),!s)return null;if(s[1]){var a=this.$findClosingBracket(s[1],e);if(!a)return null;t=o.fromPoints(e,a),!i&&(t.end.column++,t.start.column--),t.cursor=t.end}else{var a=this.$findOpeningBracket(s[2],e);if(!a)return null;t=o.fromPoints(a,e),!i&&(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.getMatchingBracketRanges=function(e,t){var r=this.getLine(e.row),i=/([\(\[\{])|([\)\]\}])/,n=!t&&r.charAt(e.column-1),s=n&&n.match(i);if(s||(n=(void 0===t||t)&&r.charAt(e.column),e={row:e.row,column:e.column+1},s=n&&n.match(i)),!s)return null;var a=new o(e.row,e.column-1,e.row,e.column),l=s[1]?this.$findClosingBracket(s[1],e):this.$findOpeningBracket(s[2],e);return l?[a,new o(l.row,l.column,l.row,l.column+1)]:[a]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,r){var o=this.$brackets[e],n=1,s=new i(this,t.row,t.column),a=s.getCurrentToken();if(a||(a=s.stepForward()),a){r||(r=RegExp("(\\.?"+a.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var l=t.column-s.getCurrentTokenColumn()-2,c=a.value;;){for(;l>=0;){var h=c.charAt(l);if(h==o){if(0==(n-=1))return{row:s.getCurrentTokenRow(),column:l+s.getCurrentTokenColumn()}}else h==e&&(n+=1);l-=1}do a=s.stepBackward();while(a&&!r.test(a.type));if(null==a)break;l=(c=a.value).length-1}return null}},this.$findClosingBracket=function(e,t,r){var o=this.$brackets[e],n=1,s=new i(this,t.row,t.column),a=s.getCurrentToken();if(a||(a=s.stepForward()),a){r||(r=RegExp("(\\.?"+a.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var l=t.column-s.getCurrentTokenColumn();;){for(var c=a.value,h=c.length;l<h;){var d=c.charAt(l);if(d==o){if(0==(n-=1))return{row:s.getCurrentTokenRow(),column:l+s.getCurrentTokenColumn()}}else d==e&&(n+=1);l+=1}do a=s.stepForward();while(a&&!r.test(a.type));if(null==a)break;l=0}return null}},this.getMatchingTags=function(e){var t=new i(this,e.row,e.column),r=this.$findTagName(t);if(r)return"<"===t.stepBackward().value?this.$findClosingTag(t,r):this.$findOpeningTag(t,r)},this.$findTagName=function(e){var t=e.getCurrentToken(),r=!1,i=!1;if(t&&-1===t.type.indexOf("tag-name"))do(t=i?e.stepBackward():e.stepForward())&&("/>"===t.value?i=!0:-1!==t.type.indexOf("tag-name")&&(r=!0));while(t&&!r);return t},this.$findClosingTag=function(e,t){var r,i=t.value,n=t.value,s=0,a=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);t=e.stepForward();var l=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+t.value.length),c=!1;do{if(-1!==(r=t).type.indexOf("tag-close")&&!c){var h=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);c=!0}if(t=e.stepForward()){if(">"===t.value&&!c){var h=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);c=!0}if(-1!==t.type.indexOf("tag-name")){if(n===(i=t.value)){if("<"===r.value)s++;else if("</"===r.value&&--s<0){e.stepBackward();var d=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+2);t=e.stepForward();var u=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+t.value.length);if(-1===t.type.indexOf("tag-close")&&(t=e.stepForward()),!t||">"!==t.value)return;var p=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1)}}}else if(n===i&&"/>"===t.value&&--s<0)var d=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+2),u=d,p=u,h=new o(l.end.row,l.end.column,l.end.row,l.end.column+1)}}while(t&&s>=0);if(a&&h&&d&&p&&l&&u)return{openTag:new o(a.start.row,a.start.column,h.end.row,h.end.column),closeTag:new o(d.start.row,d.start.column,p.end.row,p.end.column),openTagName:l,closeTagName:u}},this.$findOpeningTag=function(e,t){var r=e.getCurrentToken(),i=t.value,n=0,s=e.getCurrentTokenRow(),a=e.getCurrentTokenColumn(),l=a+2,c=new o(s,a,s,l);e.stepForward();var h=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+t.value.length);if(-1===t.type.indexOf("tag-close")&&(t=e.stepForward()),t&&">"===t.value){var d=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);e.stepBackward(),e.stepBackward();do if(t=r,s=e.getCurrentTokenRow(),l=(a=e.getCurrentTokenColumn())+t.value.length,r=e.stepBackward(),t){if(-1!==t.type.indexOf("tag-name")){if(i===t.value)if("<"===r.value){if(++n>0){var u=new o(s,a,s,l),p=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);do t=e.stepForward();while(t&&">"!==t.value);var f=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1)}}else"</"===r.value&&n--}else if("/>"===t.value){for(var g=0,m=r;m;){if(-1!==m.type.indexOf("tag-name")&&m.value===i){n--;break}if("<"===m.value)break;m=e.stepBackward(),g++}for(var v=0;v<g;v++)e.stepForward()}}while(r&&n<=0);if(p&&f&&c&&d&&u&&h)return{openTag:new o(p.start.row,p.start.column,f.end.row,f.end.column),closeTag:new o(c.start.row,c.start.column,d.end.row,d.end.column),openTagName:u,closeTagName:h}}}}}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/line_widgets","ace/document","ace/background_tokenizer","ace/search_highlight","ace/undomanager","ace/edit_session/folding","ace/edit_session/bracket_match"],function(e,t,r){"use strict";var i=e("./lib/oop"),o=e("./lib/lang"),n=e("./bidihandler").BidiHandler,s=e("./config"),a=e("./lib/event_emitter").EventEmitter,l=e("./selection").Selection,c=e("./mode/text").Mode,h=e("./range").Range,d=e("./line_widgets").LineWidgets,u=e("./document").Document,p=e("./background_tokenizer").BackgroundTokenizer,f=e("./search_highlight").SearchHighlight,g=e("./undomanager").UndoManager,m=function(){function e(t,r){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$editor=null,this.prevOp={},this.$foldData=[],this.id="session"+ ++e.$uid,this.$foldData.toString=function(){return this.join("\n")},this.$gutterCustomWidgets={},this.bgTokenizer=new p(new c().getTokenizer(),this);var i=this;this.bgTokenizer.on("update",function(e){i._signal("tokenizerUpdate",e)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),"object"==typeof t&&t.getLine||(t=new u(t)),this.setDocument(t),this.selection=new l(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new n(this),s.resetOptions(this),this.setMode(r),s._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return e.prototype.$initOperationListeners=function(){var e=this;this.curOp=null,this.on("change",function(){e.curOp||(e.startOperation(),e.curOp.selectionBefore=e.$lastSel),e.curOp.docChanged=!0},!0),this.on("changeSelection",function(){e.curOp||(e.startOperation(),e.curOp.selectionBefore=e.$lastSel),e.curOp.selectionChanged=!0},!0),this.$operationResetTimer=o.delayedCall(this.endOperation.bind(this,!0))},e.prototype.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(e={}),this.$operationResetTimer.schedule(),this.curOp={command:e.command||{},args:e.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",e)},e.prototype.endOperation=function(e){if(this.curOp){if(e&&!1===e.returnValue){this.curOp=null,this._signal("endOperation",e);return}if(!0!=e||!this.curOp.command||"mouse"!=this.curOp.command.name){var t=this.selection.toJSON();this.curOp.selectionAfter=t,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(t),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",e)}}},e.prototype.setDocument=function(e){this.doc&&this.doc.off("change",this.$onChange),this.doc=e,e.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},e.prototype.getDocument=function(){return this.doc},Object.defineProperty(e.prototype,"widgetManager",{get:function(){var e=new d(this);return this.widgetManager=e,this.$editor&&e.attach(this.$editor),e},set:function(e){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:e})},enumerable:!1,configurable:!0}),e.prototype.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,r=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>r&&(this.$docRowCache.splice(r,t),this.$screenRowCache.splice(r,t))},e.prototype.$getRowCacheIndex=function(e,t){for(var r=0,i=e.length-1;r<=i;){var o=r+i>>1,n=e[o];if(t>n)r=o+1;else{if(!(t<n))return o;i=o-1}}return r-1},e.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},e.prototype.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},e.prototype.onChange=function(e){this.$modified=!0,this.$bidiHandler.onChange(e),this.$resetRowCache(e.start.row);var t=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&(t&&t.length&&(this.$undoManager.add({action:"removeFolds",folds:t},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(e,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(e),this._signal("change",e)},e.prototype.onSelectionChange=function(){this._signal("changeSelection")},e.prototype.setValue=function(e){this.doc.setValue(e),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},e.fromJSON=function(t){"string"==typeof t&&(t=JSON.parse(t));var r=new g;r.$undoStack=t.history.undo,r.$redoStack=t.history.redo,r.mark=t.history.mark,r.$rev=t.history.rev;var i=new e(t.value);return t.folds.forEach(function(e){i.addFold("...",h.fromPoints(e.start,e.end))}),i.setAnnotations(t.annotations),i.setBreakpoints(t.breakpoints),i.setMode(t.mode),i.setScrollLeft(t.scrollLeft),i.setScrollTop(t.scrollTop),i.setUndoManager(r),i.selection.fromJSON(t.selection),i},e.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(e){return e.range}),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},e.prototype.toString=function(){return this.doc.getValue()},e.prototype.getSelection=function(){return this.selection},e.prototype.getState=function(e){return this.bgTokenizer.getState(e)},e.prototype.getTokens=function(e){return this.bgTokenizer.getTokens(e)},e.prototype.getTokenAt=function(e,t){var r,i=this.bgTokenizer.getTokens(e),o=0;if(null==t){var n=i.length-1;o=this.getLine(e).length}else for(var n=0;n<i.length&&!((o+=i[n].value.length)>=t);n++);return(r=i[n])?(r.index=n,r.start=o-r.value.length,r):null},e.prototype.setUndoManager=function(e){if(this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel(),e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=o.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},e.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},e.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},e.prototype.getTabString=function(){return this.getUseSoftTabs()?o.stringRepeat(" ",this.getTabSize()):" "},e.prototype.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},e.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},e.prototype.setTabSize=function(e){this.setOption("tabSize",e)},e.prototype.getTabSize=function(){return this.$tabSize},e.prototype.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize==0},e.prototype.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},e.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},e.prototype.setOverwrite=function(e){this.setOption("overwrite",e)},e.prototype.getOverwrite=function(){return this.$overwrite},e.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},e.prototype.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},e.prototype.removeGutterCustomWidget=function(e){this.$editor&&this.$editor.renderer.$gutterLayer.$removeCustomWidget(e)},e.prototype.addGutterCustomWidget=function(e,t){this.$editor&&this.$editor.renderer.$gutterLayer.$addCustomWidget(e,t)},e.prototype.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},e.prototype.getBreakpoints=function(){return this.$breakpoints},e.prototype.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._signal("changeBreakpoint",{})},e.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},e.prototype.setBreakpoint=function(e,t){void 0===t&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},e.prototype.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},e.prototype.addMarker=function(e,t,r,i){var o=this.$markerId++,n={range:e,type:r||"line",renderer:"function"==typeof r?r:null,clazz:t,inFront:!!i,id:o};return i?(this.$frontMarkers[o]=n,this._signal("changeFrontMarker")):(this.$backMarkers[o]=n,this._signal("changeBackMarker")),o},e.prototype.addDynamicMarker=function(e,t){if(e.update){var r=this.$markerId++;return e.id=r,e.inFront=!!t,t?(this.$frontMarkers[r]=e,this._signal("changeFrontMarker")):(this.$backMarkers[r]=e,this._signal("changeBackMarker")),e}},e.prototype.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(t){var r=t.inFront?this.$frontMarkers:this.$backMarkers;delete r[e],this._signal(t.inFront?"changeFrontMarker":"changeBackMarker")}},e.prototype.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},e.prototype.highlight=function(e){if(!this.$searchHighlight){var t=new f(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},e.prototype.highlightLines=function(e,t,r,i){"number"!=typeof t&&(r=t,t=e),r||(r="ace_step");var o=new h(e,0,t,1/0);return o.id=this.addMarker(o,r,"fullLine",i),o},e.prototype.setAnnotations=function(e){this.$annotations=e,this._signal("changeAnnotation",{})},e.prototype.getAnnotations=function(){return this.$annotations||[]},e.prototype.clearAnnotations=function(){this.setAnnotations([])},e.prototype.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},e.prototype.getWordRange=function(e,t){var r=this.getLine(e),i=!1;if(t>0&&(i=!!r.charAt(t-1).match(this.tokenRe)),i||(i=!!r.charAt(t).match(this.tokenRe)),i)var o=this.tokenRe;else if(/^\s+$/.test(r.slice(t-1,t+1)))var o=/\s/;else var o=this.nonTokenRe;var n=t;if(n>0){do n--;while(n>=0&&r.charAt(n).match(o));n++}for(var s=t;s<r.length&&r.charAt(s).match(o);)s++;return new h(e,n,e,s)},e.prototype.getAWordRange=function(e,t){for(var r=this.getWordRange(e,t),i=this.getLine(r.end.row);i.charAt(r.end.column).match(/[ \t]/);)r.end.column+=1;return r},e.prototype.setNewLineMode=function(e){this.doc.setNewLineMode(e)},e.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},e.prototype.setUseWorker=function(e){this.setOption("useWorker",e)},e.prototype.getUseWorker=function(){return this.$useWorker},e.prototype.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal("tokenizerUpdate",e)},e.prototype.setMode=function(e,t){if(e&&"object"==typeof e){if(e.getTokenizer)return this.$onChangeMode(e);var r=e,i=r.path}else i=e||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new c),this.$modes[i]&&!r){this.$onChangeMode(this.$modes[i]),t&&t();return}this.$modeId=i,s.loadModule(["mode",i],(function(e){if(!this.destroyed){if(this.$modeId!==i)return t&&t();this.$modes[i]&&!r?this.$onChangeMode(this.$modes[i]):e&&e.Mode&&(e=new e.Mode(r),r||(this.$modes[i]=e,e.$id=i),this.$onChangeMode(e)),t&&t()}}).bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},e.prototype.$onChangeMode=function(e,t){if(t||(this.$modeId=e.$id),this.$mode!==e){var r=this.$mode;this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var i=e.getTokenizer();if(void 0!==i.on){var o=this.onReloadTokenizer.bind(this);i.on("update",o)}this.bgTokenizer.setTokenizer(i),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,t||(e.attachToSession&&e.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(e.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:r,mode:e}))}},e.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},e.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(e){s.warn("Could not load worker",e),this.$worker=null}},e.prototype.getMode=function(){return this.$mode},e.prototype.setScrollTop=function(e){this.$scrollTop===e||isNaN(e)||(this.$scrollTop=e,this._signal("changeScrollTop",e))},e.prototype.getScrollTop=function(){return this.$scrollTop},e.prototype.setScrollLeft=function(e){this.$scrollLeft===e||isNaN(e)||(this.$scrollLeft=e,this._signal("changeScrollLeft",e))},e.prototype.getScrollLeft=function(){return this.$scrollLeft},e.prototype.getScreenWidth=function(){return(this.$computeWidth(),this.lineWidgets)?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},e.prototype.getLineWidgetMaxWidth=function(){if(null!=this.lineWidgetsWidth)return this.lineWidgetsWidth;var e=0;return this.lineWidgets.forEach(function(t){t&&t.screenWidth>e&&(e=t.screenWidth)}),this.lineWidgetWidth=e},e.prototype.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),r=this.$rowLengthCache,i=0,o=0,n=this.$foldData[o],s=n?n.start.row:1/0,a=t.length,l=0;l<a;l++){if(l>s){if((l=n.end.row+1)>=a)break;s=(n=this.$foldData[o++])?n.start.row:1/0}null==r[l]&&(r[l]=this.$getStringScreenWidth(t[l])[0]),r[l]>i&&(i=r[l])}this.screenWidth=i}},e.prototype.getLine=function(e){return this.doc.getLine(e)},e.prototype.getLines=function(e,t){return this.doc.getLines(e,t)},e.prototype.getLength=function(){return this.doc.getLength()},e.prototype.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},e.prototype.insert=function(e,t){return this.doc.insert(e,t)},e.prototype.remove=function(e){return this.doc.remove(e)},e.prototype.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},e.prototype.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var r=e.length-1;-1!=r;r--){var i=e[r];"insert"==i.action||"remove"==i.action?this.doc.revertDelta(i):i.folds&&this.addFolds(i.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1}},e.prototype.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var r=0;r<e.length;r++){var i=e[r];("insert"==i.action||"remove"==i.action)&&this.doc.$safeApplyDelta(i)}!t&&this.$undoSelect&&(e.selectionAfter?this.selection.fromJSON(e.selectionAfter):this.selection.setRange(this.$getUndoSelection(e,!1))),this.$fromUndo=!1}},e.prototype.setUndoSelect=function(e){this.$undoSelect=e},e.prototype.$getUndoSelection=function(e,t){function r(e){return t?"insert"!==e.action:"insert"===e.action}for(var i,o,n=0;n<e.length;n++){var s=e[n];if(s.start){if(!i){i=r(s)?h.fromPoints(s.start,s.end):h.fromPoints(s.start,s.start);continue}r(s)?(o=s.start,-1==i.compare(o.row,o.column)&&i.setStart(o),o=s.end,1==i.compare(o.row,o.column)&&i.setEnd(o)):(o=s.start,-1==i.compare(o.row,o.column)&&(i=h.fromPoints(s.start,s.start)))}}return i},e.prototype.replace=function(e,t){return this.doc.replace(e,t)},e.prototype.moveText=function(e,t,r){var i=this.getTextRange(e),o=this.getFoldsInRange(e),n=h.fromPoints(t,t);if(!r){this.remove(e);var s=e.start.row-e.end.row,a=s?-e.end.column:e.start.column-e.end.column;a&&(n.start.row==e.end.row&&n.start.column>e.end.column&&(n.start.column+=a),n.end.row==e.end.row&&n.end.column>e.end.column&&(n.end.column+=a)),s&&n.start.row>=e.end.row&&(n.start.row+=s,n.end.row+=s)}if(n.end=this.insert(n.start,i),o.length){var l=e.start,c=n.start,s=c.row-l.row,a=c.column-l.column;this.addFolds(o.map(function(e){return(e=e.clone()).start.row==l.row&&(e.start.column+=a),e.end.row==l.row&&(e.end.column+=a),e.start.row+=s,e.end.row+=s,e}))}return n},e.prototype.indentRows=function(e,t,r){r=r.replace(/\t/g,this.getTabString());for(var i=e;i<=t;i++)this.doc.insertInLine({row:i,column:0},r)},e.prototype.outdentRows=function(e){for(var t=e.collapseRows(),r=new h(0,0,0,0),i=this.getTabSize(),o=t.start.row;o<=t.end.row;++o){var n=this.getLine(o);r.start.row=o,r.end.row=o;for(var s=0;s<i&&" "==n.charAt(s);++s);s<i&&" "==n.charAt(s)?(r.start.column=s,r.end.column=s+1):(r.start.column=0,r.end.column=s),this.remove(r)}},e.prototype.$moveLines=function(e,t,r){if(e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t),r<0){var i=this.getRowFoldStart(e+r);if(i<0)return 0;var o=i-e}else if(r>0){var i=this.getRowFoldEnd(t+r);if(i>this.doc.getLength()-1)return 0;var o=i-t}else{e=this.$clipRowToDocument(e);var o=(t=this.$clipRowToDocument(t))-e+1}var n=new h(e,0,t,Number.MAX_VALUE),s=this.getFoldsInRange(n).map(function(e){return e=e.clone(),e.start.row+=o,e.end.row+=o,e}),a=0==r?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+o,a),s.length&&this.addFolds(s),o},e.prototype.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},e.prototype.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},e.prototype.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},e.prototype.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},e.prototype.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},e.prototype.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),e<0)e=0,t=0;else{var r=this.doc.getLength();e>=r?(e=r-1,t=this.doc.getLine(r-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},e.prototype.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},e.prototype.setUseWrapMode=function(e){if(e!=this.$useWrapMode){if(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},e.prototype.getUseWrapMode=function(){return this.$useWrapMode},e.prototype.setWrapLimitRange=function(e,t){(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)&&(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},e.prototype.adjustWrapLimit=function(e,t){var r=this.$wrapLimitRange;r.max<0&&(r={min:t,max:t});var i=this.$constrainWrapLimit(e,r.min,r.max);return i!=this.$wrapLimit&&i>1&&(this.$wrapLimit=i,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0)},e.prototype.$constrainWrapLimit=function(e,t,r){return t&&(e=Math.max(t,e)),r&&(e=Math.min(r,e)),e},e.prototype.getWrapLimit=function(){return this.$wrapLimit},e.prototype.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},e.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},e.prototype.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,r=e.action,i=e.start,o=e.end,n=i.row,s=o.row,a=s-n,l=null;if(this.$updating=!0,0!=a)if("remove"===r){this[t?"$wrapData":"$rowLengthCache"].splice(n,a);var c=this.$foldData;l=this.getFoldsInRange(e),this.removeFolds(l);var h=this.getFoldLine(o.row),d=0;if(h){h.addRemoveChars(o.row,o.column,i.column-o.column),h.shiftRow(-a);var u=this.getFoldLine(n);u&&u!==h&&(u.merge(h),h=u),d=c.indexOf(h)+1}for(;d<c.length;d++){var h=c[d];h.start.row>=o.row&&h.shiftRow(-a)}s=n}else{var p=Array(a);p.unshift(n,0);var f=t?this.$wrapData:this.$rowLengthCache;f.splice.apply(f,p);var c=this.$foldData,h=this.getFoldLine(n),d=0;if(h){var g=h.range.compareInside(i.row,i.column);0==g?(h=h.split(i.row,i.column))&&(h.shiftRow(a),h.addRemoveChars(s,0,o.column-i.column)):-1==g&&(h.addRemoveChars(n,0,o.column-i.column),h.shiftRow(a)),d=c.indexOf(h)+1}for(;d<c.length;d++){var h=c[d];h.start.row>=n&&h.shiftRow(a)}}else{a=Math.abs(e.start.column-e.end.column),"remove"===r&&(l=this.getFoldsInRange(e),this.removeFolds(l),a=-a);var h=this.getFoldLine(n);h&&h.addRemoveChars(n,i.column,a)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(n,s):this.$updateRowLengthCache(n,s),l},e.prototype.$updateRowLengthCache=function(e,t){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},e.prototype.$updateWrapData=function(e,t){var r,i,o=this.doc.getAllLines(),n=this.getTabSize(),s=this.$wrapData,a=this.$wrapLimit,l=e;for(t=Math.min(t,o.length-1);l<=t;)(i=this.getFoldLine(l,i))?(r=[],i.walk((function(e,t,i,n){var s;if(null!=e){(s=this.$getDisplayTokens(e,r.length))[0]=b;for(var a=1;a<s.length;a++)s[a]=w}else s=this.$getDisplayTokens(o[t].substring(n,i),r.length);r=r.concat(s)}).bind(this),i.end.row,o[i.end.row].length+1),s[i.start.row]=this.$computeWrapSplits(r,a,n),l=i.end.row+1):(r=this.$getDisplayTokens(o[l]),s[l]=this.$computeWrapSplits(r,a,n),l++)},e.prototype.$computeWrapSplits=function(e,t,r){if(0==e.length)return[];var i=[],o=e.length,n=0,s=0,a=this.$wrapAsCode,l=this.$indentedSoftWrap,c=t<=Math.max(2*r,8)||!1===l?0:Math.floor(t/2);function h(t){for(var o=t-n,h=n;h<t;h++){var u=e[h];(12===u||2===u)&&(o-=1)}i.length||(i.indent=d=function(){var t=0;if(0===c)return t;if(l)for(var i=0;i<e.length;i++){var o=e[i];if(o==$)t+=1;else if(o==S)t+=r;else if(o==M)continue;else break}return a&&!1!==l&&(t+=r),Math.min(t,c)}()),s+=o,i.push(s),n=t}for(var d=0;o-n>t-d;){var u=n+t-d;if(e[u-1]>=$&&e[u]>=$){h(u);continue}if(e[u]==b||e[u]==w){for(;u!=n-1&&e[u]!=b;u--);if(u>n){h(u);continue}for(u=n+t;u<e.length&&e[u]==w;u++);if(u==e.length)break;h(u);continue}for(var p=Math.max(u-(t-(t>>2)),n-1);u>p&&e[u]<b;)u--;if(a){for(;u>p&&e[u]<b;)u--;for(;u>p&&e[u]==x;)u--}else for(;u>p&&e[u]<$;)u--;if(u>p){h(++u);continue}e[u=n+t]==y&&u--,h(u-d)}return i},e.prototype.$getDisplayTokens=function(e,t){var r,i=[];t=t||0;for(var o=0;o<e.length;o++){var n=e.charCodeAt(o);if(9==n){r=this.getScreenTabSize(i.length+t),i.push(S);for(var s=1;s<r;s++)i.push(M)}else 32==n?i.push($):n>39&&n<48||n>57&&n<64?i.push(x):n>=4352&&C(n)?i.push(v,y):i.push(v)}return i},e.prototype.$getStringScreenWidth=function(e,t,r){var i,o;if(0==t)return[0,0];for(null==t&&(t=1/0),r=r||0,o=0;o<e.length&&(9==(i=e.charCodeAt(o))?r+=this.getScreenTabSize(r):i>=4352&&C(i)?r+=2:r+=1,!(r>t));o++);return[r,o]},e.prototype.getRowLength=function(e){var t=1;return(this.lineWidgets&&(t+=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0),this.$useWrapMode&&this.$wrapData[e])?this.$wrapData[e].length+t:t},e.prototype.getRowLineCount=function(e){return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1:1},e.prototype.getRowWrapIndent=function(e){if(!this.$useWrapMode)return 0;var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),r=this.$wrapData[t.row];return r.length&&r[0]<t.column?r.indent:0},e.prototype.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},e.prototype.getDocumentLastRowColumn=function(e,t){var r=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(r)},e.prototype.getDocumentLastRowColumnPosition=function(e,t){var r=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(r,Number.MAX_VALUE/10)},e.prototype.getRowSplitData=function(e){if(this.$useWrapMode)return this.$wrapData[e]},e.prototype.getScreenTabSize=function(e){return this.$tabSize-(e%this.$tabSize|0)},e.prototype.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},e.prototype.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},e.prototype.screenToDocumentPosition=function(e,t,r){if(e<0)return{row:0,column:0};var i,o,n=0,s=0,a=0,l=0,c=this.$screenRowCache,h=this.$getRowCacheIndex(c,e),d=c.length;if(d&&h>=0)var a=c[h],n=this.$docRowCache[h],u=e>c[d-1];else var u=!d;for(var p=this.getLength()-1,f=this.getNextFoldLine(n),g=f?f.start.row:1/0;a<=e&&!(a+(l=this.getRowLength(n))>e)&&!(n>=p);)a+=l,++n>g&&(n=f.end.row+1,g=(f=this.getNextFoldLine(n,f))?f.start.row:1/0),u&&(this.$docRowCache.push(n),this.$screenRowCache.push(a));if(f&&f.start.row<=n)i=this.getFoldDisplayLine(f),n=f.start.row;else{if(a+l<=e||n>p)return{row:p,column:this.getLine(p).length};i=this.getLine(n),f=null}var m=0,v=Math.floor(e-a);if(this.$useWrapMode){var y=this.$wrapData[n];y&&(o=y[v],v>0&&y.length&&(m=y.indent,s=y[v-1]||y[y.length-1],i=i.substring(s)))}return(void 0!==r&&this.$bidiHandler.isBidiRow(a+v,n,v)&&(t=this.$bidiHandler.offsetToCol(r)),s+=this.$getStringScreenWidth(i,t-m)[1],this.$useWrapMode&&s>=o&&(s=o-1),f)?f.idxToPosition(s):{row:n,column:s}},e.prototype.documentToScreenPosition=function(e,t){if(void 0===t)var r=this.$clipPositionToDocument(e.row,e.column);else r=this.$clipPositionToDocument(e,t);e=r.row,t=r.column;var i=0,o=null,n=null;(n=this.getFoldAt(e,t,1))&&(e=n.start.row,t=n.start.column);var s,a=0,l=this.$docRowCache,c=this.$getRowCacheIndex(l,e),h=l.length;if(h&&c>=0)var a=l[c],i=this.$screenRowCache[c],d=e>l[h-1];else var d=!h;for(var u=this.getNextFoldLine(a),p=u?u.start.row:1/0;a<e;){if(a>=p){if((s=u.end.row+1)>e)break;p=(u=this.getNextFoldLine(s,u))?u.start.row:1/0}else s=a+1;i+=this.getRowLength(a),a=s,d&&(this.$docRowCache.push(a),this.$screenRowCache.push(i))}var f="";u&&a>=p?(f=this.getFoldDisplayLine(u,e,t),o=u.start.row):(f=this.getLine(e).substring(0,t),o=e);var g=0;if(this.$useWrapMode){var m=this.$wrapData[o];if(m){for(var v=0;f.length>=m[v];)i++,v++;f=f.substring(m[v-1]||0,f.length),g=v>0?m.indent:0}}return this.lineWidgets&&this.lineWidgets[a]&&this.lineWidgets[a].rowsAbove&&(i+=this.lineWidgets[a].rowsAbove),{row:i,column:g+this.$getStringScreenWidth(f)[0]}},e.prototype.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},e.prototype.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},e.prototype.getScreenLength=function(){var e=0,t=null;if(this.$useWrapMode)for(var r=this.$wrapData.length,i=0,o=0,t=this.$foldData[o++],n=t?t.start.row:1/0;i<r;){var s=this.$wrapData[i];e+=s?s.length+1:1,++i>n&&(i=t.end.row+1,n=(t=this.$foldData[o++])?t.start.row:1/0)}else{e=this.getLength();for(var a=this.$foldData,o=0;o<a.length;o++)e-=(t=a[o]).end.row-t.start.row}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},e.prototype.$setFontMetrics=function(e){this.$enableVarChar&&(this.$getStringScreenWidth=function(t,r,i){var o,n;if(0===r)return[0,0];for(r||(r=1/0),i=i||0,n=0;n<t.length&&(" "===(o=t.charAt(n))?i+=this.getScreenTabSize(i):i+=e.getCharacterWidth(o),!(i>r));n++);return[i,n]})},e.prototype.getPrecedingCharacter=function(){var e=this.selection.getCursor();return 0===e.column?0===e.row?"":this.doc.getNewLineCharacter():this.getLine(e.row)[e.column-1]},e.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},e}();m.$uid=0,m.prototype.$modes=s.$modes,m.prototype.getValue=m.prototype.toString,m.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},m.prototype.$overwrite=!1,m.prototype.$mode=null,m.prototype.$modeId=null,m.prototype.$scrollTop=0,m.prototype.$scrollLeft=0,m.prototype.$wrapLimit=80,m.prototype.$useWrapMode=!1,m.prototype.$wrapLimitRange={min:null,max:null},m.prototype.lineWidgets=null,m.prototype.isFullWidth=C,i.implement(m.prototype,a);var v=1,y=2,b=3,w=4,x=9,$=10,S=11,M=12;function C(e){return!(e<4352)&&(e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510)}e("./edit_session/folding").Folding.call(m.prototype),e("./edit_session/bracket_match").BracketMatch.call(m.prototype),s.defineOptions(m.prototype,"session",{wrap:{set:function(e){if(e&&"off"!=e?"free"==e?e=!0:"printMargin"==e?e=-1:"string"==typeof e&&(e=parseInt(e,10)||!1):e=!1,this.$wrap!=e)if(this.$wrap=e,e){var t="number"==typeof e?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?-1==this.$wrap?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){(e="auto"==e?"text"!=this.$mode.type:"text"!=e)!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){(e=parseInt(e))>0&&this.$tabSize!==e&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(e){this.setFoldStyle(e)},handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId},handlesSet:!0}}),t.EditSession=m}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,r){"use strict";var i=e("./lib/lang"),o=e("./lib/oop"),n=e("./range").Range;function s(e,t){var r=e.doc.positionToIndex({row:t,column:0});return e.doc.indexToPosition(r+5e3).row+1}t.Search=function(){function e(){this.$options={}}return e.prototype.set=function(e){return o.mixin(this.$options,e),this},e.prototype.getOptions=function(){return i.copyObject(this.$options)},e.prototype.setOptions=function(e){this.$options=e},e.prototype.find=function(e){var t=this.$options,r=this.$matchIterator(e,t);if(!r)return!1;var i=null;return r.forEach(function(e,r,o,s){return i=new n(e,r,o,s),!(r==s&&t.start&&t.start.start&&!1!=t.skipCurrent&&i.isEqual(t.start))||(i=null,!1)}),i},e.prototype.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var r=t.range,o=r?e.getLines(r.start.row,r.end.row):e.doc.getAllLines(),s=[],a=t.re;if(t.$isMultiLine){var l,c=a.length,h=o.length-c;e:for(var d=a.offset||0;d<=h;d++){for(var u=0;u<c;u++)if(-1==o[d+u].search(a[u]))continue e;var p=o[d],f=o[d+c-1],g=p.length-p.match(a[0])[0].length,m=f.match(a[c-1])[0].length;l&&l.end.row===d&&l.end.column>g||(s.push(l=new n(d,g,d+c-1,m)),c>2&&(d=d+c-2))}}else for(var v,y=0;y<o.length;y++)if(this.$isMultilineSearch(t)){var b=o.length-1;if(v=this.$multiLineForward(e,a,y,b)){var w=v.endRow<=b?v.endRow-1:b;w>y&&(y=w),s.push(new n(v.startRow,v.startCol,v.endRow,v.endCol))}}else{v=i.getMatchOffsets(o[y],a);for(var u=0;u<v.length;u++){var x=v[u];s.push(new n(y,x.offset,y,x.offset+x.length))}}if(r){for(var $=r.start.column,S=r.end.column,y=0,u=s.length-1;y<u&&s[y].start.column<$&&0==s[y].start.row;)y++;for(var M=r.end.row-r.start.row;y<u&&s[u].end.column>S&&s[u].end.row==M;)u--;for(s=s.slice(y,u+1),y=0,u=s.length;y<u;y++)s[y].start.row+=r.start.row,s[y].end.row+=r.start.row}return s},e.prototype.parseReplaceString=function(e){for(var t="",r=0,i=e.length;r<i;r++){var o=e.charCodeAt(r);if(92===o){if(++r>=i){t+="\\";break}switch(e.charCodeAt(r)){case 92:t+="\\";break;case 110:t+="\n";break;case 116:t+=" "}continue}if(36===o){if(++r>=i){t+="$";break}var n=e.charCodeAt(r);if(36===n){t+="$$";continue}if(48===n||38===n){t+="$&";continue}if(49<=n&&n<=57){t+="$"+e[r];continue}}t+=e[r]}return t||e},e.prototype.replace=function(e,t){var r=this.$options,i=this.$assembleRegExp(r);if(r.$isMultiLine)return t;if(i){var o=this.$isMultilineSearch(r);o&&(e=e.replace(/\r\n|\r|\n/g,"\n"));var n=i.exec(e);if(!n||!o&&n[0].length!=e.length)return null;if(t=r.regExp?this.parseReplaceString(t):t.replace(/\$/g,"$$$$"),t=e.replace(i,t),r.preserveCase){t=t.split("");for(var s=Math.min(e.length,e.length);s--;){var a=e[s];a&&a.toLowerCase()!=a?t[s]=t[s].toUpperCase():t[s]=t[s].toLowerCase()}t=t.join("")}return t}},e.prototype.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var r=e.needle;if(!e.needle)return e.re=!1;e.regExp||(r=i.escapeRegExp(r));var o=e.caseSensitive?"gm":"gmi";try{RegExp(r,"u"),e.$supportsUnicodeFlag=!0,o+="u"}catch(t){e.$supportsUnicodeFlag=!1}if(e.wholeWord&&(r=function(e,t){var r=i.supportsLookbehind();function o(e,i){if(void 0===i&&(i=!0),(r&&t.$supportsUnicodeFlag?RegExp("[\\p{L}\\p{N}_]","u"):RegExp("\\w")).test(e)||t.regExp)return r&&t.$supportsUnicodeFlag?i?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b";return""}var n=Array.from(e),s=n[0],a=n[n.length-1];return o(s)+e+o(a,!1)}(r,e)),e.$isMultiLine=!t&&/[\n\r]/.test(r),e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(r,o);try{var n=new RegExp(r,o)}catch(e){n=!1}return e.re=n},e.prototype.$assembleMultilineRegExp=function(e,t){for(var r=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),i=[],o=0;o<r.length;o++)try{i.push(new RegExp(r[o],t))}catch(e){return!1}return i},e.prototype.$isMultilineSearch=function(e){return e.re&&/\\r\\n|\\r|\\n/.test(e.re.source)&&e.regExp&&!e.$isMultiLine},e.prototype.$multiLineForward=function(e,t,r,i){for(var o,n=s(e,r),a=r;a<=i;){for(var l=0;l<n&&!(a>i);l++){var c=e.getLine(a++);o=null==o?c:o+"\n"+c}var h=t.exec(o);if(t.lastIndex=0,h){var d=o.slice(0,h.index).split("\n"),u=h[0].split("\n"),p=r+d.length-1,f=d[d.length-1].length,g=p+u.length-1,m=1==u.length?f+u[0].length:u[u.length-1].length;return{startRow:p,startCol:f,endRow:g,endCol:m}}}return null},e.prototype.$multiLineBackward=function(e,t,r,i,o){for(var n,a=s(e,i),l=e.getLine(i).length-r,c=i;c>=o;){for(var h=0;h<a&&c>=o;h++){var d=e.getLine(c--);n=null==n?d:d+"\n"+n}var u=function(e,t,r){for(var i=null,o=0;o<=e.length;){t.lastIndex=o;var n=t.exec(e);if(!n)break;var s=n.index+n[0].length;if(s>e.length-r)break;(!i||s>i.index+i[0].length)&&(i=n),o=n.index+1}return i}(n,t,l);if(u){var p=n.slice(0,u.index).split("\n"),f=u[0].split("\n"),g=c+p.length,m=p[p.length-1].length,v=g+f.length-1,y=1==f.length?m+f[0].length:f[f.length-1].length;return{startRow:g,startCol:m,endRow:v,endCol:y}}}return null},e.prototype.$matchIterator=function(e,t){var r=this.$assembleRegExp(t);if(!r)return!1;var o=this.$isMultilineSearch(t),n=this.$multiLineForward,s=this.$multiLineBackward,a=!0==t.backwards,l=!1!=t.skipCurrent,c=r.unicode,h=t.range,d=t.start;d||(d=h?h[a?"end":"start"]:e.selection.getRange()),d.start&&(d=d[l!=a?"end":"start"]);var u=h?h.start.row:0,p=h?h.end.row:e.getLength()-1;if(a)var f=function(e){var r=d.row;if(!m(r,d.column,e)){for(r--;r>=u;r--)if(m(r,Number.MAX_VALUE,e))return;if(!1!=t.wrap){for(r=p,u=d.row;r>=u;r--)if(m(r,Number.MAX_VALUE,e))return}}};else var f=function(e){var r=d.row;if(!m(r,d.column,e)){for(r+=1;r<=p;r++)if(m(r,0,e))return;if(!1!=t.wrap){for(r=u,p=d.row;r<=p;r++)if(m(r,0,e))return}}};if(t.$isMultiLine)var g=r.length,m=function(t,i,o){var n=a?t-g+1:t;if(!(n<0||n+g>e.getLength())){var s=e.getLine(n),l=s.search(r[0]);if((a||!(l<i))&&-1!==l){for(var c=1;c<g;c++)if(-1==(s=e.getLine(n+c)).search(r[c]))return;var h=s.match(r[g-1])[0].length;if((!a||!(h>i))&&o(n,l,n+g-1,h))return!0}}};else if(a)var m=function(t,n,a){if(o){var l=s(e,r,n,t,u);if(!l)return!1;if(a(l.startRow,l.startCol,l.endRow,l.endCol))return!0}else{var h,d=e.getLine(t),p=[],f=0;for(r.lastIndex=0;h=r.exec(d);){var g=h[0].length;if(f=h.index,!g){if(f>=d.length)break;r.lastIndex=f+=i.skipEmptyMatch(d,f,c)}if(h.index+g>n)break;p.push(h.index,g)}for(var m=p.length-1;m>=0;m-=2){var v=p[m-1],g=p[m];if(a(t,v,t,v+g))return!0}}};else var m=function(t,s,a){if(r.lastIndex=s,o){var l=n(e,r,t,p);if(l){var h=l.endRow<=p?l.endRow-1:p;h>t&&(t=h)}if(!l)return!1;if(a(l.startRow,l.startCol,l.endRow,l.endCol))return!0}else for(var d,u,f=e.getLine(t);u=r.exec(f);){var g=u[0].length;if(a(t,d=u.index,t,d+g))return!0;if(!g&&(r.lastIndex=d+=i.skipEmptyMatch(f,d,c),d>=f.length))return!1}};return{forEach:f}},e}()}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,r){"use strict";var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=e("../lib/keys"),s=e("../lib/useragent"),a=n.KEY_MODS,l=function(){function e(e,t){this.$init(e,t,!1)}return e.prototype.$init=function(e,t,r){this.platform=t||(s.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=r},e.prototype.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},e.prototype.removeCommand=function(e,t){var r=e&&("string"==typeof e?e:e.name);e=this.commands[r],t||delete this.commands[r];var i=this.commandKeyBinding;for(var o in i){var n=i[o];if(n==e)delete i[o];else if(Array.isArray(n)){var s=n.indexOf(e);-1!=s&&(n.splice(s,1),1==n.length&&(i[o]=n[0]))}}},e.prototype.bindKey=function(e,t,r){if("object"==typeof e&&e&&(void 0==r&&(r=e.position),e=e[this.platform]),e){if("function"==typeof t)return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var i="";if(-1!=e.indexOf(" ")){var o=e.split(/\s+/);e=o.pop(),o.forEach(function(e){var t=this.parseKeys(e),r=a[t.hashId]+t.key;i+=(i?" ":"")+r,this._addCommandToBinding(i,"chainKeys")},this),i+=" "}var n=this.parseKeys(e),s=a[n.hashId]+n.key;this._addCommandToBinding(i+s,t,r)},this)}},e.prototype._addCommandToBinding=function(e,t,r){var i,o=this.commandKeyBinding;if(t)if(!o[e]||this.$singleCommand)o[e]=t;else{Array.isArray(o[e])?-1!=(i=o[e].indexOf(t))&&o[e].splice(i,1):o[e]=[o[e]],"number"!=typeof r&&(r=c(t));var n=o[e];for(i=0;i<n.length&&!(c(n[i])>r);i++);n.splice(i,0,t)}else delete o[e]},e.prototype.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var r=e[t];if(r){if("string"==typeof r)return this.bindKey(r,t);"function"==typeof r&&(r={exec:r}),"object"==typeof r&&(r.name||(r.name=t),this.addCommand(r))}},this)},e.prototype.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},e.prototype.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},e.prototype._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},e.prototype.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),r=t.pop(),i=n[r];if(n.FUNCTION_KEYS[i])r=n.FUNCTION_KEYS[i].toLowerCase();else if(!t.length)return{key:r,hashId:-1};else if(1==t.length&&"shift"==t[0])return{key:r.toUpperCase(),hashId:-1};for(var o=0,s=t.length;s--;){var a=n.KEY_MODS[t[s]];if(null==a)return"u">typeof console&&console.error("invalid modifier "+t[s]+" in "+e),!1;o|=a}return{key:r,hashId:o}},e.prototype.findKeyCommand=function(e,t){var r=a[e]+t;return this.commandKeyBinding[r]},e.prototype.handleKeyboard=function(e,t,r,i){if(!(i<0)){var o=a[t]+r,n=this.commandKeyBinding[o];return(e.$keyChain&&(e.$keyChain+=" "+o,n=this.commandKeyBinding[e.$keyChain]||n),n&&("chainKeys"==n||"chainKeys"==n[n.length-1]))?(e.$keyChain=e.$keyChain||o,{command:"null"}):(e.$keyChain&&(t&&4!=t||1!=r.length?(-1==t||i>0)&&(e.$keyChain=""):e.$keyChain=e.$keyChain.slice(0,-o.length-1)),{command:n})}},e.prototype.getStatusText=function(e,t){return t.$keyChain||""},e}();function c(e){return"object"==typeof e&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}var h=function(e){function t(t,r){var i=e.call(this,t,r)||this;return i.$singleCommand=!0,i}return o(t,e),t}(l);h.call=function(e,t,r){l.prototype.$init.call(e,t,r,!0)},l.call=function(e,t,r){l.prototype.$init.call(e,t,r,!1)},t.HashHandler=h,t.MultiHashHandler=l}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,r){"use strict";var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=e("../lib/oop"),s=e("../keyboard/hash_handler").MultiHashHandler,a=e("../lib/event_emitter").EventEmitter,l=function(e){function t(t,r){var i=e.call(this,r,t)||this;return i.byName=i.commands,i.setDefaultHandler("exec",function(e){return e.args?e.command.exec(e.editor,e.args,e.event,!1):e.command.exec(e.editor,{},e.event,!0)}),i}return o(t,e),t.prototype.exec=function(e,t,r){if(Array.isArray(e)){for(var i=e.length;i--;)if(this.exec(e[i],t,r))return!0;return!1}"string"==typeof e&&(e=this.commands[e]);var o={editor:t,command:e,args:r};return this.canExecute(e,t)?(o.returnValue=this._emit("exec",o),this._signal("afterExec",o),!1!==o.returnValue):(this._signal("commandUnavailable",o),!1)},t.prototype.canExecute=function(e,t){return"string"==typeof e&&(e=this.commands[e]),!!e&&(!t||!t.$readOnly||!!e.readOnly)&&(!1==this.$checkCommandState||!e.isAvailable||!!e.isAvailable(t))},t.prototype.toggleRecording=function(e){if(!this.$inReplay)return(e&&e._emit("changeStatus"),this.recording)?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=(function(e){this.macro.push([e.command,e.args])}).bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},t.prototype.replay=function(e){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){"string"==typeof t?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}}},t.prototype.trimMacro=function(e){return e.map(function(e){return"string"!=typeof e[0]&&(e[0]=e[0].name),e[1]||(e=e[0]),e})},t}(s);n.implement(l.prototype,a),t.CommandManager=l}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,r){"use strict";var i=e("../lib/lang"),o=e("../config"),n=e("../range").Range;function s(e,t){return{win:e,mac:t}}t.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:s("Ctrl-,","Command-,"),exec:function(e){o.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:s("Alt-E","F4"),exec:function(e){o.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:s("Alt-Shift-E","Shift-F4"),exec:function(e){o.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:s("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:s(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:s("Ctrl-L","Command-L"),exec:function(e,t){"number"!=typeof t||isNaN(t)||e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:s("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:s("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:s("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:s("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:s(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:s(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:s("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:s("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:s("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:s("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:s("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:s("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:s("Ctrl-F","Command-F"),exec:function(e){o.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:s("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:s("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:s("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:s("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:s("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:s("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:s("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:s("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:s("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:s("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:s("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:s("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:s("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:s("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:s("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:s("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:s("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:s("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:s("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:s("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:s(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:s("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:s(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:s("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:s("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:s("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:s("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:s("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:s("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:s("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:s(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty()?e.selection.getLineRange():e.selection.getRange();e._emit("cut",t),t.isEmpty()||e.session.remove(t),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:s("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:s("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:s("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:s("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:s("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:s("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:s("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:s("Ctrl-H","Command-Option-F"),exec:function(e){o.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",description:"Undo",bindKey:s("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:s("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:s("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:s("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:s("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:s("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:s("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:s("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:s("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:s("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:s("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:s("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:s("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:s("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:s("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:s("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:s("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:s("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:s("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,t){e.insert(i.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:s(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:s("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:s("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:s("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:s(null,null),exec:function(e){e.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:s("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:s("Ctrl+F3","F3"),exec:function(e){e.openLink()}},{name:"joinlines",description:"Join lines",bindKey:s(null,null),exec:function(e){for(var t=e.selection.isBackwards(),r=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),o=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),s=e.session.doc.getLine(r.row).length,a=e.session.doc.getTextRange(e.selection.getRange()).replace(/\n\s*/," ").length,l=e.session.doc.getLine(r.row),c=r.row+1;c<=o.row+1;c++){var h=i.stringTrimLeft(i.stringTrimRight(e.session.doc.getLine(c)));0!==h.length&&(h=" "+h),l+=h}o.row+1<e.session.doc.getLength()-1&&(l+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new n(r.row,0,o.row+2,0),l),a>0?(e.selection.moveCursorTo(r.row,r.column),e.selection.selectTo(r.row,r.column+a)):(s=e.session.doc.getLine(r.row).length>s?s+1:s,e.selection.moveCursorTo(r.row,s))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:s(null,null),exec:function(e){var t=e.session.doc.getLength()-1,r=e.session.doc.getLine(t).length,i=e.selection.rangeList.ranges,o=[];i.length<1&&(i=[e.selection.getRange()]);for(var s=0;s<i.length;s++)s==i.length-1&&(i[s].end.row!==t||i[s].end.column!==r)&&o.push(new n(i[s].end.row,i[s].end.column,t,r)),0===s?(0!==i[s].start.row||0!==i[s].start.column)&&o.push(new n(0,0,i[s].start.row,i[s].start.column)):o.push(new n(i[s-1].end.row,i[s-1].end.column,i[s].start.row,i[s].start.column));e.exitMultiSelectMode(),e.clearSelection();for(var s=0;s<o.length;s++)e.selection.addRange(o[s],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(e){e.selection.clearSelection(),e.navigateLineEnd(),e.insert("\n")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(e){e.selection.clearSelection();var t=e.getCursorPosition();e.selection.moveTo(t.row-1,Number.MAX_VALUE),e.insert("\n"),0===t.row&&e.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(e){console.warn("This is an obsolete command. Please use `openCommandPalette` instead."),e.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:s("F1","F1"),exec:function(e){e.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:s(null,null),exec:function(e){e.prompt({$type:"modes"})},readOnly:!0}];for(var a=1;a<9;a++)t.commands.push({name:"foldToLevel"+a,description:"Fold To Level "+a,level:a,exec:function(e){e.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})}),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys"],function(e,t,r){"use strict";var i=e("../lib/keys");t.GutterKeyboardHandler=function(){function e(e){this.editor=e,this.gutterLayer=e.renderer.$gutterLayer,this.element=e.renderer.$gutter,this.lines=e.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=this.editor.$mouseHandler.$tooltip}return e.prototype.addListener=function(){this.element.addEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.addEventListener("focusout",this.$blurGutter.bind(this)),this.editor.on("mousewheel",this.$blurGutter.bind(this))},e.prototype.removeListener=function(){this.element.removeEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.removeEventListener("focusout",this.$blurGutter.bind(this)),this.editor.off("mousewheel",this.$blurGutter.bind(this))},e.prototype.$onGutterKeyDown=function(e){if(this.annotationTooltip.isOpen){e.preventDefault(),e.keyCode===i.escape&&this.annotationTooltip.hide();return}if(e.target===this.element){if(e.keyCode!=i.enter)return;e.preventDefault();var t=this.editor.getCursorPosition().row;this.editor.isRowVisible(t)||this.editor.scrollToLine(t,!0,!0),setTimeout((function(){var e=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),t=this.$findNearestFoldLaneWidget(e),r=this.$findNearestAnnotation(e);if(null!==t||null!==r)return this.$findClosestNumber(t,r,e)===t?(this.activeLane="fold",this.activeRowIndex=t,this.$isCustomWidgetVisible(t))?void this.$focusCustomWidget(this.activeRowIndex):void this.$focusFoldWidget(this.activeRowIndex):(this.activeRowIndex=r,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex),void 0)}).bind(this),10);return}this.$handleGutterKeyboardInteraction(e),setTimeout((function(){this.editor._signal("gutterkeydown",new o(e,this))}).bind(this),10)},e.prototype.$handleGutterKeyboardInteraction=function(e){if(e.keyCode===i.tab)return void e.preventDefault();if(e.keyCode===i.escape){e.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;return}if(e.keyCode===i.up){switch(e.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp()}return}if(e.keyCode===i.down){switch(e.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown()}return}if(e.keyCode===i.left){e.preventDefault(),this.$switchLane("annotation");return}if(e.keyCode===i.right){e.preventDefault(),this.$switchLane("fold");return}if(e.keyCode===i.enter||e.keyCode===i.space){switch(e.preventDefault(),this.activeLane){case"fold":var t=this.$rowIndexToRow(this.activeRowIndex),r=this.editor.session.$gutterCustomWidgets[t];r?r.callbacks&&r.callbacks.onClick&&r.callbacks.onClick(e,t):"start"===this.gutterLayer.session.foldWidgets[t]?(this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),e),setTimeout((function(){this.$rowIndexToRow(this.activeRowIndex)!==t&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(t),this.$focusFoldWidget(this.activeRowIndex))}).bind(this),10)):this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)];break;case"annotation":this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex)),this.annotationTooltip.$fromKeyboard=!0}return}},e.prototype.$blurGutter=function(){if(null!==this.activeRowIndex)switch(this.activeLane){case"fold":this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex);break;case"annotation":this.$blurAnnotation(this.activeRowIndex)}this.annotationTooltip.isOpen&&this.annotationTooltip.hide()},e.prototype.$isFoldWidgetVisible=function(e){var t=this.editor.isRowFullyVisible(this.$rowIndexToRow(e)),r="none"!==this.$getFoldWidget(e).style.display;return t&&r},e.prototype.$isCustomWidgetVisible=function(e){var t=this.editor.isRowFullyVisible(this.$rowIndexToRow(e)),r=!!this.$getCustomWidget(e);return t&&r},e.prototype.$isAnnotationVisible=function(e){var t=this.editor.isRowFullyVisible(this.$rowIndexToRow(e)),r="none"!==this.$getAnnotation(e).style.display;return t&&r},e.prototype.$getFoldWidget=function(e){return this.lines.get(e).element.childNodes[1]},e.prototype.$getCustomWidget=function(e){return this.lines.get(e).element.childNodes[3]},e.prototype.$getAnnotation=function(e){return this.lines.get(e).element.childNodes[2]},e.prototype.$findNearestFoldLaneWidget=function(e){if(this.$isCustomWidgetVisible(e)||this.$isFoldWidgetVisible(e))return e;for(var t=0;e-t>0||e+t<this.lines.getLength()-1;){if(e-++t>=0&&this.$isCustomWidgetVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isCustomWidgetVisible(e+t))return e+t;if(e-t>=0&&this.$isFoldWidgetVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(e+t))return e+t}return null},e.prototype.$findNearestAnnotation=function(e){if(this.$isAnnotationVisible(e))return e;for(var t=0;e-t>0||e+t<this.lines.getLength()-1;){if(e-++t>=0&&this.$isAnnotationVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isAnnotationVisible(e+t))return e+t}return null},e.prototype.$focusFoldWidget=function(e){if(null!=e){var t=this.$getFoldWidget(e);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()}},e.prototype.$focusCustomWidget=function(e){if(null!=e){var t=this.$getCustomWidget(e);t&&(t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus())}},e.prototype.$focusAnnotation=function(e){if(null!=e){var t=this.$getAnnotation(e);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()}},e.prototype.$blurFoldWidget=function(e){var t=this.$getFoldWidget(e);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},e.prototype.$blurCustomWidget=function(e){var t=this.$getCustomWidget(e);t&&(t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur())},e.prototype.$blurAnnotation=function(e){var t=this.$getAnnotation(e);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},e.prototype.$moveFoldWidgetUp=function(){for(var e=this.activeRowIndex;e>0;)if(e--,this.$isFoldWidgetVisible(e)||this.$isCustomWidgetVisible(e)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=e,this.$isFoldWidgetVisible(e)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);break}},e.prototype.$moveFoldWidgetDown=function(){for(var e=this.activeRowIndex;e<this.lines.getLength()-1;)if(e++,this.$isFoldWidgetVisible(e)||this.$isCustomWidgetVisible(e)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=e,this.$isFoldWidgetVisible(e)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);break}},e.prototype.$moveAnnotationUp=function(){for(var e=this.activeRowIndex;e>0;)if(e--,this.$isAnnotationVisible(e)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=e,this.$focusAnnotation(this.activeRowIndex);break}},e.prototype.$moveAnnotationDown=function(){for(var e=this.activeRowIndex;e<this.lines.getLength()-1;)if(e++,this.$isAnnotationVisible(e)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=e,this.$focusAnnotation(this.activeRowIndex);break}},e.prototype.$findClosestNumber=function(e,t,r){return null===e?t:null===t||Math.abs(r-e)<=Math.abs(r-t)?e:t},e.prototype.$switchLane=function(e){switch(e){case"annotation":if("annotation"===this.activeLane)break;var t=this.$findNearestAnnotation(this.activeRowIndex);if(null==t)break;this.activeLane="annotation",this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=t,this.$focusAnnotation(this.activeRowIndex);break;case"fold":if("fold"===this.activeLane)break;var r=this.$findNearestFoldLaneWidget(this.activeRowIndex);if(null===r)break;this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=r,this.$isCustomWidgetVisible(r)?this.$focusCustomWidget(this.activeRowIndex):this.$focusFoldWidget(this.activeRowIndex)}},e.prototype.$rowIndexToRow=function(e){var t=this.lines.get(e);return t?t.row:null},e.prototype.$rowToRowIndex=function(e){for(var t=0;t<this.lines.getLength();t++)if(this.lines.get(t).row==e)return t;return null},e}();var o=function(){function e(e,t){this.gutterKeyboardHandler=t,this.domEvent=e}return e.prototype.getKey=function(){return i.keyCodeToString(this.domEvent.keyCode)},e.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},e.prototype.isInAnnotationLane=function(){return"annotation"===this.gutterKeyboardHandler.activeLane},e.prototype.isInFoldLane=function(){return"fold"===this.gutterKeyboardHandler.activeLane},e}();t.GutterKeyboardEvent=o}),ace.define("ace/editor",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/keyboard/gutter_handler","ace/config","ace/clipboard","ace/lib/keys","ace/lib/event","ace/tooltip"],function(e,t,r){"use strict";var i=this&&this.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],i=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},o=e("./lib/oop"),n=e("./lib/dom"),s=e("./lib/lang"),a=e("./lib/useragent"),l=e("./keyboard/textinput").TextInput,c=e("./mouse/mouse_handler").MouseHandler,h=e("./mouse/fold_handler").FoldHandler,d=e("./keyboard/keybinding").KeyBinding,u=e("./edit_session").EditSession,p=e("./search").Search,f=e("./range").Range,g=e("./lib/event_emitter").EventEmitter,m=e("./commands/command_manager").CommandManager,v=e("./commands/default_commands").commands,y=e("./config"),b=e("./token_iterator").TokenIterator,w=e("./keyboard/gutter_handler").GutterKeyboardHandler,x=e("./config").nls,$=e("./clipboard"),S=e("./lib/keys"),M=e("./lib/event"),C=e("./tooltip").HoverTooltip,A=function(){function e(t,r,i){this.id="editor"+ ++e.$uid,this.session,this.$toDestroy=[];var o=t.getContainerElement();this.container=o,this.renderer=t,this.commands=new m(a.isMac?"mac":"win",v),"object"==typeof document&&(this.textInput=new l(t.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new c(this),new h(this)),this.keyBinding=new d(this),this.$search=new p().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=s.delayedCall((function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}).bind(this)),this.on("change",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(r||i&&i.session||new u("")),y.resetOptions(this),i&&this.setOptions(i),y._signal("editor",this)}return e.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},e.prototype.startOperation=function(e){this.session.startOperation(e)},e.prototype.endOperation=function(e){this.session.endOperation(e)},e.prototype.onStartOperation=function(e){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,e||(this.previousCommand=null)},e.prototype.onEndOperation=function(e){if(this.curOp&&this.session){if(e&&!1===e.returnValue){this.curOp=null;return}if(this._signal("beforeEndOperation"),this.curOp){var t=this.curOp.command,r=t&&t.scrollIntoView;if(r){switch(r){case"center-animate":r="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var i=this.selection.getRange(),o=this.renderer.layerConfig;(i.start.row>=o.lastRow||i.end.row<=o.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==r&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}}},e.prototype.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,r=this.$mergeableCommands,i=t.command&&e.command.name==t.command.name;if("insertstring"==e.command.name){var o=e.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),i=i&&this.mergeNextCommand&&(!/\s/.test(o)||/\s/.test(t.args)),this.mergeNextCommand=!0}else i=i&&-1!==r.indexOf(e.command.name);"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(i=!1),i?this.session.mergeUndoDeltas=!0:-1!==r.indexOf(e.command.name)&&(this.sequenceStartTime=Date.now())}},e.prototype.setKeyboardHandler=function(e,t){if(e&&"string"==typeof e&&"ace"!=e){this.$keybindingId=e;var r=this;y.loadModule(["keybinding",e],function(i){r.$keybindingId==e&&r.keyBinding.setKeyboardHandler(i&&i.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},e.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},e.prototype.setSession=function(e){if(this.session!=e){this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var r=this.session.getSelection();r.off("changeCursor",this.$onCursorChange),r.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),t&&(t.$editor=null),e&&e._signal("changeEditor",{editor:this}),e&&(e.$editor=this),e&&!e.destroyed&&e.bgTokenizer.scheduleStart()}},e.prototype.getSession=function(){return this.session},e.prototype.setValue=function(e,t){return this.session.doc.setValue(e),t?1==t?this.navigateFileEnd():-1==t&&this.navigateFileStart():this.selectAll(),e},e.prototype.getValue=function(){return this.session.getValue()},e.prototype.getSelection=function(){return this.selection},e.prototype.resize=function(e){this.renderer.onResize(e)},e.prototype.setTheme=function(e,t){this.renderer.setTheme(e,t)},e.prototype.getTheme=function(){return this.renderer.getTheme()},e.prototype.setStyle=function(e,t){this.renderer.setStyle(e,t)},e.prototype.unsetStyle=function(e){this.renderer.unsetStyle(e)},e.prototype.getFontSize=function(){return this.getOption("fontSize")||n.computedStyle(this.container).fontSize},e.prototype.setFontSize=function(e){this.setOption("fontSize",e)},e.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(t&&!t.destroyed){t.$bracketHighlight&&(t.$bracketHighlight.markerIds.forEach(function(e){t.removeMarker(e)}),t.$bracketHighlight=null);var r=e.getCursorPosition(),i=e.getKeyboardHandler(),o=i&&i.$getDirectionForHighlight&&i.$getDirectionForHighlight(e),n=t.getMatchingBracketRanges(r,o);if(!n){var s=new b(t,r.row,r.column).getCurrentToken();if(s&&/\b(?:tag-open|tag-name)/.test(s.type)){var a=t.getMatchingTags(r);a&&(n=[a.openTagName.isEmpty()?a.openTag:a.openTagName,a.closeTagName.isEmpty()?a.closeTag:a.closeTagName])}}if(!n&&t.$mode.getMatching&&(n=t.$mode.getMatching(e.session)),!n){e.getHighlightIndentGuides()&&e.renderer.$textLayer.$highlightIndentGuide();return}var l="ace_bracket";Array.isArray(n)?1==n.length&&(l="ace_error_bracket"):n=[n],2==n.length&&(0==f.comparePoints(n[0].end,n[1].start)?n=[f.fromPoints(n[0].start,n[1].end)]:0==f.comparePoints(n[0].start,n[1].end)&&(n=[f.fromPoints(n[1].start,n[0].end)])),t.$bracketHighlight={ranges:n,markerIds:n.map(function(e){return t.addMarker(e,l,"text")})},e.getHighlightIndentGuides()&&e.renderer.$textLayer.$highlightIndentGuide()}},50)}},e.prototype.focus=function(){this.textInput.focus()},e.prototype.isFocused=function(){return this.textInput.isFocused()},e.prototype.blur=function(){this.textInput.blur()},e.prototype.onFocus=function(e){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",e))},e.prototype.onBlur=function(e){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",e))},e.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},e.prototype.onDocumentChange=function(e){var t=this.session.$useWrapMode,r=e.start.row==e.end.row?e.end.row:1/0;this.renderer.updateLines(e.start.row,r,t),this._signal("change",e),this.$cursorChange()},e.prototype.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},e.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},e.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},e.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},e.prototype.$updateHighlightActiveLine=function(){var e,t=this.getSession();if(this.$highlightActiveLine&&("line"==this.$selectionStyle&&this.selection.isMultiLine()||(e=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(e=!1),this.renderer.$maxLines&&1===this.session.getLength()&&!(this.renderer.$minLines>1)&&(e=!1)),t.$highlightLineMarker&&!e)t.removeMarker(t.$highlightLineMarker.id),t.$highlightLineMarker=null;else if(!t.$highlightLineMarker&&e){var r=new f(e.row,e.column,e.row,1/0);r.id=t.addMarker(r,"ace_active-line","screenLine"),t.$highlightLineMarker=r}else e&&(t.$highlightLineMarker.start.row=e.row,t.$highlightLineMarker.end.row=e.row,t.$highlightLineMarker.start.column=e.column,t._signal("changeBackMarker"))},e.prototype.onSelectionChange=function(e){var t=this.session;if(t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var r=this.selection.getRange(),i=this.getSelectionStyle();t.$selectionMarker=t.addMarker(r,"ace_selection",i)}var o=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(o),this._signal("changeSelection")},e.prototype.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(!(t.isEmpty()||t.isMultiLine())){var r=t.start.column,i=t.end.column,o=e.getLine(t.start.row),n=o.substring(r,i);if(!(n.length>5e3)&&/[\w\d]/.test(n)){var s=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:n}),a=o.substring(r-1,i+1);if(s.test(a))return s}}},e.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},e.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},e.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},e.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},e.prototype.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},e.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},e.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},e.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},e.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},e.prototype.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),r=!1;if(!e&&this.$copyWithEmptySelection){r=!0;for(var i=this.selection.getAllRanges(),o=0;o<i.length;o++){var n=i[o];o&&i[o-1].start.row==n.start.row||(e+=this.session.getLine(n.start.row)+t)}}var s={text:e};return this._signal("copy",s),$.lineMode=!!r&&s.text,s.text},e.prototype.onCopy=function(){this.commands.exec("copy",this)},e.prototype.onCut=function(){this.commands.exec("cut",this)},e.prototype.onPaste=function(e,t){this.commands.exec("paste",this,{text:e,event:t})},e.prototype.$handlePaste=function(e){"string"==typeof e&&(e={text:e}),this._signal("paste",e);var t=e.text,r=t===$.lineMode,i=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)r?i.insert({row:this.selection.lead.row,column:0},t):this.insert(t);else if(r)this.selection.rangeList.ranges.forEach(function(e){i.insert({row:e.start.row,column:0},t)});else{var o=t.split(/\r\n|\r|\n/),n=this.selection.rangeList.ranges,s=2==o.length&&(!o[0]||!o[1]);if(o.length!=n.length||s)return this.commands.exec("insertstring",this,t);for(var a=n.length;a--;){var l=n[a];l.isEmpty()||i.remove(l),i.insert(l.start,o[a])}}},e.prototype.execCommand=function(e,t){return this.commands.exec(e,this,t)},e.prototype.insert=function(e,t){var r=this.session,i=r.getMode(),o=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var n=i.transformAction(r.getState(o.row),"insertion",this,r,e);n&&(e===n.text||this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1),e=n.text)}if(" "==e&&(e=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&-1==e.indexOf("\n")){var s=f.fromPoints(o,o);s.end.column+=e.length,this.session.remove(s)}}else{var s=this.getSelectionRange();o=this.session.remove(s),this.clearSelection()}if("\n"==e||"\r\n"==e){var a=r.getLine(o.row);if(o.column>a.search(/\S|$/)){var l=a.substr(o.column).search(/\S|$/);r.doc.removeInLine(o.row,o.column,o.column+l)}}this.clearSelection();var c=o.column,h=r.getState(o.row),a=r.getLine(o.row),d=i.checkOutdent(h,a,e);if(r.insert(o,e),n&&n.selection&&(2==n.selection.length?this.selection.setSelectionRange(new f(o.row,c+n.selection[0],o.row,c+n.selection[1])):this.selection.setSelectionRange(new f(o.row+n.selection[0],n.selection[1],o.row+n.selection[2],n.selection[3]))),this.$enableAutoIndent){if(r.getDocument().isNewLine(e)){var u=i.getNextLineIndent(h,a.slice(0,o.column),r.getTabString());r.insert({row:o.row+1,column:0},u)}d&&i.autoOutdent(h,r,o.row)}},e.prototype.autoIndent=function(){for(var e=this.session,t=e.getMode(),r=this.selection.isEmpty()?[new f(0,0,e.doc.getLength()-1,0)]:this.selection.getAllRanges(),i="",o="",n="",s=e.getTabString(),a=0;a<r.length;a++)for(var l=r[a].start.row,c=r[a].end.row,h=l;h<=c;h++){h>0&&(i=e.getState(h-1),o=e.getLine(h-1),n=t.getNextLineIndent(i,o,s));var d=e.getLine(h),u=t.$getIndent(d);if(n!==u){if(u.length>0){var p=new f(h,0,h,u.length);e.remove(p)}n.length>0&&e.insert({row:h,column:0},n)}t.autoOutdent(i,e,h)}},e.prototype.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var r=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(r):r(),this.endOperation()},e.prototype.applyComposition=function(e,t){if(t.extendLeft||t.extendRight){var r=this.selection.getRange();r.start.column-=t.extendLeft,r.end.column+=t.extendRight,r.start.column<0&&(r.start.row--,r.start.column+=this.session.getLine(r.start.row).length+1),this.selection.setRange(r),e||r.isEmpty()||this.remove()}if((e||!this.selection.isEmpty())&&this.insert(e,!0),t.restoreStart||t.restoreEnd){var r=this.selection.getRange();r.start.column-=t.restoreStart,r.end.column-=t.restoreEnd,this.selection.setRange(r)}},e.prototype.onCommandKey=function(e,t,r){return this.keyBinding.onCommandKey(e,t,r)},e.prototype.setOverwrite=function(e){this.session.setOverwrite(e)},e.prototype.getOverwrite=function(){return this.session.getOverwrite()},e.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},e.prototype.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},e.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},e.prototype.setDragDelay=function(e){this.setOption("dragDelay",e)},e.prototype.getDragDelay=function(){return this.getOption("dragDelay")},e.prototype.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},e.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},e.prototype.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},e.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},e.prototype.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},e.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},e.prototype.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},e.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},e.prototype.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},e.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},e.prototype.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},e.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},e.prototype.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},e.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},e.prototype.setHighlightIndentGuides=function(e){this.renderer.setHighlightIndentGuides(e)},e.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},e.prototype.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},e.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},e.prototype.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},e.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},e.prototype.setReadOnly=function(e){this.setOption("readOnly",e)},e.prototype.getReadOnly=function(){return this.getOption("readOnly")},e.prototype.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},e.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},e.prototype.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},e.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},e.prototype.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},e.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},e.prototype.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},e.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},e.prototype.remove=function(e){this.selection.isEmpty()&&("left"==e?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var r=this.session,i=r.getState(t.start.row),o=r.getMode().transformAction(i,"deletion",this,r,t);if(0===t.end.column){var n=r.getTextRange(t);if("\n"==n[n.length-1]){var s=r.getLine(t.end.row);/^\s+$/.test(s)&&(t.end.column=s.length)}}o&&(t=o)}this.session.remove(t),this.clearSelection()},e.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},e.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},e.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},e.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},e.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},e.prototype.setGhostText=function(e,t){this.renderer.setGhostText(e,t)},e.prototype.removeGhostText=function(){this.renderer.removeGhostText()},e.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var e,t,r=this.getCursorPosition(),i=r.column;if(0!==i){var o=this.session.getLine(r.row);i<o.length?(e=o.charAt(i)+o.charAt(i-1),t=new f(r.row,i-1,r.row,i+1)):(e=o.charAt(i-1)+o.charAt(i-2),t=new f(r.row,i-2,r.row,i)),this.session.replace(t,e),this.session.selection.moveToPosition(t.end)}}},e.prototype.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),r=this.session.getTextRange(t);this.session.replace(t,r.toLowerCase()),this.selection.setSelectionRange(e)},e.prototype.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),r=this.session.getTextRange(t);this.session.replace(t,r.toUpperCase()),this.selection.setSelectionRange(e)},e.prototype.indent=function(){var e=this.session,t=this.getSelectionRange();if(t.start.row<t.end.row){var r=this.$getSelectedRows();e.indentRows(r.first,r.last," ");return}if(t.start.column<t.end.column){var i=e.getTextRange(t);if(!/^\s+$/.test(i)){var r=this.$getSelectedRows();e.indentRows(r.first,r.last," ");return}}var o=e.getLine(t.start.row),n=t.start,a=e.getTabSize(),l=e.documentToScreenColumn(n.row,n.column);if(this.session.getUseSoftTabs())var c=a-l%a,h=s.stringRepeat(" ",c);else{for(var c=l%a;" "==o[t.start.column-1]&&c;)t.start.column--,c--;this.selection.setSelectionRange(t),h=" "}return this.insert(h)},e.prototype.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last," ")},e.prototype.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},e.prototype.sortLines=function(){for(var e=this.$getSelectedRows(),t=this.session,r=[],i=e.first;i<=e.last;i++)r.push(t.getLine(i));r.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:+(e.toLowerCase()>t.toLowerCase())});for(var o=new f(0,0,0,0),i=e.first;i<=e.last;i++){var n=t.getLine(i);o.start.row=i,o.end.row=i,o.end.column=n.length,t.replace(o,r[i-e.first])}},e.prototype.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},e.prototype.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),r=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,r,e)},e.prototype.getNumberAt=function(e,t){var r=/[\-]?[0-9]+(?:\.[0-9]+)?/g;r.lastIndex=0;for(var i=this.session.getLine(e);r.lastIndex<t;){var o=r.exec(i);if(o.index<=t&&o.index+o[0].length>=t)return{value:o[0],start:o.index,end:o.index+o[0].length}}return null},e.prototype.modifyNumber=function(e){var t=this.selection.getCursor().row,r=this.selection.getCursor().column,i=new f(t,r-1,t,r),o=this.session.getTextRange(i);if(!isNaN(parseFloat(o))&&isFinite(o)){var n=this.getNumberAt(t,r);if(n){var s=n.value.indexOf(".")>=0?n.start+n.value.indexOf(".")+1:n.end,a=n.start+n.value.length-s,l=parseFloat(n.value);l*=Math.pow(10,a),s!==n.end&&r<s?e*=Math.pow(10,n.end-r-1):e*=Math.pow(10,n.end-r),l+=e;var c=(l/=Math.pow(10,a)).toFixed(a),h=new f(t,n.start,t,n.end);this.session.replace(h,c),this.moveCursorTo(t,Math.max(n.start+1,r+c.length-n.value.length))}}else this.toggleWord()},e.prototype.toggleWord=function(){var e,t=this.selection.getCursor().row,r=this.selection.getCursor().column;this.selection.selectWord();var i=this.getSelectedText(),o=this.selection.getWordRange().start.column,n=i.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),a=r-o-1;a<0&&(a=0);var l=0,c=0,h=this;i.match(/[A-Za-z0-9_]+/)&&n.forEach(function(e,r){c=l+e.length,a>=l&&a<=c&&(i=e,h.selection.clearSelection(),h.moveCursorTo(t,l+o),h.selection.selectTo(t,c+o)),l=c});for(var d=this.$toggleWordPairs,u=0;u<d.length;u++)for(var p=d[u],f=0;f<=1;f++){var g=+!f,m=i.match(RegExp("^\\s?_?("+s.escapeRegExp(p[f])+")\\s?$","i"));m&&i.match(RegExp("([_]|^|\\s)("+s.escapeRegExp(m[1])+")($|\\s)","g"))&&(e=i.replace(RegExp(s.escapeRegExp(p[f]),"i"),function(e){var t=p[g];return e.toUpperCase()==e?t=t.toUpperCase():e.charAt(0).toUpperCase()==e.charAt(0)&&(t=t.substr(0,0)+p[g].charAt(0).toUpperCase()+t.substr(1)),t}),this.insert(e),e="")}},e.prototype.findLinkAt=function(e,t){var r=this.session.getLine(e).split(/((?:https?|ftp):\/\/[\S]+)/),o=t;o<0&&(o=0);var n,s,a,l=0,c=0;try{for(var h=i(r),d=h.next();!d.done;d=h.next()){var u=d.value;if(c=l+u.length,o>=l&&o<=c&&u.match(/((?:https?|ftp):\/\/[\S]+)/)){a=u.replace(/[\s:.,'";}\]]+$/,"");break}l=c}}catch(e){n={error:e}}finally{try{d&&!d.done&&(s=h.return)&&s.call(h)}finally{if(n)throw n.error}}return a},e.prototype.openLink=function(){var e=this.selection.getCursor(),t=this.findLinkAt(e.row,e.column);return t&&window.open(t,"_blank"),null!=t},e.prototype.removeLines=function(){var e=this.$getSelectedRows();this.session.removeFullLines(e.first,e.last),this.clearSelection()},e.prototype.duplicateSelection=function(){var e=this.selection,t=this.session,r=e.getRange(),i=e.isBackwards();if(r.isEmpty()){var o=r.start.row;t.duplicateLines(o,o)}else{var n=i?r.start:r.end,s=t.insert(n,t.getTextRange(r));r.start=n,r.end=s,e.setSelectionRange(r,i)}},e.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},e.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},e.prototype.moveText=function(e,t,r){return this.session.moveText(e,t,r)},e.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},e.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},e.prototype.$moveLines=function(e,t){var r,i,o=this.selection;if(!o.inMultiSelectMode||this.inVirtualSelectionMode){var n=o.toOrientedRange();r=this.$getSelectedRows(n),i=this.session.$moveLines(r.first,r.last,t?0:e),t&&-1==e&&(i=0),n.moveBy(i,0),o.fromOrientedRange(n)}else{var s=o.rangeList.ranges;o.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var a=0,l=0,c=s.length,h=0;h<c;h++){var d=h;s[h].moveBy(a,0);for(var u=(r=this.$getSelectedRows(s[h])).first,p=r.last;++h<c;){l&&s[h].moveBy(l,0);var f=this.$getSelectedRows(s[h]);if(t&&f.first!=p||!t&&f.first>p+1)break;p=f.last}for(h--,a=this.session.$moveLines(u,p,t?0:e),t&&-1==e&&(d=h+1);d<=h;)s[d].moveBy(a,0),d++;t||(a=0),l+=a}o.fromOrientedRange(o.ranges[0]),o.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},e.prototype.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},e.prototype.onCompositionStart=function(e){this.renderer.showComposition(e)},e.prototype.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},e.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},e.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},e.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},e.prototype.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},e.prototype.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},e.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},e.prototype.$moveByPage=function(e,t){var r=this.renderer,i=this.renderer.layerConfig,o=e*Math.floor(i.height/i.lineHeight);!0===t?this.selection.$moveSelection(function(){this.moveCursorBy(o,0)}):!1===t&&(this.selection.moveCursorBy(o,0),this.selection.clearSelection());var n=r.scrollTop;r.scrollBy(0,o*i.lineHeight),null!=t&&r.scrollCursorIntoView(null,.5),r.animateScrolling(n)},e.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},e.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},e.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},e.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},e.prototype.scrollPageDown=function(){this.$moveByPage(1)},e.prototype.scrollPageUp=function(){this.$moveByPage(-1)},e.prototype.scrollToRow=function(e){this.renderer.scrollToRow(e)},e.prototype.scrollToLine=function(e,t,r,i){this.renderer.scrollToLine(e,t,r,i)},e.prototype.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},e.prototype.getCursorPosition=function(){return this.selection.getCursor()},e.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},e.prototype.getSelectionRange=function(){return this.selection.getRange()},e.prototype.selectAll=function(){this.selection.selectAll()},e.prototype.clearSelection=function(){this.selection.clearSelection()},e.prototype.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},e.prototype.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},e.prototype.jumpToMatching=function(e,t){var r,i,o,n,s=this.getCursorPosition(),a=new b(this.session,s.row,s.column),l=a.getCurrentToken(),c=0;l&&-1!==l.type.indexOf("tag-name")&&(l=a.stepBackward());var h=l||a.stepForward();if(h){var d=!1,u={},p=s.column-h.start,g={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(h.value.match(/[{}()\[\]]/g)){for(;p<h.value.length&&!d;p++)if(g[h.value[p]])switch(isNaN(u[i=g[h.value[p]]+"."+h.type.replace("rparen","lparen")])&&(u[i]=0),h.value[p]){case"(":case"[":case"{":u[i]++;break;case")":case"]":case"}":u[i]--,-1===u[i]&&(r="bracket",d=!0)}}else -1!==h.type.indexOf("tag-name")&&(isNaN(u[h.value])&&(u[h.value]=0),"<"===l.value&&c>1?u[h.value]++:"</"===l.value&&u[h.value]--,-1===u[h.value]&&(r="tag",d=!0));d||(l=h,c++,h=a.stepForward(),p=0)}while(h&&!d);if(r){if("bracket"===r)!(o=this.session.getBracketRange(s))&&(n=(o=new f(a.getCurrentTokenRow(),a.getCurrentTokenColumn()+p-1,a.getCurrentTokenRow(),a.getCurrentTokenColumn()+p-1)).start,(t||n.row===s.row&&2>Math.abs(n.column-s.column))&&(o=this.session.getBracketRange(n)));else if("tag"===r){if(!h||-1===h.type.indexOf("tag-name"))return;if(0===(o=new f(a.getCurrentTokenRow(),a.getCurrentTokenColumn()-2,a.getCurrentTokenRow(),a.getCurrentTokenColumn()-2)).compare(s.row,s.column)){var m=this.session.getMatchingTags(s);m&&(m.openTag.contains(s.row,s.column)?n=(o=m.closeTag).start:(o=m.openTag,n=m.closeTag.start.row===s.row&&m.closeTag.start.column===s.column?o.end:o.start))}n=n||o.start}(n=o&&o.cursor||n)&&(e?o&&t?this.selection.setRange(o):o&&o.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(n.row,n.column):this.selection.moveTo(n.row,n.column))}}},e.prototype.gotoLine=function(e,t,r){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,r)},e.prototype.navigateTo=function(e,t){this.selection.moveTo(e,t)},e.prototype.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},e.prototype.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},e.prototype.navigateLeft=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorLeft();else{var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}this.clearSelection()},e.prototype.navigateRight=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorRight();else{var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}this.clearSelection()},e.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},e.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},e.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},e.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},e.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},e.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},e.prototype.replace=function(e,t){t&&this.$search.set(t);var r=this.$search.find(this.session),i=0;return r&&(this.$tryReplace(r,e)&&(i=1),this.selection.setSelectionRange(r),this.renderer.scrollSelectionIntoView(r.start,r.end)),i},e.prototype.replaceAll=function(e,t){t&&this.$search.set(t);var r=this.$search.findAll(this.session),i=0;if(!r.length)return i;var o=this.getSelectionRange();this.selection.moveTo(0,0);for(var n=r.length-1;n>=0;--n)this.$tryReplace(r[n],e)&&i++;return this.selection.setSelectionRange(o),i},e.prototype.$tryReplace=function(e,t){var r=this.session.getTextRange(e);return null!==(t=this.$search.replace(r,t))?(e.end=this.session.replace(e,t),e):null},e.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},e.prototype.find=function(e,t,r){t||(t={}),"string"==typeof e||e instanceof RegExp?t.needle=e:"object"==typeof e&&o.mixin(t,e);var i=this.selection.getRange();null==t.needle&&((e=this.session.getTextRange(i)||this.$search.$options.needle)||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var n=this.$search.find(this.session);return t.preventScroll?n:n?(this.revealRange(n,r),n):void(t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i))},e.prototype.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},e.prototype.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},e.prototype.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var r=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),!1!==t&&this.renderer.animateScrolling(r)},e.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},e.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},e.prototype.destroy=function(){this.destroyed=!0,this.$toDestroy&&(this.$toDestroy.forEach(function(e){e.destroy()}),this.$toDestroy=[]),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},e.prototype.setAutoScrollEditorIntoView=function(e){if(e){var t,r=this,i=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var o=this.$scrollAnchor;o.style.cssText="position:absolute",this.container.insertBefore(o,this.container.firstChild);var n=this.on("changeSelection",function(){i=!0}),s=this.renderer.on("beforeRender",function(){i&&(t=r.renderer.container.getBoundingClientRect())}),a=this.renderer.on("afterRender",function(){if(i&&t&&(r.isFocused()||r.searchBox&&r.searchBox.isFocused())){var e=r.renderer,n=e.$cursorLayer.$pixelPos,s=e.layerConfig,a=n.top-s.offset;null!=(i=n.top>=0&&a+t.top<0||(!(n.top<s.height)||!(n.top+t.top+s.lineHeight>window.innerHeight))&&null)&&(o.style.top=a+"px",o.style.left=n.left+"px",o.style.height=s.lineHeight+"px",o.scrollIntoView(i)),i=t=null}});this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",n),this.renderer.off("afterRender",a),this.renderer.off("beforeRender",s))}}},e.prototype.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&"wide"!=e,n.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e)))},e.prototype.prompt=function(e,t,r){var i=this;y.loadModule("ace/ext/prompt",function(o){o.prompt(i,e,t,r)})},e}();A.$uid=0,A.prototype.curOp=null,A.prototype.prevOp={},A.prototype.$mergeableCommands=["backspace","del","insertstring"],A.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],o.implement(A.prototype,g),y.defineOptions(A.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){var t=this;if(this.textInput.setReadOnly(e),!this.destroyed){this.$resetCursorStyle(),this.$readOnlyCallback||(this.$readOnlyCallback=function(e){var r=!1;if(e&&"keydown"==e.type){if(e&&e.key&&!e.ctrlKey&&!e.metaKey&&(" "==e.key&&e.preventDefault(),r=1==e.key.length),!r)return}else e&&"exec"!==e.type&&(r=!0);if(r){t.hoverTooltip||(t.hoverTooltip=new C);var i=n.createElement("div");i.textContent=x("editor.tooltip.disable-editing","Editing is disabled"),t.hoverTooltip.isOpen||t.hoverTooltip.showForRange(t,t.getSelectionRange(),i)}else t.hoverTooltip&&t.hoverTooltip.isOpen&&t.hoverTooltip.hide()});var r=this.textInput.getElement();e?(M.addListener(r,"keydown",this.$readOnlyCallback,this),this.commands.on("exec",this.$readOnlyCallback),this.commands.on("commandUnavailable",this.$readOnlyCallback)):(M.removeListener(r,"keydown",this.$readOnlyCallback),this.commands.off("exec",this.$readOnlyCallback),this.commands.off("commandUnavailable",this.$readOnlyCallback),this.hoverTooltip&&(this.hoverTooltip.destroy(),this.hoverTooltip=null))}},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?E.attach(this):E.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?E.attach(this):E.detach(this)}},placeholder:{set:function(e){this.$updatePlaceholder||(this.$updatePlaceholder=(function(){var e=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(e&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),n.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(e||this.renderer.placeholderNode)!e&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"");else{this.renderer.on("afterRender",this.$updatePlaceholder),n.addCssClass(this.container,"ace_hasPlaceholder");var t=n.createElement("div");t.className="ace_placeholder",t.textContent=this.$placeholder||"",this.renderer.placeholderNode=t,this.renderer.content.appendChild(this.renderer.placeholderNode)}}).bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(e){var t,r={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(e){e.blur(),e.renderer.scroller.focus()},readOnly:!0},i=function(e){if(e.target==this.renderer.scroller&&e.keyCode===S.enter){e.preventDefault();var t=this.getCursorPosition().row;this.isRowVisible(t)||this.scrollToLine(t,!0,!0),this.focus()}};e?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(3*!!a.isWin),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",x("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",x("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",i.bind(this)),this.commands.addCommand(r),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",x("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",x("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),t||(t=new w(this)),t.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",i.bind(this)),this.commands.removeCommand(r),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),t&&t.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(e){this.$textInputAriaLabel=e},initialValue:""},enableMobileMenu:{set:function(e){this.$enableMobileMenu=e},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var E={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"\xb7":""))+""},getWidth:function(e,t,r){return Math.max(t.toString().length,(r.lastRow+1).toString().length,2)*r.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};t.Editor=A}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(e,t,r){"use strict";var i=e("../lib/dom");t.Lines=function(){function e(e,t){this.element=e,this.canvasHeight=t||5e5,this.element.style.height=2*this.canvasHeight+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return e.prototype.moveContainer=function(e){i.translate(this.element,0,-(e.firstRowScreen*e.lineHeight%this.canvasHeight)-e.offset*this.$offsetCoefficient)},e.prototype.pageChanged=function(e,t){return Math.floor(e.firstRowScreen*e.lineHeight/this.canvasHeight)!==Math.floor(t.firstRowScreen*t.lineHeight/this.canvasHeight)},e.prototype.computeLineTop=function(e,t,r){var i=Math.floor(t.firstRowScreen*t.lineHeight/this.canvasHeight);return r.documentToScreenRow(e,0)*t.lineHeight-i*this.canvasHeight},e.prototype.computeLineHeight=function(e,t,r){return t.lineHeight*r.getRowLineCount(e)},e.prototype.getLength=function(){return this.cells.length},e.prototype.get=function(e){return this.cells[e]},e.prototype.shift=function(){this.$cacheCell(this.cells.shift())},e.prototype.pop=function(){this.$cacheCell(this.cells.pop())},e.prototype.push=function(e){if(Array.isArray(e)){this.cells.push.apply(this.cells,e);for(var t=i.createFragment(this.element),r=0;r<e.length;r++)t.appendChild(e[r].element);this.element.appendChild(t)}else this.cells.push(e),this.element.appendChild(e.element)},e.prototype.unshift=function(e){if(Array.isArray(e)){this.cells.unshift.apply(this.cells,e);for(var t=i.createFragment(this.element),r=0;r<e.length;r++)t.appendChild(e[r].element);this.element.firstChild?this.element.insertBefore(t,this.element.firstChild):this.element.appendChild(t)}else this.cells.unshift(e),this.element.insertAdjacentElement("afterbegin",e.element)},e.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},e.prototype.$cacheCell=function(e){e&&(e.element.remove(),this.cellCache.push(e))},e.prototype.createCell=function(e,t,r,o){var n=this.cellCache.pop();if(!n){var s=i.createElement("div");o&&o(s),this.element.appendChild(s),n={element:s,text:"",row:e}}return n.row=e,n},e}()}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines","ace/config"],function(e,t,r){"use strict";var i=e("../lib/dom"),o=e("../lib/oop"),n=e("../lib/lang"),s=e("../lib/event_emitter").EventEmitter,a=e("./lines").Lines,l=e("../config").nls,c=function(){function e(e){this.$showCursorMarker=null,this.element=i.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new a(this.element),this.$lines.$offsetCoefficient=1}return e.prototype.setSession=function(e){this.session&&this.session.off("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},e.prototype.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},e.prototype.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},e.prototype.setAnnotations=function(e){this.$annotations=[];for(var t=0;t<e.length;t++){var r=e[t],i=r.row,o=this.$annotations[i];o||(o=this.$annotations[i]={text:[],type:[],displayText:[]});var s=r.text,a=r.text,l=r.type;s=s?n.escapeHTML(s):r.html||"",a=a||r.html||"",-1===o.text.indexOf(s)&&(o.text.push(s),o.type.push(l),o.displayText.push(a));var c=r.className;c?o.className=c:"error"===l?o.className=" ace_error":"security"!==l||/\bace_error\b/.test(o.className)?"warning"!==l||/\bace_(error|security)\b/.test(o.className)?"info"!==l||o.className?"hint"!==l||o.className||(o.className=" ace_hint"):o.className=" ace_info":o.className=" ace_warning":o.className=" ace_security"}},e.prototype.$updateAnnotations=function(e){if(this.$annotations.length){var t=e.start.row,r=e.end.row-t;if(0===r);else if("remove"==e.action)this.$annotations.splice(t,r+1,null);else{var i=Array(r+1);i.unshift(t,1),this.$annotations.splice.apply(this.$annotations,i)}}},e.prototype.update=function(e){this.config=e;var t=this.session,r=e.firstRow,i=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1);this.oldLastRow=i,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();for(var o=t.getNextFoldLine(r),n=o?o.start.row:1/0,s=null,a=-1,l=r;;){if(l>n&&(l=o.end.row+1,n=(o=t.getNextFoldLine(l,o))?o.start.row:1/0),l>i){for(;this.$lines.getLength()>a+1;)this.$lines.pop();break}(s=this.$lines.get(++a))?s.row=l:(s=this.$lines.createCell(l,e,this.session,h),this.$lines.push(s)),this.$renderCell(s,e,o,l),l++}this._signal("afterRender"),this.$updateGutterWidth(e),this.$showCursorMarker&&this.$highlightGutterLine&&this.$updateCursorMarker()},e.prototype.$updateGutterWidth=function(e){var t=this.session,r=t.gutterRenderer||this.$renderer,i=t.$firstLineNumber,o=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||t.$useWrapMode)&&(o=t.getLength()+i-1);var n=r?r.getWidth(t,o,e):o.toString().length*e.characterWidth,s=this.$padding||this.$computePadding();(n+=s.left+s.right)===this.gutterWidth||isNaN(n)||(this.gutterWidth=n,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",n))},e.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},e.prototype.updateLineHighlight=function(){if(this.$showCursorMarker&&this.$updateCursorMarker(),this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!this.$cursorCell||this.$cursorCell.row!=e){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var r=0;r<t.length;r++){var i=t[r];if(i.row>=this.$cursorRow){if(i.row>this.$cursorRow){var o=this.session.getFoldLine(this.$cursorRow);if(r>0&&o&&o.start.row==t[r-1].row)i=t[r-1];else break}i.element.className="ace_gutter-active-line "+i.element.className,this.$cursorCell=i;break}}}}},e.prototype.$updateCursorMarker=function(){if(this.session){var e=this.session;this.$highlightElement||(this.$highlightElement=i.createElement("div"),this.$highlightElement.className="ace_gutter-cursor",this.$highlightElement.style.pointerEvents="none",this.element.appendChild(this.$highlightElement));var t=e.selection.cursor,r=this.config,o=this.$lines,n=Math.floor(r.firstRowScreen*r.lineHeight/o.canvasHeight),s=e.documentToScreenRow(t)*r.lineHeight-n*o.canvasHeight;i.setStyle(this.$highlightElement.style,"height",r.lineHeight+"px"),i.setStyle(this.$highlightElement.style,"top",s+"px")}},e.prototype.scrollLines=function(e){var t=this.config;if(this.config=e,this.$updateCursorRow(),this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var r=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),i=this.oldLastRow;if(this.oldLastRow=r,!t||i<e.firstRow||r<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var o=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);o>0;o--)this.$lines.shift();if(i>r)for(var o=this.session.getFoldedRowCount(r+1,i);o>0;o--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,t.firstRow-1)),r>i&&this.$lines.push(this.$renderLines(e,i+1,r)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},e.prototype.$renderLines=function(e,t,r){for(var i=[],o=t,n=this.session.getNextFoldLine(o),s=n?n.start.row:1/0;o>s&&(o=n.end.row+1,s=(n=this.session.getNextFoldLine(o,n))?n.start.row:1/0),!(o>r);){var a=this.$lines.createCell(o,e,this.session,h);this.$renderCell(a,e,n,o),i.push(a),o++}return i},e.prototype.$renderCell=function(e,t,r,o){var n,s=e.element,a=this.session,c=s.childNodes[0],h=s.childNodes[1],d=s.childNodes[2],u=s.childNodes[3],p=d.firstChild,f=a.$firstLineNumber,g=a.$breakpoints,m=a.$decorations,v=a.gutterRenderer||this.$renderer,y=this.$showFoldWidgets&&a.foldWidgets,b=r?r.start.row:Number.MAX_VALUE,w=t.lineHeight+"px",x=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",$=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",S=(v?v.getText(a,o):o+f).toString();if(this.$highlightGutterLine&&(o==this.$cursorRow||r&&o<this.$cursorRow&&o>=b&&this.$cursorRow<=r.end.row)&&(x+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),g[o]&&(x+=g[o]),m[o]&&(x+=m[o]),this.$annotations[o]&&o!==b&&(x+=this.$annotations[o].className),y){var M=y[o];null==M&&(M=y[o]=a.getFoldWidget(o))}if(M){var C="ace_fold-widget ace_"+M,A="start"==M&&o==b&&o<r.end.row;if(A){C+=" ace_closed";for(var E="",k=!1,_=o+1;_<=r.end.row;_++)if(this.$annotations[_]){if(" ace_error"===this.$annotations[_].className){k=!0,E=" ace_error_fold";break}" ace_security"===this.$annotations[_].className?(k=!0,E=" ace_security_fold"):" ace_warning"===this.$annotations[_].className&&" ace_security_fold"!==E&&(k=!0,E=" ace_warning_fold")}x+=E}else C+=" ace_open";h.className!=C&&(h.className=C),i.setStyle(h.style,"height",w),i.setStyle(h.style,"display","inline-block"),h.setAttribute("role","button"),h.setAttribute("tabindex","-1");var L=a.getFoldWidgetRange(o);L?h.setAttribute("aria-label",l("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[L.start.row+1,L.end.row+1])):r?h.setAttribute("aria-label",l("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[r.start.row+1,r.end.row+1])):h.setAttribute("aria-label",l("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[o+1])),A?(h.setAttribute("aria-expanded","false"),h.setAttribute("title",l("gutter.code-folding.closed.title","Unfold code"))):(h.setAttribute("aria-expanded","true"),h.setAttribute("title",l("gutter.code-folding.open.title","Fold code")))}else h&&(i.setStyle(h.style,"display","none"),h.setAttribute("tabindex","0"),h.removeAttribute("role"),h.removeAttribute("aria-label"));var T=this.session.$gutterCustomWidgets[o];if(T?this.$addCustomWidget(o,T,e):u&&this.$removeCustomWidget(o,e),k&&this.$showFoldedAnnotations){switch(d.className="ace_gutter_annotation",p.className=$,p.className+=E,i.setStyle(p.style,"height",w),i.setStyle(d.style,"display","block"),i.setStyle(d.style,"height",w),E){case" ace_error_fold":n=l("gutter.annotation.aria-label.error","Error, read annotations row $0",[S]);break;case" ace_security_fold":n=l("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[S]);break;case" ace_warning_fold":n=l("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[S])}d.setAttribute("aria-label",n),d.setAttribute("tabindex","-1"),d.setAttribute("role","button")}else if(this.$annotations[o]){switch(d.className="ace_gutter_annotation",p.className=$,this.$useSvgGutterIcons?p.className+=this.$annotations[o].className:s.classList.add(this.$annotations[o].className.replace(" ","")),i.setStyle(p.style,"height",w),i.setStyle(d.style,"display","block"),i.setStyle(d.style,"height",w),this.$annotations[o].className){case" ace_error":n=l("gutter.annotation.aria-label.error","Error, read annotations row $0",[S]);break;case" ace_security":n=l("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[S]);break;case" ace_warning":n=l("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[S]);break;case" ace_info":n=l("gutter.annotation.aria-label.info","Info, read annotations row $0",[S]);break;case" ace_hint":n=l("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[S])}d.setAttribute("aria-label",n),d.setAttribute("tabindex","-1"),d.setAttribute("role","button")}else i.setStyle(d.style,"display","none"),d.removeAttribute("aria-label"),d.removeAttribute("role"),d.setAttribute("tabindex","0");return S!==c.data&&(c.data=S),s.className!=x&&(s.className=x),i.setStyle(e.element.style,"height",this.$lines.computeLineHeight(o,t,a)+"px"),i.setStyle(e.element.style,"top",this.$lines.computeLineTop(o,t,a)+"px"),e.text=S,"none"!==d.style.display||"none"!==h.style.display||T?e.element.setAttribute("aria-hidden",!1):e.element.setAttribute("aria-hidden",!0),e},e.prototype.setHighlightGutterLine=function(e){this.$highlightGutterLine=e,!e&&this.$highlightElement&&(this.$highlightElement.remove(),this.$highlightElement=null)},e.prototype.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return 0},getText:function(){return""}}},e.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},e.prototype.setShowFoldWidgets=function(e){e?i.addCssClass(this.element,"ace_folding-enabled"):i.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},e.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},e.prototype.$hideFoldWidget=function(e,t){var r=t||this.$getGutterCell(e);if(r&&r.element){var o=r.element.childNodes[1];o&&i.setStyle(o.style,"display","none")}},e.prototype.$showFoldWidget=function(e,t){var r=t||this.$getGutterCell(e);if(r&&r.element){var o=r.element.childNodes[1];o&&this.session.foldWidgets&&this.session.foldWidgets[r.row]&&i.setStyle(o.style,"display","inline-block")}},e.prototype.$getGutterCell=function(e){var t=this.$lines.cells,r=0,i=t.length-1;if(!(e<t[0].row)&&!(e>t[i].row)){for(;r<=i;){var o=Math.floor((r+i)/2),n=t[o];if(n.row>e)i=o-1;else if(n.row<e)r=o+1;else break}return n}},e.prototype.$addCustomWidget=function(e,t,r){var o=t.className,n=t.label,s=t.title,a=t.callbacks;this.session.$gutterCustomWidgets[e]={className:o,label:n,title:s,callbacks:a},this.$hideFoldWidget(e,r);var l=r||this.$getGutterCell(e);if(l&&l.element){var c=l.element.querySelector(".ace_custom-widget");c&&c.remove(),(c=i.createElement("span")).className="ace_custom-widget ".concat(o),c.setAttribute("tabindex","-1"),c.setAttribute("role","button"),c.setAttribute("aria-label",n),c.setAttribute("title",s),i.setStyle(c.style,"display","inline-block"),i.setStyle(c.style,"height","inherit"),a&&a.onClick&&c.addEventListener("click",function(t){a.onClick(t,e),t.stopPropagation()}),l.element.appendChild(c)}},e.prototype.$removeCustomWidget=function(e,t){delete this.session.$gutterCustomWidgets[e],this.$showFoldWidget(e,t);var r=t||this.$getGutterCell(e);if(r&&r.element){var i=r.element.querySelector(".ace_custom-widget");i&&r.element.removeChild(i)}},e.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=i.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(e.borderLeftWidth)||0)+(parseInt(e.paddingLeft)||0)+1,this.$padding.right=(parseInt(e.borderRightWidth)||0)+(parseInt(e.paddingRight)||0),this.$padding},e.prototype.getRegion=function(e){var t=this.$padding||this.$computePadding(),r=this.element.getBoundingClientRect();return e.x<t.left+r.left?"markers":this.$showFoldWidgets&&e.x>r.right-t.right?"foldWidgets":void 0},e}();function h(e){var t=document.createTextNode("");e.appendChild(t);var r=i.createElement("span");e.appendChild(r);var o=i.createElement("span");e.appendChild(o);var n=i.createElement("span");return o.appendChild(n),e}c.prototype.$fixedWidth=!1,c.prototype.$highlightGutterLine=!0,c.prototype.$renderer=void 0,c.prototype.$showLineNumbers=!0,c.prototype.$showFoldWidgets=!0,o.implement(c.prototype,s),t.Gutter=c}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,r){"use strict";var i=e("../range").Range,o=e("../lib/dom"),n=function(){function e(e){this.element=o.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)}return e.prototype.setPadding=function(e){this.$padding=e},e.prototype.setSession=function(e){this.session=e},e.prototype.setMarkers=function(e){this.markers=e},e.prototype.elt=function(e,t){var r=-1!=this.i&&this.element.childNodes[this.i];r?this.i++:(r=document.createElement("div"),this.element.appendChild(r),this.i=-1),r.style.cssText=t,r.className=e},e.prototype.update=function(e){if(e){for(var t in this.config=e,this.i=0,this.markers){var r,i=this.markers[t];if(!i.range){i.update(r,this,this.session,e);continue}var o=i.range.clipRows(e.firstRow,e.lastRow);if(!o.isEmpty())if(o=o.toScreenRange(this.session),i.renderer){var n=this.$getTop(o.start.row,e),s=this.$padding+o.start.column*e.characterWidth;i.renderer(r,o,s,n,e)}else"fullLine"==i.type?this.drawFullLineMarker(r,o,i.clazz,e):"screenLine"==i.type?this.drawScreenLineMarker(r,o,i.clazz,e):o.isMultiLine()?"text"==i.type?this.drawTextMarker(r,o,i.clazz,e):this.drawMultiLineMarker(r,o,i.clazz,e):this.drawSingleLineMarker(r,o,i.clazz+" ace_start ace_br15",e)}if(-1!=this.i)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},e.prototype.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},e.prototype.drawTextMarker=function(e,t,r,o,n){for(var s,a=this.session,l=t.start.row,c=t.end.row,h=l,d=0,u=0,p=a.getScreenLastRowColumn(h),f=new i(h,t.start.column,h,u);h<=c;h++){f.start.row=f.end.row=h,f.start.column=h==l?t.start.column:a.getRowWrapIndent(h),f.end.column=p,d=u,u=p,p=h+1<c?a.getScreenLastRowColumn(h+1):h==c?0:t.end.column,this.drawSingleLineMarker(e,f,r+(h==l?" ace_start":"")+" ace_br"+(s=h==l||h==l+1&&t.start.column,!!s|2*!!(d<u)|4*!!(u>p)|8*(h==c)),o,+(h!=c),n)}},e.prototype.drawMultiLineMarker=function(e,t,r,i,o){var n=this.$padding,s=i.lineHeight,a=this.$getTop(t.start.row,i),l=n+t.start.column*i.characterWidth;if(o=o||"",this.session.$bidiHandler.isBidiRow(t.start.row)){var c=t.clone();c.end.row=c.start.row,c.end.column=this.session.getLine(c.start.row).length,this.drawBidiSingleLineMarker(e,c,r+" ace_br1 ace_start",i,null,o)}else this.elt(r+" ace_br1 ace_start","height:"+s+"px;right:"+n+"px;top:"+a+"px;left:"+l+"px;"+(o||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var c=t.clone();c.start.row=c.end.row,c.start.column=0,this.drawBidiSingleLineMarker(e,c,r+" ace_br12",i,null,o)}else{a=this.$getTop(t.end.row,i);var h=t.end.column*i.characterWidth;this.elt(r+" ace_br12","height:"+s+"px;width:"+h+"px;top:"+a+"px;left:"+n+"px;"+(o||""))}if(!((s=(t.end.row-t.start.row-1)*i.lineHeight)<=0)){a=this.$getTop(t.start.row+1,i);var d=!!t.start.column|8*!t.end.column;this.elt(r+(d?" ace_br"+d:""),"height:"+s+"px;right:"+n+"px;top:"+a+"px;left:"+n+"px;"+(o||""))}},e.prototype.drawSingleLineMarker=function(e,t,r,i,o,n){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,r,i,o,n);var s=i.lineHeight,a=(t.end.column+(o||0)-t.start.column)*i.characterWidth,l=this.$getTop(t.start.row,i),c=this.$padding+t.start.column*i.characterWidth;this.elt(r,"height:"+s+"px;width:"+a+"px;top:"+l+"px;left:"+c+"px;"+(n||""))},e.prototype.drawBidiSingleLineMarker=function(e,t,r,i,o,n){var s=i.lineHeight,a=this.$getTop(t.start.row,i),l=this.$padding;this.session.$bidiHandler.getSelections(t.start.column,t.end.column).forEach(function(e){this.elt(r,"height:"+s+"px;width:"+(e.width+(o||0))+"px;top:"+a+"px;left:"+(l+e.left)+"px;"+(n||""))},this)},e.prototype.drawFullLineMarker=function(e,t,r,i,o){var n=this.$getTop(t.start.row,i),s=i.lineHeight;t.start.row!=t.end.row&&(s+=this.$getTop(t.end.row,i)-n),this.elt(r,"height:"+s+"px;top:"+n+"px;left:0;right:0;"+(o||""))},e.prototype.drawScreenLineMarker=function(e,t,r,i,o){var n=this.$getTop(t.start.row,i),s=i.lineHeight;this.elt(r,"height:"+s+"px;top:"+n+"px;left:0;right:0;"+(o||""))},e}();n.prototype.$padding=0,t.Marker=n}),ace.define("ace/layer/text_util",["require","exports","module"],function(e,t,r){var i=new Set(["text","rparen","lparen"]);t.isTextToken=function(e){return i.has(e)}}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],function(e,t,r){"use strict";var i=e("../lib/oop"),o=e("../lib/dom"),n=e("../lib/lang"),s=e("./lines").Lines,a=e("../lib/event_emitter").EventEmitter,l=e("../config").nls,c=e("./text_util").isTextToken,h=function(){function e(e){this.dom=o,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new s(this.element)}return e.prototype.$updateEolChar=function(){var e=this.session.doc,t="\n"==e.getNewLineCharacter()&&"windows"!=e.getNewLineMode()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=t)return this.EOL_CHAR=t,!0},e.prototype.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},e.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},e.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},e.prototype.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",(function(e){this._signal("changeCharacterSize",e)}).bind(this)),this.$pollSizeChanges()},e.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},e.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},e.prototype.setSession=function(e){this.session=e,e&&this.$computeTabString()},e.prototype.setShowInvisibles=function(e){return this.showInvisibles!=e&&(this.showInvisibles=e,"string"==typeof e?(this.showSpaces=/tab/i.test(e),this.showTabs=/space/i.test(e),this.showEOL=/eol/i.test(e)):this.showSpaces=this.showTabs=this.showEOL=e,this.$computeTabString(),!0)},e.prototype.setDisplayIndentGuides=function(e){return this.displayIndentGuides!=e&&(this.displayIndentGuides=e,this.$computeTabString(),!0)},e.prototype.setHighlightIndentGuides=function(e){return this.$highlightIndentGuides!==e&&(this.$highlightIndentGuides=e,e)},e.prototype.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var t=this.$tabStrings=[0],r=1;r<e+1;r++)if(this.showTabs){var i=this.dom.createElement("span");i.className="ace_invisible ace_invisible_tab",i.textContent=n.stringRepeat(this.TAB_CHAR,r),t.push(i)}else t.push(this.dom.createTextNode(n.stringRepeat(" ",r),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var o="ace_indent-guide",s=this.showSpaces?" ace_invisible ace_invisible_space":"",a=this.showSpaces?n.stringRepeat(this.SPACE_CHAR,this.tabSize):n.stringRepeat(" ",this.tabSize),l=this.showTabs?" ace_invisible ace_invisible_tab":"",c=this.showTabs?n.stringRepeat(this.TAB_CHAR,this.tabSize):a,i=this.dom.createElement("span");i.className=o+s,i.textContent=a,this.$tabStrings[" "]=i;var i=this.dom.createElement("span");i.className=o+l,i.textContent=c,this.$tabStrings[" "]=i}},e.prototype.updateLines=function(e,t,r){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;for(var i=Math.max(t,e.firstRow),o=Math.min(r,e.lastRow),n=this.element.childNodes,s=0,a=e.firstRow;a<i;a++){var l=this.session.getFoldLine(a);if(l)if(l.containsRow(i)){i=l.start.row;break}else a=l.end.row;s++}for(var c=!1,a=i,l=this.session.getNextFoldLine(a),h=l?l.start.row:1/0;a>h&&(a=l.end.row+1,h=(l=this.session.getNextFoldLine(a,l))?l.start.row:1/0),!(a>o);){var d=n[s++];if(d){this.dom.removeChildren(d),this.$renderLine(d,a,a==h&&l),c&&(d.style.top=this.$lines.computeLineTop(a,e,this.session)+"px");var u=e.lineHeight*this.session.getRowLength(a)+"px";d.style.height!=u&&(c=!0,d.style.height=u)}a++}if(c)for(;s<this.$lines.cells.length;){var p=this.$lines.cells[s++];p.element.style.top=this.$lines.computeLineTop(p.row,e,this.session)+"px"}},e.prototype.scrollLines=function(e){var t=this.config;if(this.config=e,this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var r=e.lastRow,i=t?t.lastRow:-1;if(!t||i<e.firstRow||r<t.firstRow||!t||t.lastRow<e.firstRow||e.lastRow<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var o=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);o>0;o--)this.$lines.shift();if(t.lastRow>e.lastRow)for(var o=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);o>0;o--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,t.firstRow-1)),e.lastRow>t.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},e.prototype.$renderLinesFragment=function(e,t,r){for(var i=[],n=t,s=this.session.getNextFoldLine(n),a=s?s.start.row:1/0;n>a&&(n=s.end.row+1,a=(s=this.session.getNextFoldLine(n,s))?s.start.row:1/0),!(n>r);){var l=this.$lines.createCell(n,e,this.session),c=l.element;this.dom.removeChildren(c),o.setStyle(c.style,"height",this.$lines.computeLineHeight(n,e,this.session)+"px"),o.setStyle(c.style,"top",this.$lines.computeLineTop(n,e,this.session)+"px"),this.$renderLine(c,n,n==a&&s),this.$useLineGroups()?c.className="ace_line_group":c.className="ace_line",i.push(l),n++}return i},e.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var t=e.firstRow,r=e.lastRow,i=this.$lines;i.getLength();)i.pop();i.push(this.$renderLinesFragment(e,t,r))},e.prototype.$renderToken=function(e,t,r,i){for(var o,s=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,a=this.dom.createFragment(this.element),h=0;o=s.exec(i);){var d=o[1],u=o[2],p=o[3],f=o[4],g=o[5];if(this.showSpaces||!u){var m=h!=o.index?i.slice(h,o.index):"";if(h=o.index+o[0].length,m&&a.appendChild(this.dom.createTextNode(m,this.element)),d){var v=this.session.getScreenTabSize(t+o.index),y=this.$tabStrings[v].cloneNode(!0);y.charCount=1,a.appendChild(y),t+=v-1}else if(u)if(this.showSpaces){var b=this.dom.createElement("span");b.className="ace_invisible ace_invisible_space",b.textContent=n.stringRepeat(this.SPACE_CHAR,u.length),a.appendChild(b)}else a.appendChild(this.dom.createTextNode(u,this.element));else if(p){var b=this.dom.createElement("span");b.className="ace_invisible ace_invisible_space ace_invalid",b.textContent=n.stringRepeat(this.SPACE_CHAR,p.length),a.appendChild(b)}else if(f){t+=1;var b=this.dom.createElement("span");b.style.width=2*this.config.characterWidth+"px",b.className=this.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",b.textContent=this.showSpaces?this.SPACE_CHAR:f,a.appendChild(b)}else if(g){t+=1;var b=this.dom.createElement("span");b.style.width=2*this.config.characterWidth+"px",b.className="ace_cjk",b.textContent=g,a.appendChild(b)}}}if(a.appendChild(this.dom.createTextNode(h?i.slice(h):i,this.element)),c(r.type))e.appendChild(a);else{var w="ace_"+r.type.replace(/\./g," ace_"),b=this.dom.createElement("span");"fold"==r.type&&(b.style.width=r.value.length*this.config.characterWidth+"px",b.setAttribute("title",l("inline-fold.closed.title","Unfold code"))),b.className=w,b.appendChild(a),e.appendChild(b)}return t+i.length},e.prototype.renderIndentGuide=function(e,t,r){var i=t.search(this.$indentGuideRe);if(i<=0||i>=r)return t;if(" "==t[0]){for(var o=(i-=i%this.tabSize)/this.tabSize,n=0;n<o;n++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),t.substr(i)}if(" "==t[0]){for(var n=0;n<i;n++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),t.substr(i)}return this.$highlightIndentGuide(),t},e.prototype.$highlightIndentGuide=function(){if(this.$highlightIndentGuides&&this.displayIndentGuides){this.$highlightIndentGuideMarker={indentLevel:void 0,start:void 0,end:void 0,dir:void 0};var e=this.session.doc.$lines;if(e){var t=this.session.selection.getCursor(),r=/^\s*/.exec(this.session.doc.getLine(t.row))[0].length,i=Math.floor(r/this.tabSize);if(this.$highlightIndentGuideMarker={indentLevel:i,start:t.row},this.session.$bracketHighlight){for(var o=this.session.$bracketHighlight.ranges,n=0;n<o.length;n++)if(t.row!==o[n].start.row){this.$highlightIndentGuideMarker.end=o[n].start.row+1,t.row>o[n].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&""!==e[t.row]&&t.column===e[t.row].length){this.$highlightIndentGuideMarker.dir=1;for(var n=t.row+1;n<e.length;n++){var s=e[n],a=/^\s*/.exec(s)[0].length;if(""!==s&&(this.$highlightIndentGuideMarker.end=n,a<=r))break}}this.$renderHighlightIndentGuide()}}},e.prototype.$clearActiveIndentGuide=function(){for(var e=this.element.querySelectorAll(".ace_indent-guide-active"),t=0;t<e.length;t++)e[t].classList.remove("ace_indent-guide-active")},e.prototype.$setIndentGuideActive=function(e,t){if(""!==this.session.doc.getLine(e.row)){var r=e.element;if(e.element.classList&&e.element.classList.contains("ace_line_group"))if(!(e.element.childNodes.length>0))return;else r=e.element.childNodes[0];var i=r.childNodes;if(i){var o=i[t-1];o&&o.classList&&o.classList.contains("ace_indent-guide")&&o.classList.add("ace_indent-guide-active")}}},e.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var e=this.$lines.cells;this.$clearActiveIndentGuide();var t=this.$highlightIndentGuideMarker.indentLevel;if(0!==t)if(1===this.$highlightIndentGuideMarker.dir)for(var r=0;r<e.length;r++){var i=e[r];if(this.$highlightIndentGuideMarker.end&&i.row>=this.$highlightIndentGuideMarker.start+1){if(i.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(i,t)}}else for(var r=e.length-1;r>=0;r--){var i=e[r];if(this.$highlightIndentGuideMarker.end&&i.row<this.$highlightIndentGuideMarker.start){if(i.row<this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(i,t)}}}},e.prototype.$createLineElement=function(e){var t=this.dom.createElement("div");return t.className="ace_line",t.style.height=this.config.lineHeight+"px",t},e.prototype.$renderWrappedLine=function(e,t,r){var i=0,o=0,s=r[0],a=0,l=this.$createLineElement();e.appendChild(l);for(var c=0;c<t.length;c++){var h=t[c],d=h.value;if(0==c&&this.displayIndentGuides){if(i=d.length,!(d=this.renderIndentGuide(l,d,s)))continue;i-=d.length}if(i+d.length<s)a=this.$renderToken(l,a,h,d),i+=d.length;else{for(;i+d.length>=s;){a=this.$renderToken(l,a,h,d.substring(0,s-i)),d=d.substring(s-i),i=s,l=this.$createLineElement(),e.appendChild(l);var u=this.dom.createTextNode(n.stringRepeat("\xa0",r.indent),this.element);u.charCount=0,l.appendChild(u),a=0,s=r[++o]||Number.MAX_VALUE}0!=d.length&&(i+=d.length,a=this.$renderToken(l,a,h,d))}}r[r.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(l,a,null,"",!0)},e.prototype.$renderSimpleLine=function(e,t){for(var r=0,i=0;i<t.length;i++){var o=t[i],n=o.value;if(0!=i||!this.displayIndentGuides||(n=this.renderIndentGuide(e,n))){if(r+n.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,r,o,n);r=this.$renderToken(e,r,o,n)}}},e.prototype.$renderOverflowMessage=function(e,t,r,i,o){r&&this.$renderToken(e,t,r,i.slice(0,this.MAX_LINE_LENGTH-t));var n=this.dom.createElement("span");n.className="ace_inline_button ace_keyword ace_toggle_wrap",n.textContent=o?"<hide>":"<click to see more...>",e.appendChild(n)},e.prototype.$renderLine=function(e,t,r){if(r||!1==r||(r=this.session.getFoldLine(t)),r)var i=this.$getFoldLineTokens(t,r);else var i=this.session.getTokens(t);var o=e;if(i.length){var n=this.session.getRowSplitData(t);if(n&&n.length){this.$renderWrappedLine(e,i,n);var o=e.lastChild}else{var o=e;this.$useLineGroups()&&(o=this.$createLineElement(),e.appendChild(o)),this.$renderSimpleLine(o,i)}}else this.$useLineGroups()&&(o=this.$createLineElement(),e.appendChild(o));if(this.showEOL&&o){r&&(t=r.end.row);var s=this.dom.createElement("span");s.className="ace_invisible ace_invisible_eol",s.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,o.appendChild(s)}},e.prototype.$getFoldLineTokens=function(e,t){var r=this.session,i=[],o=r.getTokens(e);return t.walk(function(e,t,n,s,a){null!=e?i.push({type:"fold",value:e}):(a&&(o=r.getTokens(t)),o.length&&function(e,t,r){for(var o=0,n=0;n+e[o].value.length<t;)if(n+=e[o].value.length,++o==e.length)return;if(n!=t){var s=e[o].value.substring(t-n);s.length>r-t&&(s=s.substring(0,r-t)),i.push({type:e[o].type,value:s}),n=t+s.length,o+=1}for(;n<r&&o<e.length;){var s=e[o].value;s.length+n>r?i.push({type:e[o].type,value:s.substring(0,r-n)}):i.push(e[o]),n+=s.length,o+=1}}(o,s,n))},t.end.row,this.session.getLine(t.end.row).length),i},e.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},e}();h.prototype.EOF_CHAR="\xb6",h.prototype.EOL_CHAR_LF="\xac",h.prototype.EOL_CHAR_CRLF="\xa4",h.prototype.EOL_CHAR=h.prototype.EOL_CHAR_LF,h.prototype.TAB_CHAR="—",h.prototype.SPACE_CHAR="\xb7",h.prototype.$padding=0,h.prototype.MAX_LINE_LENGTH=1e4,h.prototype.showInvisibles=!1,h.prototype.showSpaces=!1,h.prototype.showTabs=!1,h.prototype.showEOL=!1,h.prototype.displayIndentGuides=!0,h.prototype.$highlightIndentGuides=!0,h.prototype.$tabStrings=[],h.prototype.destroy={},h.prototype.onChangeTabSize=h.prototype.$computeTabString,i.implement(h.prototype,a),t.Text=h}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,r){"use strict";var i=e("../lib/dom"),o=function(){function e(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),i.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return e.prototype.$updateOpacity=function(e){for(var t=this.cursors,r=t.length;r--;)i.setStyle(t[r].style,"opacity",e?"":"0")},e.prototype.$startCssAnimation=function(){for(var e=this.cursors,t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout((function(){this.$isAnimating&&i.addCssClass(this.element,"ace_animate-blinking")}).bind(this))},e.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,i.removeCssClass(this.element,"ace_animate-blinking")},e.prototype.setPadding=function(e){this.$padding=e},e.prototype.setSession=function(e){this.session=e},e.prototype.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},e.prototype.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},e.prototype.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,i.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},e.prototype.addCursor=function(){var e=i.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},e.prototype.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},e.prototype.hideCursor=function(){this.isVisible=!1,i.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},e.prototype.showCursor=function(){this.isVisible=!0,i.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},e.prototype.restartTimer=function(){var e=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,i.removeCssClass(this.element,"ace_smooth-blinking")),e(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible)return void this.$stopCssAnimation();if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout((function(){this.$isSmoothBlinking&&i.addCssClass(this.element,"ace_smooth-blinking")}).bind(this))),i.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var t=(function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}).bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},e.prototype.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var r=this.session.documentToScreenPosition(e);return{left:this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e.row)?this.session.$bidiHandler.getPosLeft(r.column):r.column*this.config.characterWidth),top:(r.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight}},e.prototype.isCursorInView=function(e,t){return e.top>=0&&e.top<t.maxHeight},e.prototype.update=function(e){this.config=e;var t=this.session.$selectionMarkers,r=0,o=0;(void 0===t||0===t.length)&&(t=[{cursor:null}]);for(var r=0,n=t.length;r<n;r++){var s=this.getPixelPosition(t[r].cursor,!0);if(!(s.top>e.height+e.offset)&&!(s.top<0)||!(r>1)){var a=this.cursors[o++]||this.addCursor(),l=a.style;this.drawCursor?this.drawCursor(a,s,e,t[r],this.session):this.isCursorInView(s,e)?(i.setStyle(l,"display","block"),i.translate(a,s.left,s.top),i.setStyle(l,"width",Math.round(e.characterWidth)+"px"),i.setStyle(l,"height",e.lineHeight+"px")):i.setStyle(l,"display","none")}}for(;this.cursors.length>o;)this.removeCursor();var c=this.session.getOverwrite();this.$setOverwrite(c),this.$pixelPos=s,this.restartTimer()},e.prototype.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?i.addCssClass(this.element,"ace_overwrite-cursors"):i.removeCssClass(this.element,"ace_overwrite-cursors"))},e.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},e}();o.prototype.$padding=0,o.prototype.drawCursor=null,t.Cursor=o}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,r){"use strict";var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=e("./lib/oop"),s=e("./lib/dom"),a=e("./lib/event"),l=e("./lib/event_emitter").EventEmitter,c=function(){function e(e,t){this.element=s.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+t,this.inner=s.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent="\xa0",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,a.addListener(this.element,"scroll",this.onScroll.bind(this)),a.addListener(this.element,"mousedown",a.preventDefault)}return e.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},e}();n.implement(c.prototype,l);var h=function(e){function t(t,r){var i=e.call(this,t,"-v")||this;return i.scrollTop=0,i.scrollHeight=0,r.$scrollbarWidth=i.width=s.scrollbarWidth(t.ownerDocument),i.inner.style.width=i.element.style.width=(i.width||15)+5+"px",i.$minWidth=0,i}return o(t,e),t.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},t.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},t.prototype.setHeight=function(e){this.element.style.height=e+"px"},t.prototype.setScrollHeight=function(e){this.scrollHeight=e,e>32768?(this.coeff=32768/e,e=32768):1!=this.coeff&&(this.coeff=1),this.inner.style.height=e+"px"},t.prototype.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)},t}(c);h.prototype.setInnerHeight=h.prototype.setScrollHeight;var d=function(e){function t(t,r){var i=e.call(this,t,"-h")||this;return i.scrollLeft=0,i.height=r.$scrollbarWidth,i.inner.style.height=i.element.style.height=(i.height||15)+5+"px",i}return o(t,e),t.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},t.prototype.getHeight=function(){return this.isVisible?this.height:0},t.prototype.setWidth=function(e){this.element.style.width=e+"px"},t.prototype.setInnerWidth=function(e){this.inner.style.width=e+"px"},t.prototype.setScrollWidth=function(e){this.inner.style.width=e+"px"},t.prototype.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)},t}(c);t.ScrollBar=h,t.ScrollBarV=h,t.ScrollBarH=d,t.VScrollBar=h,t.HScrollBar=d}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,r){"use strict";var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=e("./lib/oop"),s=e("./lib/dom"),a=e("./lib/event"),l=e("./lib/event_emitter").EventEmitter;s.importCssString(".ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{\n position: absolute;\n background: rgba(128, 128, 128, 0.6);\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n border: 1px solid #bbb;\n border-radius: 2px;\n z-index: 8;\n}\n.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {\n position: absolute;\n z-index: 6;\n background: none;\n overflow: hidden!important;\n}\n.ace_editor>.ace_sb-v {\n z-index: 6;\n right: 0;\n top: 0;\n width: 12px;\n}\n.ace_editor>.ace_sb-v div {\n z-index: 8;\n right: 0;\n width: 100%;\n}\n.ace_editor>.ace_sb-h {\n bottom: 0;\n left: 0;\n height: 12px;\n}\n.ace_editor>.ace_sb-h div {\n bottom: 0;\n height: 100%;\n}\n.ace_editor>.ace_sb_grabbed {\n z-index: 8;\n background: #000;\n}","ace_scrollbar.css",!1);var c=function(){function e(e,t){this.element=s.createElement("div"),this.element.className="ace_sb"+t,this.inner=s.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,a.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return e.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},e}();n.implement(c.prototype,l);var h=function(e){function t(t,r){var i=e.call(this,t,"-v")||this;return i.scrollTop=0,i.scrollHeight=0,i.parent=t,i.width=i.VScrollWidth,i.renderer=r,i.inner.style.width=i.element.style.width=(i.width||15)+"px",i.$minWidth=0,i}return o(t,e),t.prototype.onMouseDown=function(e,t){if("mousedown"===e&&0===a.getButton(t)&&2!==t.detail){if(t.target===this.inner){var r=this,i=t.clientY,o=t.clientY,n=this.thumbTop;a.capture(this.inner,function(e){i=e.clientY},function(){clearInterval(s)});var s=setInterval(function(){if(void 0!==i){var e=r.scrollTopFromThumbTop(n+i-o);e!==r.scrollTop&&r._emit("scroll",{data:e})}},20);return a.preventDefault(t)}var l=t.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(l)}),a.preventDefault(t)}},t.prototype.getHeight=function(){return this.height},t.prototype.scrollTopFromThumbTop=function(e){var t=e*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return(t|=0)<0?t=0:t>this.pageHeight-this.viewHeight&&(t=this.pageHeight-this.viewHeight),t},t.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},t.prototype.setHeight=function(e){this.height=Math.max(0,e),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},t.prototype.setScrollHeight=function(e,t){(this.pageHeight!==e||t)&&(this.pageHeight=e,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},t.prototype.setScrollTop=function(e){this.scrollTop=e,e<0&&(e=0),this.thumbTop=e*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},t}(c);h.prototype.setInnerHeight=h.prototype.setScrollHeight;var d=function(e){function t(t,r){var i=e.call(this,t,"-h")||this;return i.scrollLeft=0,i.scrollWidth=0,i.height=i.HScrollHeight,i.inner.style.height=i.element.style.height=(i.height||12)+"px",i.renderer=r,i}return o(t,e),t.prototype.onMouseDown=function(e,t){if("mousedown"===e&&0===a.getButton(t)&&2!==t.detail){if(t.target===this.inner){var r=this,i=t.clientX,o=t.clientX,n=this.thumbLeft;a.capture(this.inner,function(e){i=e.clientX},function(){clearInterval(s)});var s=setInterval(function(){if(void 0!==i){var e=r.scrollLeftFromThumbLeft(n+i-o);e!==r.scrollLeft&&r._emit("scroll",{data:e})}},20);return a.preventDefault(t)}var l=t.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(l)}),a.preventDefault(t)}},t.prototype.getHeight=function(){return this.isVisible?this.height:0},t.prototype.scrollLeftFromThumbLeft=function(e){var t=e*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return(t|=0)<0?t=0:t>this.pageWidth-this.viewWidth&&(t=this.pageWidth-this.viewWidth),t},t.prototype.setWidth=function(e){this.width=Math.max(0,e),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},t.prototype.setScrollWidth=function(e,t){(this.pageWidth!==e||t)&&(this.pageWidth=e,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},t.prototype.setScrollLeft=function(e){this.scrollLeft=e,e<0&&(e=0),this.thumbLeft=e*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},t}(c);d.prototype.setInnerWidth=d.prototype.setScrollWidth,t.ScrollBar=h,t.ScrollBarV=h,t.ScrollBarH=d,t.VScrollBar=h,t.HScrollBar=d}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,r){"use strict";var i=e("./lib/event");t.RenderLoop=function(){function e(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var r=this;this._flush=function(e){r.pending=!1;var t=r.changes;if(t&&(i.blockIdle(100),r.changes=0,r.onRender(t)),r.changes){if(r.$recursionLimit--<0)return;r.schedule()}else r.$recursionLimit=2}}return e.prototype.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(i.nextFrame(this._flush),this.pending=!0)},e.prototype.clear=function(e){var t=this.changes;return this.changes=0,t},e}()}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,r){var i=e("../lib/oop"),o=e("../lib/dom"),n=e("../lib/lang"),s=e("../lib/event"),a=e("../lib/useragent"),l=e("../lib/event_emitter").EventEmitter,c="function"==typeof ResizeObserver,h=function(){function e(e){this.el=o.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=o.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=o.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.textContent=n.stringRepeat("X",512),this.$characterSize={width:0,height:0},c?this.$addObserver():this.checkForSizeChanges()}return e.prototype.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",a.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},e.prototype.checkForSizeChanges=function(e){if(void 0===e&&(e=this.$measureSizes()),e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},e.prototype.$addObserver=function(){var e=this;this.$observer=new window.ResizeObserver(function(t){e.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},e.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=s.onIdle(function t(){e.checkForSizeChanges(),s.onIdle(t,500)},500)},e.prototype.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},e.prototype.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/512};return 0===t.width||0===t.height?null:t},e.prototype.$measureCharWidth=function(e){return this.$main.textContent=n.stringRepeat(e,512),this.$main.getBoundingClientRect().width/512},e.prototype.getCharacterWidth=function(e){var t=this.charSizes[e];return void 0===t&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},e.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},e.prototype.$getZoom=function(e){return e&&e.parentElement?(Number(window.getComputedStyle(e).zoom)||1)*this.$getZoom(e.parentElement):1},e.prototype.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=o.buildDom([e(0,0),e(200,0),e(0,200),e(200,200)],this.el)},e.prototype.transformCoordinates=function(e,t){function r(e,t,r){var i=e[1]*t[0]-e[0]*t[1];return[(-t[1]*r[0]+t[0]*r[1])/i,(e[1]*r[0]-e[0]*r[1])/i]}function i(e,t){return[e[0]-t[0],e[1]-t[1]]}function o(e,t){return[e[0]+t[0],e[1]+t[1]]}function n(e,t){return[e*t[0],e*t[1]]}function s(e){var t=e.getBoundingClientRect();return[t.left,t.top]}e&&(e=n(1/this.$getZoom(this.el),e)),this.els||this.$initTransformMeasureNodes();var a=s(this.els[0]),l=s(this.els[1]),c=s(this.els[2]),h=s(this.els[3]),d=r(i(h,l),i(h,c),i(o(l,c),o(h,a))),u=n(1+d[0],i(l,a)),p=n(1+d[1],i(c,a));if(t){var f=d[0]*t[0]/200+d[1]*t[1]/200+1,g=o(n(t[0],u),n(t[1],p));return o(n(1/f/200,g),a)}var m=i(e,a),v=r(i(u,n(d[0],m)),i(p,n(d[1],m)),m);return n(200,v)},e}();h.prototype.$characterSize={width:0,height:0},i.implement(h.prototype,l),t.FontMetrics=h}),ace.define("ace/css/editor-css",["require","exports","module"],function(e,t,r){r.exports='\n.ace_br1 {border-top-left-radius : 3px;}\n.ace_br2 {border-top-right-radius : 3px;}\n.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}\n.ace_br4 {border-bottom-right-radius: 3px;}\n.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}\n.ace_br8 {border-bottom-left-radius : 3px;}\n.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n\n\n.ace_editor {\n position: relative;\n overflow: hidden;\n padding: 0;\n font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'Source Code Pro\', \'source-code-pro\', monospace;\n direction: ltr;\n text-align: left;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n forced-color-adjust: none;\n}\n\n.ace_scroller {\n position: absolute;\n overflow: hidden;\n top: 0;\n bottom: 0;\n background-color: inherit;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n cursor: text;\n}\n\n.ace_content {\n position: absolute;\n box-sizing: border-box;\n min-width: 100%;\n contain: style size layout;\n font-variant-ligatures: no-common-ligatures;\n}\n.ace_invisible {\n font-variant-ligatures: none;\n}\n\n.ace_keyboard-focus:focus {\n box-shadow: inset 0 0 0 2px #5E9ED6;\n outline: none;\n}\n\n.ace_dragging .ace_scroller:before{\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n content: \'\';\n background: rgba(250, 250, 250, 0.01);\n z-index: 1000;\n}\n.ace_dragging.ace_dark .ace_scroller:before{\n background: rgba(0, 0, 0, 0.01);\n}\n\n.ace_gutter {\n position: absolute;\n overflow : hidden;\n width: auto;\n top: 0;\n bottom: 0;\n left: 0;\n cursor: default;\n z-index: 4;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n contain: style size layout;\n}\n\n.ace_gutter-active-line {\n position: absolute;\n left: 0;\n right: 0;\n}\n\n.ace_scroller.ace_scroll-left:after {\n content: "";\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\n pointer-events: none;\n}\n\n.ace_gutter-cell, .ace_gutter-cell_svg-icons {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding-left: 19px;\n padding-right: 6px;\n background-repeat: no-repeat;\n}\n\n.ace_gutter-cell_svg-icons .ace_gutter_annotation {\n margin-left: -14px;\n float: left;\n}\n\n.ace_gutter-cell .ace_gutter_annotation {\n margin-left: -19px;\n float: left;\n}\n\n.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");\n}\n\n.ace_icon_svg.ace_error {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");\n background-color: crimson;\n}\n.ace_icon_svg.ace_security {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: darkorange;\n}\n.ace_icon_svg.ace_info {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: royalblue;\n}\n.ace_icon_svg.ace_hint {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");\n background-color: silver;\n}\n\n.ace_icon_svg.ace_error_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");\n background-color: crimson;\n}\n.ace_icon_svg.ace_security_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");\n background-color: darkorange;\n}\n\n.ace_scrollbar {\n contain: strict;\n position: absolute;\n right: 0;\n bottom: 0;\n z-index: 6;\n}\n\n.ace_scrollbar-inner {\n position: absolute;\n cursor: text;\n left: 0;\n top: 0;\n}\n\n.ace_scrollbar-v{\n overflow-x: hidden;\n overflow-y: scroll;\n top: 0;\n}\n\n.ace_scrollbar-h {\n overflow-x: scroll;\n overflow-y: hidden;\n left: 0;\n}\n\n.ace_print-margin {\n position: absolute;\n height: 100%;\n}\n\n.ace_text-input {\n position: absolute;\n z-index: 0;\n width: 0.5em;\n height: 1em;\n opacity: 0;\n background: transparent;\n -moz-appearance: none;\n appearance: none;\n border: none;\n resize: none;\n outline: none;\n overflow: hidden;\n font: inherit;\n padding: 0 1px;\n margin: 0 -1px;\n contain: strict;\n -ms-user-select: text;\n -moz-user-select: text;\n -webkit-user-select: text;\n user-select: text;\n /*with `pre-line` chrome inserts &nbsp; instead of space*/\n white-space: pre!important;\n}\n.ace_text-input.ace_composition {\n background: transparent;\n color: inherit;\n z-index: 1000;\n opacity: 1;\n}\n.ace_composition_placeholder { color: transparent }\n.ace_composition_marker { \n border-bottom: 1px solid;\n position: absolute;\n border-radius: 0;\n margin-top: 1px;\n}\n\n[ace_nocontext=true] {\n transform: none!important;\n filter: none!important;\n clip-path: none!important;\n mask : none!important;\n contain: none!important;\n perspective: none!important;\n mix-blend-mode: initial!important;\n z-index: auto;\n}\n\n.ace_layer {\n z-index: 1;\n position: absolute;\n overflow: hidden;\n /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/\n word-wrap: normal;\n white-space: pre;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n /* setting pointer-events: auto; on node under the mouse, which changes\n during scroll, will break mouse wheel scrolling in Safari */\n pointer-events: none;\n}\n\n.ace_gutter-layer {\n position: relative;\n width: auto;\n text-align: right;\n pointer-events: auto;\n height: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer {\n font: inherit !important;\n position: absolute;\n height: 1000000px;\n width: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {\n contain: style size layout;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n}\n\n.ace_hidpi .ace_text-layer,\n.ace_hidpi .ace_gutter-layer,\n.ace_hidpi .ace_content,\n.ace_hidpi .ace_gutter {\n contain: strict;\n}\n.ace_hidpi .ace_text-layer > .ace_line, \n.ace_hidpi .ace_text-layer > .ace_line_group {\n contain: strict;\n}\n\n.ace_cjk {\n display: inline-block;\n text-align: center;\n}\n\n.ace_cursor-layer {\n z-index: 4;\n}\n\n.ace_cursor {\n z-index: 4;\n position: absolute;\n box-sizing: border-box;\n border-left: 2px solid;\n /* workaround for smooth cursor repaintng whole screen in chrome */\n transform: translatez(0);\n}\n\n.ace_multiselect .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_slim-cursors .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_overwrite-cursors .ace_cursor {\n border-left-width: 0;\n border-bottom: 1px solid;\n}\n\n.ace_hidden-cursors .ace_cursor {\n opacity: 0.2;\n}\n\n.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {\n opacity: 0;\n}\n\n.ace_smooth-blinking .ace_cursor {\n transition: opacity 0.18s;\n}\n\n.ace_animate-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: step-end;\n animation-name: blink-ace-animate;\n animation-iteration-count: infinite;\n}\n\n.ace_animate-blinking.ace_smooth-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: ease-in-out;\n animation-name: blink-ace-animate-smooth;\n}\n \n@keyframes blink-ace-animate {\n from, to { opacity: 1; }\n 60% { opacity: 0; }\n}\n\n@keyframes blink-ace-animate-smooth {\n from, to { opacity: 1; }\n 45% { opacity: 1; }\n 60% { opacity: 0; }\n 85% { opacity: 0; }\n}\n\n.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\n position: absolute;\n z-index: 3;\n}\n\n.ace_marker-layer .ace_selection {\n position: absolute;\n z-index: 5;\n}\n\n.ace_marker-layer .ace_bracket {\n position: absolute;\n z-index: 6;\n}\n\n.ace_marker-layer .ace_error_bracket {\n position: absolute;\n border-bottom: 1px solid #DE5555;\n border-radius: 0;\n}\n\n.ace_marker-layer .ace_active-line {\n position: absolute;\n z-index: 2;\n}\n\n.ace_marker-layer .ace_selected-word {\n position: absolute;\n z-index: 4;\n box-sizing: border-box;\n}\n\n.ace_line .ace_fold {\n box-sizing: border-box;\n\n display: inline-block;\n height: 11px;\n margin-top: -2px;\n vertical-align: middle;\n\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");\n background-repeat: no-repeat, repeat-x;\n background-position: center center, top left;\n color: transparent;\n\n border: 1px solid black;\n border-radius: 2px;\n\n cursor: pointer;\n pointer-events: auto;\n}\n\n.ace_dark .ace_fold {\n}\n\n.ace_fold:hover{\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");\n}\n\n.ace_tooltip {\n background-color: #f5f5f5;\n border: 1px solid gray;\n border-radius: 1px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n color: black;\n padding: 3px 4px;\n position: fixed;\n z-index: 999999;\n box-sizing: border-box;\n cursor: default;\n white-space: pre-wrap;\n word-wrap: break-word;\n line-height: normal;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n pointer-events: none;\n overflow: auto;\n max-width: min(33em, 66vw);\n overscroll-behavior: contain;\n}\n.ace_tooltip pre {\n white-space: pre-wrap;\n}\n\n.ace_tooltip.ace_dark {\n background-color: #636363;\n color: #fff;\n}\n\n.ace_tooltip:focus {\n outline: 1px solid #5E9ED6;\n}\n\n.ace_icon {\n display: inline-block;\n width: 18px;\n vertical-align: top;\n}\n\n.ace_icon_svg {\n display: inline-block;\n width: 12px;\n vertical-align: top;\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-size: 12px;\n -webkit-mask-position: center;\n}\n\n.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {\n padding-right: 13px;\n}\n\n.ace_fold-widget, .ace_custom-widget {\n box-sizing: border-box;\n\n margin: 0 -12px 0 1px;\n display: none;\n width: 11px;\n vertical-align: top;\n\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: 3px;\n \n border: 1px solid transparent;\n cursor: pointer;\n pointer-events: auto;\n}\n\n.ace_custom-widget {\n background: none;\n}\n\n.ace_folding-enabled .ace_fold-widget {\n display: inline-block; \n}\n\n.ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");\n}\n\n.ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");\n}\n\n.ace_fold-widget:hover {\n border: 1px solid rgba(0, 0, 0, 0.3);\n background-color: rgba(255, 255, 255, 0.2);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n}\n\n.ace_fold-widget:active {\n border: 1px solid rgba(0, 0, 0, 0.4);\n background-color: rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n}\n/**\n * Dark version for fold widgets\n */\n.ace_dark .ace_fold-widget {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");\n}\n.ace_dark .ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget:hover {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n background-color: rgba(255, 255, 255, 0.1);\n}\n.ace_dark .ace_fold-widget:active {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n}\n\n.ace_inline_button {\n border: 1px solid lightgray;\n display: inline-block;\n margin: -1px 8px;\n padding: 0 5px;\n pointer-events: auto;\n cursor: pointer;\n}\n.ace_inline_button:hover {\n border-color: gray;\n background: rgba(200,200,200,0.2);\n display: inline-block;\n pointer-events: auto;\n}\n\n.ace_fold-widget.ace_invalid {\n background-color: #FFB4B4;\n border-color: #DE5555;\n}\n\n.ace_fade-fold-widgets .ace_fold-widget {\n transition: opacity 0.4s ease 0.05s;\n opacity: 0;\n}\n\n.ace_fade-fold-widgets:hover .ace_fold-widget {\n transition: opacity 0.05s ease 0.05s;\n opacity:1;\n}\n\n.ace_underline {\n text-decoration: underline;\n}\n\n.ace_bold {\n font-weight: bold;\n}\n\n.ace_nobold .ace_bold {\n font-weight: normal;\n}\n\n.ace_italic {\n font-style: italic;\n}\n\n\n.ace_error-marker {\n background-color: rgba(255, 0, 0,0.2);\n position: absolute;\n z-index: 9;\n}\n\n.ace_highlight-marker {\n background-color: rgba(255, 255, 0,0.2);\n position: absolute;\n z-index: 8;\n}\n\n.ace_mobile-menu {\n position: absolute;\n line-height: 1.5;\n border-radius: 4px;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n background: white;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #dcdcdc;\n color: black;\n}\n.ace_dark > .ace_mobile-menu {\n background: #333;\n color: #ccc;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #444;\n\n}\n.ace_mobile-button {\n padding: 2px;\n cursor: pointer;\n overflow: hidden;\n}\n.ace_mobile-button:hover {\n background-color: #eee;\n opacity:1;\n}\n.ace_mobile-button:active {\n background-color: #ddd;\n}\n\n.ace_placeholder {\n position: relative;\n font-family: arial;\n transform: scale(0.9);\n transform-origin: left;\n white-space: pre;\n opacity: 0.7;\n margin: 0 10px;\n z-index: 1;\n}\n\n.ace_ghost_text {\n opacity: 0.5;\n font-style: italic;\n}\n\n.ace_ghost_text_container > div {\n white-space: pre;\n}\n\n.ghost_text_line_wrapped::after {\n content: "↩";\n position: absolute;\n}\n\n.ace_lineWidgetContainer.ace_ghost_text {\n margin: 0px 4px\n}\n\n.ace_screenreader-only {\n position:absolute;\n left:-10000px;\n top:auto;\n width:1px;\n height:1px;\n overflow:hidden;\n}\n\n.ace_hidden_token {\n display: none;\n}'}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(e,t,r){"use strict";var i=e("../lib/dom"),o=e("../lib/oop"),n=e("../lib/event_emitter").EventEmitter,s=function(){function e(e,t){this.renderer=t,this.pixelRatio=1,this.maxHeight=t.layerConfig.maxHeight,this.lineHeight=t.layerConfig.lineHeight,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},this.setScrollBarV(e)}return e.prototype.$createCanvas=function(){this.canvas=i.createElement("canvas"),this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7",this.canvas.style.position="absolute"},e.prototype.setScrollBarV=function(e){this.$createCanvas(),this.scrollbarV=e,e.element.appendChild(this.canvas),this.setDimensions()},e.prototype.$updateDecorators=function(e){if("function"==typeof this.canvas.getContext){var t=!0===this.renderer.theme.isDark?this.colors.dark:this.colors.light;this.setDimensions(e);var r=this.canvas.getContext("2d"),i=this.renderer.session.$annotations;if(r.clearRect(0,0,this.canvas.width,this.canvas.height),i){var o={info:1,warning:2,error:3};i.forEach(function(e){e.priority=o[e.type]||null}),i=i.sort(function(e,t){return e.priority<t.priority?-1:+(e.priority>t.priority)});for(var n=0;n<i.length;n++){var s=i[n].row,a=this.getVerticalOffsetForRow(s),l=a+this.lineHeight,c=Math.round(this.heightRatio*a),h=Math.round(this.heightRatio*l),d=Math.round((c+h)/2),u=h-d;u<this.halfMinDecorationHeight&&(u=this.halfMinDecorationHeight),d-u<0&&(d=u),d+u>this.canvasHeight&&(d=this.canvasHeight-u);var p=d-u,f=d+u-p;r.fillStyle=t[i[n].type]||null,r.fillRect(0,p,Math.round(this.oneZoneWidth-1),f)}}var g=this.renderer.session.selection.getCursor();if(g){var m=Math.round(this.getVerticalOffsetForRow(g.row)*this.heightRatio);r.fillStyle="rgba(0, 0, 0, 0.5)",r.fillRect(0,m,this.canvasWidth,2)}}},e.prototype.getVerticalOffsetForRow=function(e){return e|=0,this.renderer.session.documentToScreenRow(e,0)*this.lineHeight},e.prototype.setDimensions=function(e){e=e||this.renderer.layerConfig,this.maxHeight=e.maxHeight,this.lineHeight=e.lineHeight,this.canvasHeight=e.height,this.canvasWidth=this.scrollbarV.width||this.canvasWidth,this.setZoneWidth(),this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.maxHeight<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight},e.prototype.setZoneWidth=function(){this.oneZoneWidth=this.canvasWidth},e.prototype.destroy=function(){this.canvas.parentNode.removeChild(this.canvas)},e}();o.implement(s.prototype,n),t.Decorator=s}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent","ace/layer/text_util"],function(e,t,r){"use strict";var i=e("./lib/oop"),o=e("./lib/dom"),n=e("./lib/lang"),s=e("./config"),a=e("./layer/gutter").Gutter,l=e("./layer/marker").Marker,c=e("./layer/text").Text,h=e("./layer/cursor").Cursor,d=e("./scrollbar").HScrollBar,u=e("./scrollbar").VScrollBar,p=e("./scrollbar_custom").HScrollBar,f=e("./scrollbar_custom").VScrollBar,g=e("./renderloop").RenderLoop,m=e("./layer/font_metrics").FontMetrics,v=e("./lib/event_emitter").EventEmitter,y=e("./css/editor-css"),b=e("./layer/decorators").Decorator,w=e("./lib/useragent"),x=e("./layer/text_util").isTextToken;o.importCssString(y,"ace_editor.css",!1);var $=function(){function e(e,t){var r=this;this.container=e||o.createElement("div"),o.addCssClass(this.container,"ace_editor"),o.HI_DPI&&o.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),null==s.get("useStrictCSP")&&s.set("useStrictCSP",!1),this.$gutter=o.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=o.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=o.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new a(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new l(this.content);var i=this.$textLayer=new c(this.content);this.canvas=i.element,this.$markerFront=new l(this.content),this.$cursorLayer=new h(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new u(this.container,this),this.scrollBarH=new d(this.container,this),this.scrollBarV.on("scroll",function(e){r.$scrollAnimation||r.session.setScrollTop(e.data-r.scrollMargin.top)}),this.scrollBarH.on("scroll",function(e){r.$scrollAnimation||r.session.setScrollLeft(e.data-r.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new m(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(e){r.updateCharacterSize(),r.onResize(!0,r.gutterWidth,r.$size.width,r.$size.height),r._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!w.isIOS,this.$loop=new g(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),s.resetOptions(this),s._signal("renderer",this)}return e.prototype.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),o.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},e.prototype.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&0>=e.getScrollTop()&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},e.prototype.updateLines=function(e,t,r){if(void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t},this.$changedLines.lastRow<this.layerConfig.firstRow)if(!r)return;else this.$changedLines.lastRow=this.layerConfig.lastRow;this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},e.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},e.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},e.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},e.prototype.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},e.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},e.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},e.prototype.onResize=function(e,t,r,i){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=+!!e;var o=this.container;i||(i=o.clientHeight||o.scrollHeight),!i&&this.$maxLines&&this.lineHeight>1&&(!o.style.height||"0px"==o.style.height)&&(o.style.height="1px",i=o.clientHeight||o.scrollHeight),r||(r=o.clientWidth||o.scrollWidth);var n=this.$updateCachedSize(e,t,r,i);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!r&&!i)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(n|this.$changes,!0):this.$loop.schedule(n|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},e.prototype.$updateCachedSize=function(e,t,r,i){i-=this.$extraHeight||0;var n=0,s=this.$size,a={width:s.width,height:s.height,scrollerHeight:s.scrollerHeight,scrollerWidth:s.scrollerWidth};if(i&&(e||s.height!=i)&&(s.height=i,n|=this.CHANGE_SIZE,s.scrollerHeight=s.height,this.$horizScroll&&(s.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(s.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",n|=this.CHANGE_SCROLL),r&&(e||s.width!=r)){n|=this.CHANGE_SIZE,s.width=r,null==t&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,o.setStyle(this.scrollBarH.element.style,"left",t+"px"),o.setStyle(this.scroller.style,"left",t+this.margin.left+"px"),s.scrollerWidth=Math.max(0,r-t-this.scrollBarV.getWidth()-this.margin.h),o.setStyle(this.$gutter.style,"left",this.margin.left+"px");var l=this.scrollBarV.getWidth()+"px";o.setStyle(this.scrollBarH.element.style,"right",l),o.setStyle(this.scroller.style,"right",l),o.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(s.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)&&(n|=this.CHANGE_FULL)}return s.$dirty=!r||!i,n&&this._signal("resize",a),n},e.prototype.onGutterResize=function(e){var t=this.$showGutter?e:0;t!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,t,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()||this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},e.prototype.adjustWrapLimit=function(){var e=Math.floor((this.$size.scrollerWidth-2*this.$padding)/this.characterWidth);return this.session.adjustWrapLimit(e,this.$showPrintMargin&&this.$printMarginColumn)},e.prototype.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},e.prototype.getAnimatedScroll=function(){return this.$animatedScroll},e.prototype.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},e.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},e.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},e.prototype.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},e.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},e.prototype.setHighlightIndentGuides=function(e){this.setOption("highlightIndentGuides",e)},e.prototype.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},e.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},e.prototype.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},e.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},e.prototype.getShowGutter=function(){return this.getOption("showGutter")},e.prototype.setShowGutter=function(e){return this.setOption("showGutter",e)},e.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},e.prototype.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},e.prototype.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},e.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},e.prototype.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var e=o.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=o.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit()}},e.prototype.getContainerElement=function(){return this.container},e.prototype.getMouseEventTarget=function(){return this.scroller},e.prototype.getTextAreaContainer=function(){return this.container},e.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var e=this.textarea.style,t=this.$composition;if(!this.$keepTextAreaAtCursor&&!t)return void o.translate(this.textarea,-100,0);var r=this.$cursorLayer.$pixelPos;if(r){t&&t.markerRange&&(r=this.$cursorLayer.getPixelPosition(t.markerRange.start,!0));var i=this.layerConfig,n=r.top,s=r.left;n-=i.offset;var a=t&&t.useTextareaForIME||w.isMobile?this.lineHeight:1;if(n<0||n>i.height-a)return void o.translate(this.textarea,0,0);var l=1,c=this.$size.height-a;if(t)if(t.useTextareaForIME){var h=this.textarea.value;l=this.characterWidth*this.session.$getStringScreenWidth(h)[0]}else n+=this.lineHeight+2;else n+=this.lineHeight;(s-=this.scrollLeft)>this.$size.scrollerWidth-l&&(s=this.$size.scrollerWidth-l),s+=this.gutterWidth+this.margin.left,o.setStyle(e,"height",a+"px"),o.setStyle(e,"width",l+"px"),o.translate(this.textarea,Math.min(s,this.$size.scrollerWidth-l),Math.min(n,c))}}},e.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},e.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+ +(0!==this.layerConfig.offset)},e.prototype.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow;return this.session.documentToScreenRow(t,0)*e.lineHeight-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},e.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},e.prototype.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},e.prototype.setScrollMargin=function(e,t,r,i){var o=this.scrollMargin;o.top=0|e,o.bottom=0|t,o.right=0|i,o.left=0|r,o.v=o.top+o.bottom,o.h=o.left+o.right,o.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-o.top),this.updateFull()},e.prototype.setMargin=function(e,t,r,i){var o=this.margin;o.top=0|e,o.bottom=0|t,o.right=0|i,o.left=0|r,o.v=o.top+o.bottom,o.h=o.left+o.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},e.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},e.prototype.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},e.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},e.prototype.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},e.prototype.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},e.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},e.prototype.freeze=function(){this.$frozen=!0},e.prototype.unfreeze=function(){this.$frozen=!1},e.prototype.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",e),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var r=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){if(e|=this.$computeLayerConfig()|this.$loop.clear(),r.firstRow!=this.layerConfig.firstRow&&r.firstRowScreen==this.layerConfig.firstRowScreen){var i=this.scrollTop+(r.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;i>0&&(this.scrollTop=i,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig()|this.$loop.clear())}r=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),o.translate(this.content,-this.scrollLeft,-r.offset);var n=r.width+2*this.$padding+"px",s=r.minHeight+"px";o.setStyle(this.content.style,"width",n),o.setStyle(this.content.style,"height",s)}if(e&this.CHANGE_H_SCROLL&&(o.translate(this.content,-this.scrollLeft,-r.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),e&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(r),this.$showGutter&&this.$gutterLayer.update(r),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(r),this.$markerBack.update(r),this.$markerFront.update(r),this.$cursorLayer.update(r),this.$moveTextAreaToCursor(),this._signal("afterRender",e);return}if(e&this.CHANGE_SCROLL){this.$changedLines=null,e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(r):this.$textLayer.scrollLines(r),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(r):this.$gutterLayer.scrollLines(r)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(r),this.$markerBack.update(r),this.$markerFront.update(r),this.$cursorLayer.update(r),this.$moveTextAreaToCursor(),this._signal("afterRender",e);return}e&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(r),this.$showGutter&&this.$gutterLayer.update(r),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(r)):e&this.CHANGE_LINES?((this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(r),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(r)):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(r),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(r)):e&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(r),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(r)),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(r),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(r),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(r),this._signal("afterRender",e)},e.prototype.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,r=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(r+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&r>this.$maxPixelHeight&&(r=this.$maxPixelHeight);var i=!(r<=2*this.lineHeight)&&e>t;if(r!=this.desiredHeight||this.$size.height!=this.desiredHeight||i!=this.$vScroll){i!=this.$vScroll&&(this.$vScroll=i,this.scrollBarV.setVisible(i));var o=this.container.clientWidth;this.container.style.height=r+"px",this.$updateCachedSize(!0,this.$gutterWidth,o,r),this.desiredHeight=r,this._signal("autosize")}},e.prototype.$computeLayerConfig=function(){var e,t,r=this.session,i=this.$size,o=i.height<=2*this.lineHeight,n=this.session.getScreenLength()*this.lineHeight,s=this.$getLongestLine(),a=!o&&(this.$hScrollBarAlwaysVisible||i.scrollerWidth-s-2*this.$padding<0),l=this.$horizScroll!==a;l&&(this.$horizScroll=a,this.scrollBarH.setVisible(a));var c=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),o=i.height<=2*this.lineHeight);var h=i.scrollerHeight+this.lineHeight,d=!this.$maxLines&&this.$scrollPastEnd?(i.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;n+=d;var u=this.scrollMargin;this.session.setScrollTop(Math.max(-u.top,Math.min(this.scrollTop,n-i.scrollerHeight+u.bottom))),this.session.setScrollLeft(Math.max(-u.left,Math.min(this.scrollLeft,s+2*this.$padding-i.scrollerWidth+u.right)));var p=!o&&(this.$vScrollBarAlwaysVisible||i.scrollerHeight-n+d<0||this.scrollTop>u.top),f=c!==p;f&&(this.$vScroll=p,this.scrollBarV.setVisible(p));var g=this.scrollTop%this.lineHeight,m=Math.ceil(h/this.lineHeight)-1,v=Math.max(0,Math.round((this.scrollTop-g)/this.lineHeight)),y=v+m,b=this.lineHeight;v=r.screenToDocumentRow(v,0);var w=r.getFoldLine(v);w&&(v=w.start.row),e=r.documentToScreenRow(v,0),t=r.getRowLength(v)*b,y=Math.min(r.screenToDocumentRow(y,0),r.getLength()-1),h=i.scrollerHeight+r.getRowLength(y)*b+t,(g=this.scrollTop-e*b)<0&&e>0&&(e=Math.max(0,e+Math.floor(g/b)),g=this.scrollTop-e*b);var x=0;return(this.layerConfig.width!=s||l)&&(x=this.CHANGE_H_SCROLL),(l||f)&&(x|=this.$updateCachedSize(!0,this.gutterWidth,i.width,i.height),this._signal("scrollbarVisibilityChanged"),f&&(s=this.$getLongestLine())),this.layerConfig={width:s,padding:this.$padding,firstRow:v,firstRowScreen:e,lastRow:y,lineHeight:b,characterWidth:this.characterWidth,minHeight:h,maxHeight:n,offset:g,gutterOffset:b?Math.max(0,Math.ceil((g+i.height-i.scrollerHeight)/b)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(s-this.$padding),x},e.prototype.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var r=this.layerConfig;if(!(e>r.lastRow+1)&&!(t<r.firstRow)){if(t===1/0){this.$showGutter&&this.$gutterLayer.update(r),this.$textLayer.update(r);return}return this.$textLayer.updateLines(r,e,t),!0}}},e.prototype.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),this.$textLayer&&e>this.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},e.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},e.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},e.prototype.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},e.prototype.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},e.prototype.updateBreakpoints=function(e){this._rows=e,this.$loop.schedule(this.CHANGE_GUTTER)},e.prototype.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},e.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},e.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},e.prototype.showCursor=function(){this.$cursorLayer.showCursor()},e.prototype.scrollSelectionIntoView=function(e,t,r){this.scrollCursorIntoView(e,r),this.scrollCursorIntoView(t,r)},e.prototype.scrollCursorIntoView=function(e,t,r){if(0!==this.$size.scrollerHeight){var i=this.$cursorLayer.getPixelPosition(e),o=i.left,n=i.top,s=r&&r.top||0,a=r&&r.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var l=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;l+s>n?(t&&l+s>n+this.lineHeight&&(n-=t*this.$size.scrollerHeight),0===n&&(n=-this.scrollMargin.top),this.session.setScrollTop(n)):l+this.$size.scrollerHeight-a<n+this.lineHeight&&(t&&l+this.$size.scrollerHeight-a<n-this.lineHeight&&(n+=t*this.$size.scrollerHeight),this.session.setScrollTop(n+this.lineHeight+a-this.$size.scrollerHeight));var c=this.scrollLeft,h=2*this.layerConfig.characterWidth;o-h<c?((o-=h)<this.$padding+h&&(o=-this.scrollMargin.left),this.session.setScrollLeft(o)):(o+=h,c+this.$size.scrollerWidth<o+this.characterWidth?this.session.setScrollLeft(Math.round(o+this.characterWidth-this.$size.scrollerWidth)):c<=this.$padding&&o-c<this.characterWidth&&this.session.setScrollLeft(0))}},e.prototype.getScrollTop=function(){return this.session.getScrollTop()},e.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},e.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},e.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},e.prototype.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},e.prototype.alignCursor=function(e,t){"number"==typeof e&&(e={row:e,column:0});var r=this.$cursorLayer.getPixelPosition(e),i=this.$size.scrollerHeight-this.lineHeight,o=r.top-i*(t||0);return this.session.setScrollTop(o),o},e.prototype.$calcSteps=function(e,t){var r,i=0,o=this.STEPS,n=[];for(i=0;i<o;++i)n.push((r=i/this.STEPS,(t-e)*(Math.pow(r-1,3)+1)+e));return n},e.prototype.scrollToLine=function(e,t,r,i){var o=this.$cursorLayer.getPixelPosition({row:e,column:0}).top;t&&(o-=this.$size.scrollerHeight/2);var n=this.scrollTop;this.session.setScrollTop(o),!1!==r&&this.animateScrolling(n,i)},e.prototype.animateScrolling=function(e,t){var r=this.scrollTop;if(this.$animatedScroll){var i=this;if(e!=r){if(this.$scrollAnimation){var o=this.$scrollAnimation.steps;if(o.length&&(e=o[0])==r)return}var n=i.$calcSteps(e,r);this.$scrollAnimation={from:e,to:r,steps:n},clearInterval(this.$timer),i.session.setScrollTop(n.shift()),i.session.$scrollTop=r,this.$timer=setInterval(function(){return i.$stopAnimation?void s():i.session?void(n.length?(i.session.setScrollTop(n.shift()),i.session.$scrollTop=r):null!=r?(i.session.$scrollTop=-1,i.session.setScrollTop(r),r=null):s()):clearInterval(i.$timer)},10)}}function s(){i.$timer=clearInterval(i.$timer),i.$scrollAnimation=null,i.$stopAnimation=!1,t&&t()}},e.prototype.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},e.prototype.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},e.prototype.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(e)},e.prototype.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},e.prototype.isScrollableBy=function(e,t){if(t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},e.prototype.pixelToScreenCoordinates=function(e,t){if(this.$hasCssTransforms){var r={top:0,left:0},i=this.$fontMetrics.transformCoordinates([e,t]);e=i[1]-this.gutterWidth-this.margin.left,t=i[0]}else r=this.scroller.getBoundingClientRect();var o=e+this.scrollLeft-r.left-this.$padding,n=o/this.characterWidth,s=Math.floor((t+this.scrollTop-r.top)/this.lineHeight),a=this.$blockCursor?Math.floor(n):Math.round(n);return{row:s,column:a,side:n-a>0?1:-1,offsetX:o}},e.prototype.screenToTextCoordinates=function(e,t){if(this.$hasCssTransforms){var r={top:0,left:0},i=this.$fontMetrics.transformCoordinates([e,t]);e=i[1]-this.gutterWidth-this.margin.left,t=i[0]}else r=this.scroller.getBoundingClientRect();var o=e+this.scrollLeft-r.left-this.$padding,n=o/this.characterWidth,s=this.$blockCursor?Math.floor(n):Math.round(n),a=Math.floor((t+this.scrollTop-r.top)/this.lineHeight);return this.session.screenToDocumentPosition(a,Math.max(s,0),o)},e.prototype.textToScreenCoordinates=function(e,t){var r=this.scroller.getBoundingClientRect(),i=this.session.documentToScreenPosition(e,t),o=this.$padding+(this.session.$bidiHandler.isBidiRow(i.row,e)?this.session.$bidiHandler.getPosLeft(i.column):Math.round(i.column*this.characterWidth)),n=i.row*this.lineHeight;return{pageX:r.left+o-this.scrollLeft,pageY:r.top+n-this.scrollTop}},e.prototype.visualizeFocus=function(){o.addCssClass(this.container,"ace_focus")},e.prototype.visualizeBlur=function(){o.removeCssClass(this.container,"ace_focus")},e.prototype.showComposition=function(e){this.$composition=e,e.cssText||(e.cssText=this.textarea.style.cssText),void 0==e.useTextareaForIME&&(e.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(o.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):e.markerId=this.session.addMarker(e.markerRange,"ace_composition_marker","text")},e.prototype.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,"composition_placeholder",t.row,t.column),this.$moveTextAreaToCursor()},e.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),o.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var e=this.session.selection.cursor;this.removeExtraToken(e.row,e.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},e.prototype.setGhostText=function(e,t){var r=this.session.selection.cursor,i=t||{row:r.row,column:r.column};this.removeGhostText();var n=this.$calculateWrappedTextChunks(e,i);this.addToken(n[0].text,"ghost_text",i.row,i.column),this.$ghostText={text:e,position:{row:i.row,column:i.column}};var s=o.createElement("div");if(n.length>1){var a,l=this.hideTokensAfterPosition(i.row,i.column);n.slice(1).forEach(function(e){var t=o.createElement("div"),r=o.createElement("span");r.className="ace_ghost_text",e.wrapped&&(t.className="ghost_text_line_wrapped"),0===e.text.length&&(e.text=" "),r.appendChild(o.createTextNode(e.text)),t.appendChild(r),s.appendChild(t),a=t}),l.forEach(function(e){var t=o.createElement("span");x(e.type)||(t.className="ace_"+e.type.replace(/\./g," ace_")),t.appendChild(o.createTextNode(e.value)),a.appendChild(t)}),this.$ghostTextWidget={el:s,row:i.row,column:i.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var c=this.$cursorLayer.getPixelPosition(i,!0),h=this.container.getBoundingClientRect().height,d=n.length*this.lineHeight;if(d<h-c.top)return;d<h?this.scrollBy(0,(n.length-1)*this.lineHeight):this.scrollToRow(i.row)}},e.prototype.$calculateWrappedTextChunks=function(e,t){var r=Math.floor((this.$size.scrollerWidth-2*this.$padding)/this.characterWidth)-2;r=r<=0?60:r;for(var i=e.split(/\r?\n/),o=[],n=0;n<i.length;n++){var s=this.session.$getDisplayTokens(i[n],t.column),a=this.session.$computeWrapSplits(s,r,this.session.$tabSize);if(a.length>0){var l=0;a.push(i[n].length);for(var c=0;c<a.length;c++){var h=i[n].slice(l,a[c]);o.push({text:h,wrapped:!0}),l=a[c]}}else o.push({text:i[n],wrapped:!1})}return o},e.prototype.removeGhostText=function(){if(this.$ghostText){var e=this.$ghostText.position;this.removeExtraToken(e.row,e.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},e.prototype.addToken=function(e,t,r,i){var o=this.session;o.bgTokenizer.lines[r]=null;var n={type:t,value:e},s=o.getTokens(r);if(null!=i&&s.length)for(var a=0,l=0;l<s.length;l++){var c=s[l];if(i<=(a+=c.value.length)){var h=c.value.length-(a-i),d=c.value.slice(0,h),u=c.value.slice(h);s.splice(l,1,{type:c.type,value:d},n,{type:c.type,value:u});break}}else s.push(n);this.updateLines(r,r)},e.prototype.hideTokensAfterPosition=function(e,t){for(var r=this.session.getTokens(e),i=0,o=!1,n=[],s=0;s<r.length;s++){var a=r[s];if(i+=a.value.length,"ghost_text"!==a.type){if(o){n.push({type:a.type,value:a.value}),a.type="hidden_token";continue}i===t&&(o=!0)}}return this.updateLines(e,e),n},e.prototype.removeExtraToken=function(e,t){this.session.bgTokenizer.lines[e]=null,this.updateLines(e,e)},e.prototype.setTheme=function(e,t){var r=this;if(this.$themeId=e,r._dispatchEvent("themeChange",{theme:e}),e&&"string"!=typeof e)n(e);else{var i=e||this.$options.theme.initialValue;s.loadModule(["theme",i],n)}function n(i){if(r.$themeId!=e)return t&&t();if(!i||!i.cssClass)throw Error("couldn't load module "+e+" or it didn't call define");i.$id&&(r.$themeId=i.$id),o.importCssString(i.cssText,i.cssClass,r.container),r.theme&&o.removeCssClass(r.container,r.theme.cssClass);var n="padding"in i?i.padding:"padding"in(r.theme||{})?4:r.$padding;if(r.$padding&&n!=r.$padding&&r.setPadding(n),r.$gutterLayer){var s=i.$showGutterCursorMarker;s&&!r.$gutterLayer.$showCursorMarker?r.$gutterLayer.$showCursorMarker="theme":s||"theme"!=r.$gutterLayer.$showCursorMarker||(r.$gutterLayer.$showCursorMarker=null)}r.$theme=i.cssClass,r.theme=i,o.addCssClass(r.container,i.cssClass),o.setCssClass(r.container,"ace_dark",i.isDark),r.$size&&(r.$size.width=0,r.$updateSizeAsync()),r._dispatchEvent("themeLoaded",{theme:i}),t&&t(),w.isSafari&&r.scroller&&(r.scroller.style.background="red",r.scroller.style.background="")}},e.prototype.getTheme=function(){return this.$themeId},e.prototype.setStyle=function(e,t){o.setCssClass(this.container,e,!1!==t)},e.prototype.unsetStyle=function(e){o.removeCssClass(this.container,e)},e.prototype.setCursorStyle=function(e){o.setStyle(this.scroller.style,"cursor",e)},e.prototype.setMouseCursor=function(e){o.setStyle(this.scroller.style,"cursor",e)},e.prototype.attachToShadowRoot=function(){o.importCssString(y,"ace_editor.css",this.container)},e.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},e.prototype.$updateCustomScrollbar=function(e){var t=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),!0===e?(this.scrollBarV=new f(this.container,this),this.scrollBarH=new p(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",function(e){t.$scrollAnimation||t.session.setScrollTop(e.data-t.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){t.$scrollAnimation||t.session.setScrollLeft(e.data-t.scrollMargin.left)}),this.$scrollDecorator?this.$scrollDecorator.setScrollBarV(this.scrollBarV):this.$scrollDecorator=new b(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators()):(this.scrollBarV=new u(this.container,this),this.scrollBarH=new d(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){t.$scrollAnimation||t.session.setScrollTop(e.data-t.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){t.$scrollAnimation||t.session.setScrollLeft(e.data-t.scrollMargin.left)}))},e.prototype.$addResizeObserver=function(){if(window.ResizeObserver&&!this.$resizeObserver){var e=this;this.$resizeTimer=n.delayedCall(function(){e.destroyed||e.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(t){var r=t[0].contentRect.width,i=t[0].contentRect.height;Math.abs(e.$size.width-r)>1||Math.abs(e.$size.height-i)>1?e.$resizeTimer.delay():e.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},e}();$.prototype.CHANGE_CURSOR=1,$.prototype.CHANGE_MARKER=2,$.prototype.CHANGE_GUTTER=4,$.prototype.CHANGE_SCROLL=8,$.prototype.CHANGE_LINES=16,$.prototype.CHANGE_TEXT=32,$.prototype.CHANGE_SIZE=64,$.prototype.CHANGE_MARKER_BACK=128,$.prototype.CHANGE_MARKER_FRONT=256,$.prototype.CHANGE_FULL=512,$.prototype.CHANGE_H_SCROLL=1024,$.prototype.$changes=0,$.prototype.$padding=null,$.prototype.$frozen=!1,$.prototype.STEPS=8,i.implement($.prototype,v),s.defineOptions($.prototype,"renderer",{useResizeObserver:{set:function(e){!e&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):e&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){"number"==typeof e&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(e){this.$gutterLayer.$useSvgGutterIcons=e},initialValue:!1},showFoldedAnnotations:{set:function(e){this.$gutterLayer.$showFoldedAnnotations=e},initialValue:!1},fadeFoldWidgets:{set:function(e){o.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(e){!0==this.$textLayer.setHighlightIndentGuides(e)?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(e){this.$gutterLayer.setHighlightGutterLine(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(e){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){"number"==typeof e&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.$minLines<0x1ffffffffffff||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0,this.$scrollPastEnd!=e&&(this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(e){this.$updateCustomScrollbar(e)},initialValue:!1},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!w.isMobile&&!w.isIE}}),t.VirtualRenderer=$}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,r){"use strict";var i=e("../lib/oop"),o=e("../lib/net"),n=e("../lib/event_emitter").EventEmitter,s=e("../config");function a(e){if("u"<typeof Worker)return{postMessage:function(){},terminate:function(){}};if(s.get("loadWorkerFromBlob")){var t=function(e){var t="importScripts('"+o.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(e){var r=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return r.append(t),r.getBlob("application/javascript")}}(e);return new Worker((window.URL||window.webkitURL).createObjectURL(t))}return new Worker(e)}var l=function(e){e.postMessage||(e=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=e,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){i.implement(this,n),this.$createWorkerFromOldConfig=function(t,r,i,o,n){if(e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl),s.get("packaged")||!e.toUrl)o=o||s.moduleUrl(r,"worker");else{var l=this.$normalizePath;o=o||l(e.toUrl("ace/worker/worker.js",null,"_"));var c={};t.forEach(function(t){c[t]=l(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=a(o),n&&this.send("importScripts",n),this.$worker.postMessage({init:!0,tlns:c,module:r,classname:i}),this.$worker},this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var r=this.callbacks[t.id];r&&(r(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return o.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(e){e.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,r){if(r){var i=this.callbackId++;this.callbacks[i]=r,t.push(i)}this.send(e,t)},this.emit=function(e,t){try{t.data&&t.data.err&&(t.data.err={message:t.data.err.message,stack:t.data.err.stack,code:t.data.err.code}),this.$worker&&this.$worker.postMessage({event:e,data:{data:t.data}})}catch(e){console.error(e.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener,!0)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),"insert"==e.action?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;e&&(this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))}}).call(l.prototype),t.UIWorkerClient=function(e,t,r){var i=null,o=!1,a=Object.create(n),c=[],h=new l({messageBuffer:c,terminate:function(){},postMessage:function(e){c.push(e),i&&(o?setTimeout(d):d())}});h.setEmitSync=function(e){o=e};var d=function(){var e=c.shift();e.command?i[e.command].apply(i,e.args):e.event&&a._signal(e.event,e.data)};return a.postMessage=function(e){h.onMessage({data:e})},a.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},a.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},s.loadModule(["worker",t],function(e){for(i=new e[r](a);c.length;)d()}),h},t.WorkerClient=l,t.createWorker=a}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,r){"use strict";var i=e("./range").Range,o=e("./lib/event_emitter").EventEmitter,n=e("./lib/oop"),s=function(){function e(e,t,r,i,o,n){var s=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=o,this.othersClass=n,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=i,this.$onCursorChange=function(){setTimeout(function(){s.onCursorChange()})},this.$pos=r;var a=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=a.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)}return e.prototype.setup=function(){var e=this,t=this.doc,r=this.session;this.selectionBefore=r.selection.toJSON(),r.selection.inMultiSelectMode&&r.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var o=this.pos;o.$insertRight=!0,o.detach(),o.markerId=r.addMarker(new i(o.row,o.column,o.row,o.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(r){var i=t.createAnchor(r.row,r.column);i.$insertRight=!0,i.detach(),e.others.push(i)}),r.setUndoSelect(!1)},e.prototype.showOtherMarkers=function(){if(!this.othersActive){var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(r){r.markerId=e.addMarker(new i(r.row,r.column,r.row,r.column+t.length),t.othersClass,null,!1)})}},e.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)}},e.prototype.onUpdate=function(e){if(this.$updating)return this.updateAnchors(e);if(e.start.row===e.end.row&&e.start.row===this.pos.row){this.$updating=!0;var t="insert"===e.action?e.end.column-e.start.column:e.start.column-e.end.column,r=e.start.column>=this.pos.column&&e.start.column<=this.pos.column+this.length+1,o=e.start.column-this.pos.column;if(this.updateAnchors(e),r&&(this.length+=t),r&&!this.session.$fromUndo){if("insert"===e.action)for(var n=this.others.length-1;n>=0;n--){var s=this.others[n],a={row:s.row,column:s.column+o};this.doc.insertMergedLines(a,e.lines)}else if("remove"===e.action)for(var n=this.others.length-1;n>=0;n--){var s=this.others[n],a={row:s.row,column:s.column+o};this.doc.remove(new i(a.row,a.column,a.row,a.column-t))}}this.$updating=!1,this.updateMarkers()}},e.prototype.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},e.prototype.updateMarkers=function(){if(!this.$updating){var e=this,t=this.session,r=function(r,o){t.removeMarker(r.markerId),r.markerId=t.addMarker(new i(r.row,r.column,r.row,r.column+e.length),o,null,!1)};r(this.pos,this.mainClass);for(var o=this.others.length;o--;)r(this.others[o],this.othersClass)}},e.prototype.onCursorChange=function(e){if(!this.$updating&&this.session){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))}},e.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},e.prototype.cancel=function(){if(-1!==this.$undoStackDepth){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,r=0;r<t;r++)e.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},e}();n.implement(s.prototype,o),t.PlaceHolder=s}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,r){var i=e("../lib/event"),o=e("../lib/useragent");function n(e,t){return e.row==t.row&&e.column==t.column}t.onMouseDown=function(e){var t=e.domEvent,r=t.altKey,s=t.shiftKey,a=t.ctrlKey,l=e.getAccelKey(),c=e.getButton();if(a&&o.isMac&&(c=t.button),e.editor.inMultiSelectMode&&2==c)return void e.editor.textInput.onContextMenu(e.domEvent);if(!a&&!r&&!l){0===c&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode();return}if(0===c){var h=e.editor,d=h.selection,u=h.inMultiSelectMode,p=e.getDocumentPosition(),f=d.getCursor(),g=e.inSelection()||d.isEmpty()&&n(p,f),m=e.x,v=e.y,y=h.session,b=h.renderer.pixelToScreenCoordinates(m,v),w=b;if(h.$mouseHandler.$enableJumpToDef)a&&r||l&&r?S=s?"block":"add":r&&h.$blockSelectEnabled&&(S="block");else if(l&&!r){if(S="add",!u&&s)return}else r&&h.$blockSelectEnabled&&(S="block");if(S&&o.isMac&&t.ctrlKey&&h.$mouseHandler.cancelContextMenu(),"add"==S){if(!u&&g)return;if(!u){var x=d.toOrientedRange();h.addSelectionMarker(x)}var $=d.rangeList.rangeAtPoint(p);h.inVirtualSelectionMode=!0,s&&($=null,x=d.ranges[0]||x,h.removeSelectionMarker(x)),h.once("mouseup",function(){var e=d.toOrientedRange();$&&e.isEmpty()&&n($.cursor,e.cursor)?d.substractPoint(e.cursor):(s?d.substractPoint(x.cursor):x&&(h.removeSelectionMarker(x),d.addRange(x)),d.addRange(e)),h.inVirtualSelectionMode=!1})}else if("block"==S){e.stop(),h.inVirtualSelectionMode=!0;var S,M,C=[],A=function(){var e=h.renderer.pixelToScreenCoordinates(m,v),t=y.screenToDocumentPosition(e.row,e.column,e.offsetX);n(w,e)&&n(t,d.lead)||(w=e,h.selection.moveToPosition(t),h.renderer.scrollCursorIntoView(),h.removeSelectionMarkers(C),C=d.rectangularRangeBlock(w,b),h.$mouseHandler.$clickSelection&&1==C.length&&C[0].isEmpty()&&(C[0]=h.$mouseHandler.$clickSelection.clone()),C.forEach(h.addSelectionMarker,h),h.updateSelectionMarkers())};u&&!l?d.toSingleRange():!u&&l&&(M=d.toOrientedRange(),h.addSelectionMarker(M)),s?b=y.documentToScreenPosition(d.lead):d.moveToPosition(p),w={row:-1,column:-1},i.capture(h.container,function(e){m=e.clientX,v=e.clientY},function(e){A(),clearInterval(E),h.removeSelectionMarkers(C),C.length||(C=[d.toOrientedRange()]),M&&(h.removeSelectionMarker(M),d.toSingleRange(M));for(var t=0;t<C.length;t++)d.addRange(C[t]);h.inVirtualSelectionMode=!1,h.$mouseHandler.$clickSelection=null});var E=setInterval(function(){A()},20);return e.preventDefault()}}}}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(e,t,r){t.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(e){e.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(e){e.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(e){e.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(e){e.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(e){e.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(e){e.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(e){e.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split selection into lines",exec:function(e){e.multiSelect.rangeCount>1?e.multiSelect.joinSelections():e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(e){e.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],t.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}],t.keyboardHandler=new(e("../keyboard/hash_handler")).HashHandler(t.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(e,t,r){var i=e("./range_list").RangeList,o=e("./range").Range,n=e("./selection").Selection,s=e("./mouse/multi_select_handler").onMouseDown,a=e("./lib/event"),l=e("./lib/lang"),c=e("./commands/multi_select_commands");t.commands=c.defaultCommands.concat(c.multiSelectCommands);var h=new(e("./search")).Search;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(e("./edit_session").EditSession.prototype),(function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(e){if(!this.inMultiSelectMode&&0===this.rangeCount){var r=this.toOrientedRange();if(this.rangeList.add(r),this.rangeList.add(e),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(r),this.$onAddRange(r)}e.cursor||(e.cursor=e.end);var i=this.rangeList.add(e);return this.$onAddRange(e),i.length&&this.$onRemoveRange(i),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)}},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var r=e.length;r--;){var i=this.ranges.indexOf(e[r]);this.ranges.splice(i,1)}this._signal("removeRange",{ranges:e}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),(t=t||this.ranges[0])&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new i,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var e=this.ranges.length?this.ranges:[this.getRange()],t=[],r=0;r<e.length;r++){var i=e[r],n=i.start.row,s=i.end.row;if(n===s)t.push(i.clone());else{for(t.push(new o(n,i.start.column,n,this.session.getLine(n).length));++n<s;)t.push(this.getLineRange(n,!0));t.push(new o(s,0,s,i.end.column))}0!=r||this.isBackwards()||(t=t.reverse())}this.toSingleRange();for(var r=t.length;r--;)this.addRange(t[r])},this.joinSelections=function(){var e=this.rangeList.ranges,t=e[e.length-1],r=o.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(r,t.cursor==t.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],r=o.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(r,t.cursor==t.start)}else{var i=this.session.documentToScreenPosition(this.cursor),n=this.session.documentToScreenPosition(this.anchor);this.rectangularRangeBlock(i,n).forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,r){var i,n=[],s=e.column<t.column;if(s)var a=e.column,l=t.column,c=e.offsetX,h=t.offsetX;else var a=t.column,l=e.column,c=t.offsetX,h=e.offsetX;var d=e.row<t.row;if(d)var u=e.row,p=t.row;else var u=t.row,p=e.row;a<0&&(a=0),u<0&&(u=0),u==p&&(r=!0);for(var f=u;f<=p;f++){var g,m,v=o.fromPoints(this.session.screenToDocumentPosition(f,a,c),this.session.screenToDocumentPosition(f,l,h));if(v.isEmpty()){if(i&&(g=v.end,m=i,g.row==m.row&&g.column==m.column))break;i=v.end}v.cursor=s?v.start:v.end,n.push(v)}if(d&&n.reverse(),!r){for(var y=n.length-1;n[y].isEmpty()&&y>0;)y--;if(y>0)for(var b=0;n[b].isEmpty();)b++;for(var w=y;w>=b;w--)n[w].isEmpty()&&n.splice(w,1)}return n}}).call(n.prototype);var d=e("./editor").Editor;function u(e){e.$multiselectOnSessionChange||(e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",s),e.commands.addCommands(c.defaultCommands),function(e){if(e.textInput){var t=e.textInput.getElement(),r=!1;a.addListener(t,"keydown",function(t){var o=18==t.keyCode&&!(t.ctrlKey||t.shiftKey||t.metaKey);e.$blockSelectEnabled&&o?r||(e.renderer.setMouseCursor("crosshair"),r=!0):r&&i()},e),a.addListener(t,"keyup",i,e),a.addListener(t,"blur",i,e)}function i(t){r&&(e.renderer.setMouseCursor(""),r=!1)}}(e))}(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(e.marker){this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);-1!=t&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(e){for(var t=this.session.$selectionMarkers,r=e.length;r--;){var i=e[r];if(i.marker){this.session.removeMarker(i.marker);var o=t.indexOf(i);-1!=o&&t.splice(o,1)}}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(c.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(e){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(c.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(e){var t=e.command,r=e.editor;if(r.multiSelect){if(t.multiSelectAction)"forEach"==t.multiSelectAction?i=r.forEachSelection(t,e.args):"forEachLine"==t.multiSelectAction?i=r.forEachSelection(t,e.args,!0):"single"==t.multiSelectAction?(r.exitMultiSelectMode(),i=t.exec(r,e.args||{})):i=t.multiSelectAction(r,e.args||{});else{var i=t.exec(r,e.args||{});r.multiSelect.addRange(r.multiSelect.toOrientedRange()),r.multiSelect.mergeOverlappingRanges()}return i}},this.forEachSelection=function(e,t,r){if(!this.inVirtualSelectionMode){var i,o=r&&r.keepOrder,s=!0==r||r&&r.$byLines,a=this.session,l=this.selection,c=l.rangeList,h=(o?l:c).ranges;if(!h.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var d=l._eventRegistry;l._eventRegistry={};var u=new n(a);this.inVirtualSelectionMode=!0;for(var p=h.length;p--;){if(s)for(;p>0&&h[p].start.row==h[p-1].end.row;)p--;u.fromOrientedRange(h[p]),u.index=p,this.selection=a.selection=u;var f=e.exec?e.exec(this,t||{}):e(this,t||{});i||void 0===f||(i=f),u.toOrientedRange(h[p])}u.detach(),this.selection=a.selection=l,this.inVirtualSelectionMode=!1,l._eventRegistry=d,l.mergeOverlappingRanges(),l.ranges[0]&&l.fromOrientedRange(l.ranges[0]);var g=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),g&&g.from==g.to&&this.renderer.animateScrolling(g.from),i}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var t=this.multiSelect.rangeList.ranges,r=[],i=0;i<t.length;i++)r.push(this.session.getTextRange(t[i]));var o=this.session.getDocument().getNewLineCharacter();(e=r.join(o)).length==(r.length-1)*o.length&&(e="")}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.$checkMultiselectChange=function(e,t){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var r=this.multiSelect.ranges[0];if(!this.multiSelect.isEmpty()||t!=this.multiSelect.anchor){var i=t==this.multiSelect.anchor?r.cursor==r.start?r.end:r.start:r.cursor;i.row!=t.row||this.session.$clipPositionToDocument(i.row,i.column).column!=t.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}}},this.findAll=function(e,t,r){if((t=t||{}).needle=e||t.needle,void 0==t.needle){var i=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(i)}this.$search.set(t);var o=this.$search.findAll(this.session);if(!o.length)return 0;var n=this.multiSelect;r||n.toSingleRange(o[0]);for(var s=o.length;s--;)n.addRange(o[s],!0);return i&&n.rangeList.rangeAtPoint(i.start)&&n.addRange(i,!0),o.length},this.selectMoreLines=function(e,t){var r=this.selection.toOrientedRange(),i=r.cursor==r.end,n=this.session.documentToScreenPosition(r.cursor);this.selection.$desiredColumn&&(n.column=this.selection.$desiredColumn);var s=this.session.screenToDocumentPosition(n.row+e,n.column);if(r.isEmpty())var a=s;else var l=this.session.documentToScreenPosition(i?r.end:r.start),a=this.session.screenToDocumentPosition(l.row+e,l.column);if(i){var c=o.fromPoints(s,a);c.cursor=c.start}else{var c=o.fromPoints(a,s);c.cursor=c.end}if(c.desiredColumn=n.column,this.selection.inMultiSelectMode){if(t)var h=r.cursor}else this.selection.addRange(r);this.selection.addRange(c),h&&this.selection.substractPoint(h)},this.transposeSelections=function(e){for(var t=this.session,r=t.multiSelect,i=r.ranges,o=i.length;o--;){var n=i[o];if(n.isEmpty()){var s=t.getWordRange(n.start.row,n.start.column);n.start.row=s.start.row,n.start.column=s.start.column,n.end.row=s.end.row,n.end.column=s.end.column}}r.mergeOverlappingRanges();for(var a=[],o=i.length;o--;){var n=i[o];a.unshift(t.getTextRange(n))}e<0?a.unshift(a.pop()):a.push(a.shift());for(var o=i.length;o--;){var n=i[o],l=n.clone();t.replace(n,a[o]),n.start.row=l.start.row,n.start.column=l.start.column}r.fromOrientedRange(r.ranges[0])},this.selectMore=function(e,t,r){var i=this.session,o=i.multiSelect.toOrientedRange();if(!o.isEmpty()||((o=i.getWordRange(o.start.row,o.start.column)).cursor=-1==e?o.start:o.end,this.multiSelect.addRange(o),!r)){var n=i.getTextRange(o),s=(h.$options.wrap=!0,h.$options.needle=n,h.$options.backwards=-1==e,h.find(i));s&&(s.cursor=-1==e?s.start:s.end,this.session.unfold(s),this.multiSelect.addRange(s),this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(o.cursor)}},this.alignCursors=function(){var e=this.session,t=e.multiSelect,r=t.ranges,i=-1,n=r.filter(function(e){if(e.cursor.row==i)return!0;i=e.cursor.row});if(r.length&&n.length!=r.length-1){n.forEach(function(e){t.substractPoint(e.cursor)});var s=0,a=1/0,c=r.map(function(t){var r=t.cursor,i=e.getLine(r.row).substr(r.column).search(/\S/g);return -1==i&&(i=0),r.column>s&&(s=r.column),i<a&&(a=i),i});r.forEach(function(t,r){var i=t.cursor,n=s-i.column,h=c[r]-a;n>h?e.insert(i,l.stringRepeat(" ",n-h)):e.remove(new o(i.row,i.column,i.row,i.column-n+h)),t.start.column=t.end.column=s,t.start.row=t.end.row=i.row,t.cursor=t.end}),t.fromOrientedRange(r[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var h=this.selection.getRange(),d=h.start.row,u=h.end.row,p=d==u;if(p){var f,g=this.session.getLength();do f=this.session.getLine(u);while(/[=:]/.test(f)&&++u<g);do f=this.session.getLine(d);while(/[=:]/.test(f)&&--d>0);d<0&&(d=0),u>=g&&(u=g-1)}var m=this.session.removeFullLines(d,u);m=this.$reAlignText(m,p),this.session.insert({row:d,column:0},m.join("\n")+"\n"),p||(h.start.column=0,h.end.column=m[m.length-1].length),this.selection.setRange(h)}},this.$reAlignText=function(e,t){var r,i,o,n=!0,s=!0;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?(null==r?(r=t[1].length,i=t[2].length,o=t[3].length):(r+i+o!=t[1].length+t[2].length+t[3].length&&(s=!1),r!=t[1].length&&(n=!1),r>t[1].length&&(r=t[1].length),i<t[2].length&&(i=t[2].length),o>t[3].length&&(o=t[3].length)),t):[e]}).map(t?c:n?s?function(e){return e[2]?a(r+i-e[2].length)+e[2]+a(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}:c:function(e){return e[2]?a(r)+e[2]+a(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]});function a(e){return l.stringRepeat(" ",e)}function c(e){return e[2]?a(r)+e[2]+a(i-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var r=e.oldSession;r&&(r.multiSelect.off("addRange",this.$onAddRange),r.multiSelect.off("removeRange",this.$onRemoveRange),r.multiSelect.off("multiSelect",this.$onMultiSelect),r.multiSelect.off("singleSelect",this.$onSingleSelect),r.multiSelect.lead.off("change",this.$checkMultiselectChange),r.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=u,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){u(this),e?this.on("mousedown",s):this.off("mousedown",s)},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,r){"use strict";var i=e("../../range").Range;(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,r){var i=e.getLine(r);return this.foldingStartMarker.test(i)?"start":"markbeginend"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(i)?"end":""},this.getFoldWidgetRange=function(e,t,r){return null},this.indentationBlock=function(e,t,r){var o=/\S/,n=e.getLine(t),s=n.search(o);if(-1!=s){for(var a=r||n.length,l=e.getLength(),c=t,h=t;++t<l;){var d=e.getLine(t).search(o);if(-1!=d){if(d<=s){var u=e.getTokenAt(t,0);if(!u||"string"!==u.type)break}h=t}}if(h>c){var p=e.getLine(h).length;return new i(c,a,h,p)}}},this.openingBracketBlock=function(e,t,r,o,n){var s={row:r,column:o+1},a=e.$findClosingBracket(t,s,n);if(a){var l=e.foldWidgets[a.row];return null==l&&(l=e.getFoldWidget(a.row)),"start"==l&&a.row>s.row&&(a.row--,a.column=e.getLine(a.row).length),i.fromPoints(s,a)}},this.closingBracketBlock=function(e,t,r,o,n){var s={row:r,column:o},a=e.$findOpeningBracket(t,s);if(a)return a.column++,s.column--,i.fromPoints(a,s)}}).call((t.FoldMode=function(){}).prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(e,t,r){"use strict";var i=e("../lib/dom"),o=e("../range").Range,n=e("../config").nls;t.showErrorMarker=function(e,t){var r,s=e.session,a=e.getCursorPosition(),l=a.row,c=s.widgetManager.getWidgetsAtRow(l).filter(function(e){return"errorMarker"==e.type})[0];c?c.destroy():l-=t;var h=function(e,t,r){var i=e.getAnnotations().sort(o.comparePoints);if(i.length){var n=function(e,t,r){for(var i=0,o=e.length-1;i<=o;){var n=i+o>>1,s=r(t,e[n]);if(s>0)i=n+1;else{if(!(s<0))return n;o=n-1}}return-(i+1)}(i,{row:t,column:-1},o.comparePoints);n<0&&(n=-n-1),n>=i.length?n=r>0?0:i.length-1:0===n&&r<0&&(n=i.length-1);var s=i[n];if(s&&r){if(s.row===t){do s=i[n+=r];while(s&&s.row===t);if(!s)return i.slice()}var a=[];t=s.row;do a[r<0?"unshift":"push"](s),s=i[n+=r];while(s&&s.row==t);return a.length&&a}}}(s,l,t);if(h){var d=h[0];a.column=(d.pos&&"number"!=typeof d.column?d.pos.sc:d.column)||0,a.row=d.row,r=e.renderer.$gutterLayer.$annotations[a.row]}else{if(c)return;r={displayText:[n("error-marker.good-state","Looks good!")],className:"ace_ok"}}e.session.unfold(a.row),e.selection.moveToPosition(a);var u={row:a.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=u.el.appendChild(i.createElement("div")),f=u.el.appendChild(i.createElement("div"));f.className="error_widget_arrow "+r.className;var g=e.renderer.$cursorLayer.getPixelPosition(a).left;f.style.left=g+e.renderer.gutterWidth-5+"px",u.el.className="error_widget_wrapper",p.className="error_widget "+r.className,r.displayText.forEach(function(e,t){p.appendChild(i.createTextNode(e)),t<r.displayText.length-1&&p.appendChild(i.createElement("br"))}),p.appendChild(i.createElement("div"));var m=function(e,t,r){if(0===t&&("esc"===r||"return"===r))return u.destroy(),{command:"null"}};u.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(m),s.widgetManager.removeLineWidget(u),e.off("changeSelection",u.destroy),e.off("changeSession",u.destroy),e.off("mouseup",u.destroy),e.off("change",u.destroy))},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",u.destroy),e.on("changeSession",u.destroy),e.on("mouseup",u.destroy),e.on("change",u.destroy),e.session.widgetManager.addLineWidget(u),u.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:u.el.offsetHeight})},i.importCssString("\n .error_widget_wrapper {\n background: inherit;\n color: inherit;\n border:none\n }\n .error_widget {\n border-top: solid 2px;\n border-bottom: solid 2px;\n margin: 5px 0;\n padding: 10px 40px;\n white-space: pre-wrap;\n }\n .error_widget.ace_error, .error_widget_arrow.ace_error{\n border-color: #ff5a5a\n }\n .error_widget.ace_warning, .error_widget_arrow.ace_warning{\n border-color: #F1D817\n }\n .error_widget.ace_info, .error_widget_arrow.ace_info{\n border-color: #5a5a5a\n }\n .error_widget.ace_ok, .error_widget_arrow.ace_ok{\n border-color: #5aaa5a\n }\n .error_widget_arrow {\n position: absolute;\n border: solid 5px;\n border-top-color: transparent!important;\n border-right-color: transparent!important;\n border-left-color: transparent!important;\n top: -5px;\n }\n","error_marker.css",!1)}),ace.define("ace/ace",["require","exports","module","ace/lib/dom","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config","ace/loader_build"],function(e,t,r){"use strict";e("./loader_build")(t);var i=e("./lib/dom"),o=e("./range").Range,n=e("./editor").Editor,s=e("./edit_session").EditSession,a=e("./undomanager").UndoManager,l=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.edit=function(e,r){if("string"==typeof e){var o=e;if(!(e=document.getElementById(o)))throw Error("ace.edit can't find div #"+o)}if(e&&e.env&&e.env.editor instanceof n)return e.env.editor;var s="";if(e&&/input|textarea/i.test(e.tagName)){var a=e;s=a.value,e=i.createElement("pre"),a.parentNode.replaceChild(e,a)}else e&&(s=e.textContent,e.innerHTML="");var c=t.createEditSession(s),h=new n(new l(e),c,r),d={document:c,editor:h,onResize:h.resize.bind(h,null)};return a&&(d.textarea=a),h.on("destroy",function(){d.editor.container.env=null}),h.container.env=h.env=d,h},t.createEditSession=function(e,t){var r=new s(e,t);return r.setUndoManager(new a),r},t.Range=o,t.Editor=n,t.EditSession=s,t.UndoManager=a,t.VirtualRenderer=l;var c=t.config.version;t.version=c}),ace.require(["ace/ace"],function(t){t&&(t.config.init(!0),t.define=ace.define);var r=function(){return this}();for(var i in!r&&"u">typeof window&&(r=window),!r&&"u">typeof self&&(r=self),r.ace||(r.ace=t),t)t.hasOwnProperty(i)&&(r.ace[i]=t[i]);r.ace.default=r.ace,e&&(e.exports=r.ace)})},53828(e,t,r){e=r.nmd(e),ace.define("ace/split",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/editor","ace/virtual_renderer","ace/edit_session"],function(e,t,r){"use strict";var i,o=e("./lib/oop");e("./lib/lang");var n=e("./lib/event_emitter").EventEmitter,s=e("./editor").Editor,a=e("./virtual_renderer").VirtualRenderer,l=e("./edit_session").EditSession;(function(){o.implement(this,n),this.$createEditor=function(){var e=document.createElement("div");e.className=this.$editorCSS,e.style.cssText="position: absolute; top:0px; bottom:0px",this.$container.appendChild(e);var t=new s(new a(e,this.$theme));return t.on("focus",(function(){this._emit("focus",t)}).bind(this)),this.$editors.push(t),t.setFontSize(this.$fontSize),t},this.setSplits=function(e){var t;if(e<1)throw"The number of splits have to be > 0!";if(e!=this.$splits){if(e>this.$splits){for(;this.$splits<this.$editors.length&&this.$splits<e;)t=this.$editors[this.$splits],this.$container.appendChild(t.container),t.setFontSize(this.$fontSize),this.$splits++;for(;this.$splits<e;)this.$createEditor(),this.$splits++}else for(;this.$splits>e;)t=this.$editors[this.$splits-1],this.$container.removeChild(t.container),this.$splits--;this.resize()}},this.getSplits=function(){return this.$splits},this.getEditor=function(e){return this.$editors[e]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(e){this.$editors.forEach(function(t){t.setTheme(e)})},this.setKeyboardHandler=function(e){this.$editors.forEach(function(t){t.setKeyboardHandler(e)})},this.forEach=function(e,t){this.$editors.forEach(e,t)},this.$fontSize="",this.setFontSize=function(e){this.$fontSize=e,this.forEach(function(t){t.setFontSize(e)})},this.$cloneSession=function(e){var t=new l(e.getDocument(),e.getMode()),r=e.getUndoManager();return t.setUndoManager(r),t.setTabSize(e.getTabSize()),t.setUseSoftTabs(e.getUseSoftTabs()),t.setOverwrite(e.getOverwrite()),t.setBreakpoints(e.getBreakpoints()),t.setUseWrapMode(e.getUseWrapMode()),t.setUseWorker(e.getUseWorker()),t.setWrapLimitRange(e.$wrapLimitRange.min,e.$wrapLimitRange.max),t.$foldData=e.$cloneFoldData(),t},this.setSession=function(e,t){var r=null==t?this.$cEditor:this.$editors[t];return this.$editors.some(function(t){return t.session===e})&&(e=this.$cloneSession(e)),r.setSession(e),e},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(e){this.$orientation!=e&&(this.$orientation=e,this.resize())},this.resize=function(){var e,t=this.$container.clientWidth,r=this.$container.clientHeight;if(this.$orientation==this.BESIDE)for(var i=t/this.$splits,o=0;o<this.$splits;o++)(e=this.$editors[o]).container.style.width=i+"px",e.container.style.top="0px",e.container.style.left=o*i+"px",e.container.style.height=r+"px",e.resize();else for(var n=r/this.$splits,o=0;o<this.$splits;o++)(e=this.$editors[o]).container.style.width=t+"px",e.container.style.top=o*n+"px",e.container.style.left="0px",e.container.style.height=n+"px",e.resize()}}).call((i=function(e,t,r){this.BELOW=1,this.BESIDE=0,this.$container=e,this.$theme=t,this.$splits=0,this.$editorCSS="",this.$editors=[],this.$orientation=this.BESIDE,this.setSplits(r||1),this.$cEditor=this.$editors[0],this.on("focus",(function(e){this.$cEditor=e}).bind(this))}).prototype),t.Split=i}),ace.define("ace/ext/split",["require","exports","module","ace/ext/split","ace/split"],function(e,t,r){"use strict";r.exports=e("../split")}),ace.require(["ace/ext/split"],function(t){e&&(e.exports=t)})},63301(e,t,r){ace.config.setModuleUrl("ace/ext/beautify",r(13957)),ace.config.setModuleUrl("ace/ext/code_lens",r(85644)),ace.config.setModuleUrl("ace/ext/command_bar",r(13397)),ace.config.setModuleUrl("ace/ext/diff",r(4991)),ace.config.setModuleUrl("ace/ext/elastic_tabstops_lite",r(6203)),ace.config.setModuleUrl("ace/ext/emmet",r(16834)),ace.config.setModuleUrl("ace/ext/error_marker",r(95393)),ace.config.setModuleUrl("ace/ext/hardwrap",r(62525)),ace.config.setModuleUrl("ace/ext/inline_autocomplete",r(78472)),ace.config.setModuleUrl("ace/ext/keyboard_menu",r(37087)),ace.config.setModuleUrl("ace/ext/language_tools",r(71290)),ace.config.setModuleUrl("ace/ext/linking",r(12266)),ace.config.setModuleUrl("ace/ext/modelist",r(3875)),ace.config.setModuleUrl("ace/ext/options",r(51508)),ace.config.setModuleUrl("ace/ext/prompt",r(98346)),ace.config.setModuleUrl("ace/ext/rtl",r(90656)),ace.config.setModuleUrl("ace/ext/searchbox",r(80435)),ace.config.setModuleUrl("ace/ext/settings_menu",r(79787)),ace.config.setModuleUrl("ace/ext/simple_tokenizer",r(22060)),ace.config.setModuleUrl("ace/ext/spellcheck",r(27426)),ace.config.setModuleUrl("ace/ext/split",r(60450)),ace.config.setModuleUrl("ace/ext/static_highlight",r(12633)),ace.config.setModuleUrl("ace/ext/statusbar",r(66293)),ace.config.setModuleUrl("ace/ext/textarea",r(87102)),ace.config.setModuleUrl("ace/ext/themelist",r(21419)),ace.config.setModuleUrl("ace/ext/whitespace",r(87981)),ace.config.setModuleUrl("ace/keyboard/emacs",r(14824)),ace.config.setModuleUrl("ace/keyboard/sublime",r(1008)),ace.config.setModuleUrl("ace/keyboard/vim",r(56395)),ace.config.setModuleUrl("ace/keyboard/vscode",r(62165)),ace.config.setModuleUrl("ace/mode/abap",r(24568)),ace.config.setModuleUrl("ace/mode/abc",r(99400)),ace.config.setModuleUrl("ace/mode/actionscript",r(23111)),ace.config.setModuleUrl("ace/mode/ada",r(60064)),ace.config.setModuleUrl("ace/mode/alda",r(91316)),ace.config.setModuleUrl("ace/mode/apache_conf",r(9317)),ace.config.setModuleUrl("ace/mode/apex",r(9666)),ace.config.setModuleUrl("ace/mode/applescript",r(99143)),ace.config.setModuleUrl("ace/mode/aql",r(45194)),ace.config.setModuleUrl("ace/mode/asciidoc",r(31033)),ace.config.setModuleUrl("ace/mode/asl",r(42408)),ace.config.setModuleUrl("ace/mode/assembly_arm32",r(62690)),ace.config.setModuleUrl("ace/mode/assembly_x86",r(46575)),ace.config.setModuleUrl("ace/mode/astro",r(18235)),ace.config.setModuleUrl("ace/mode/autohotkey",r(91607)),ace.config.setModuleUrl("ace/mode/basic",r(86598)),ace.config.setModuleUrl("ace/mode/batchfile",r(24478)),ace.config.setModuleUrl("ace/mode/bibtex",r(94100)),ace.config.setModuleUrl("ace/mode/c9search",r(57734)),ace.config.setModuleUrl("ace/mode/c_cpp",r(8867)),ace.config.setModuleUrl("ace/mode/cirru",r(89939)),ace.config.setModuleUrl("ace/mode/clojure",r(81712)),ace.config.setModuleUrl("ace/mode/clue",r(70895)),ace.config.setModuleUrl("ace/mode/cobol",r(47739)),ace.config.setModuleUrl("ace/mode/coffee",r(62178)),ace.config.setModuleUrl("ace/mode/coldfusion",r(97796)),ace.config.setModuleUrl("ace/mode/crystal",r(66762)),ace.config.setModuleUrl("ace/mode/csharp",r(35477)),ace.config.setModuleUrl("ace/mode/csound_document",r(44740)),ace.config.setModuleUrl("ace/mode/csound_orchestra",r(85210)),ace.config.setModuleUrl("ace/mode/csound_score",r(31967)),ace.config.setModuleUrl("ace/mode/csp",r(60538)),ace.config.setModuleUrl("ace/mode/css",r(64263)),ace.config.setModuleUrl("ace/mode/csv",r(59292)),ace.config.setModuleUrl("ace/mode/curly",r(5625)),ace.config.setModuleUrl("ace/mode/cuttlefish",r(16803)),ace.config.setModuleUrl("ace/mode/d",r(75240)),ace.config.setModuleUrl("ace/mode/dart",r(45495)),ace.config.setModuleUrl("ace/mode/diff",r(28501)),ace.config.setModuleUrl("ace/mode/django",r(18601)),ace.config.setModuleUrl("ace/mode/dockerfile",r(25120)),ace.config.setModuleUrl("ace/mode/dot",r(33855)),ace.config.setModuleUrl("ace/mode/drools",r(82179)),ace.config.setModuleUrl("ace/mode/edifact",r(58154)),ace.config.setModuleUrl("ace/mode/eiffel",r(41077)),ace.config.setModuleUrl("ace/mode/ejs",r(80020)),ace.config.setModuleUrl("ace/mode/elixir",r(40109)),ace.config.setModuleUrl("ace/mode/elm",r(16064)),ace.config.setModuleUrl("ace/mode/erlang",r(79725)),ace.config.setModuleUrl("ace/mode/flix",r(37769)),ace.config.setModuleUrl("ace/mode/forth",r(98915)),ace.config.setModuleUrl("ace/mode/fortran",r(26966)),ace.config.setModuleUrl("ace/mode/fsharp",r(12560)),ace.config.setModuleUrl("ace/mode/fsl",r(95545)),ace.config.setModuleUrl("ace/mode/ftl",r(35530)),ace.config.setModuleUrl("ace/mode/gcode",r(7336)),ace.config.setModuleUrl("ace/mode/gherkin",r(28670)),ace.config.setModuleUrl("ace/mode/gitignore",r(99682)),ace.config.setModuleUrl("ace/mode/glsl",r(34738)),ace.config.setModuleUrl("ace/mode/gobstones",r(77970)),ace.config.setModuleUrl("ace/mode/golang",r(64272)),ace.config.setModuleUrl("ace/mode/graphqlschema",r(75534)),ace.config.setModuleUrl("ace/mode/groovy",r(20412)),ace.config.setModuleUrl("ace/mode/haml",r(3688)),ace.config.setModuleUrl("ace/mode/handlebars",r(80702)),ace.config.setModuleUrl("ace/mode/haskell",r(9540)),ace.config.setModuleUrl("ace/mode/haskell_cabal",r(86496)),ace.config.setModuleUrl("ace/mode/haxe",r(40098)),ace.config.setModuleUrl("ace/mode/hjson",r(14670)),ace.config.setModuleUrl("ace/mode/html",r(29431)),ace.config.setModuleUrl("ace/mode/html_elixir",r(64845)),ace.config.setModuleUrl("ace/mode/html_ruby",r(74790)),ace.config.setModuleUrl("ace/mode/ini",r(56918)),ace.config.setModuleUrl("ace/mode/io",r(5762)),ace.config.setModuleUrl("ace/mode/ion",r(96102)),ace.config.setModuleUrl("ace/mode/jack",r(19741)),ace.config.setModuleUrl("ace/mode/jade",r(5276)),ace.config.setModuleUrl("ace/mode/java",r(61742)),ace.config.setModuleUrl("ace/mode/javascript",r(733)),ace.config.setModuleUrl("ace/mode/jexl",r(64859)),ace.config.setModuleUrl("ace/mode/json",r(63880)),ace.config.setModuleUrl("ace/mode/json5",r(88309)),ace.config.setModuleUrl("ace/mode/jsoniq",r(94990)),ace.config.setModuleUrl("ace/mode/jsp",r(33233)),ace.config.setModuleUrl("ace/mode/jssm",r(97341)),ace.config.setModuleUrl("ace/mode/jsx",r(9769)),ace.config.setModuleUrl("ace/mode/julia",r(13717)),ace.config.setModuleUrl("ace/mode/kotlin",r(80611)),ace.config.setModuleUrl("ace/mode/latex",r(21744)),ace.config.setModuleUrl("ace/mode/latte",r(90962)),ace.config.setModuleUrl("ace/mode/less",r(73751)),ace.config.setModuleUrl("ace/mode/liquid",r(47526)),ace.config.setModuleUrl("ace/mode/lisp",r(8134)),ace.config.setModuleUrl("ace/mode/livescript",r(76551)),ace.config.setModuleUrl("ace/mode/logiql",r(16934)),ace.config.setModuleUrl("ace/mode/logtalk",r(36976)),ace.config.setModuleUrl("ace/mode/lsl",r(30875)),ace.config.setModuleUrl("ace/mode/lua",r(53874)),ace.config.setModuleUrl("ace/mode/luapage",r(3789)),ace.config.setModuleUrl("ace/mode/lucene",r(35016)),ace.config.setModuleUrl("ace/mode/makefile",r(17122)),ace.config.setModuleUrl("ace/mode/markdown",r(85307)),ace.config.setModuleUrl("ace/mode/mask",r(17322)),ace.config.setModuleUrl("ace/mode/matlab",r(30987)),ace.config.setModuleUrl("ace/mode/maze",r(7205)),ace.config.setModuleUrl("ace/mode/mediawiki",r(12180)),ace.config.setModuleUrl("ace/mode/mel",r(31834)),ace.config.setModuleUrl("ace/mode/mips",r(71857)),ace.config.setModuleUrl("ace/mode/mixal",r(22051)),ace.config.setModuleUrl("ace/mode/mushcode",r(70650)),ace.config.setModuleUrl("ace/mode/mysql",r(32006)),ace.config.setModuleUrl("ace/mode/nasal",r(90107)),ace.config.setModuleUrl("ace/mode/nginx",r(97964)),ace.config.setModuleUrl("ace/mode/nim",r(26116)),ace.config.setModuleUrl("ace/mode/nix",r(58527)),ace.config.setModuleUrl("ace/mode/nsis",r(94837)),ace.config.setModuleUrl("ace/mode/nunjucks",r(22401)),ace.config.setModuleUrl("ace/mode/objectivec",r(21218)),ace.config.setModuleUrl("ace/mode/ocaml",r(80008)),ace.config.setModuleUrl("ace/mode/odin",r(50562)),ace.config.setModuleUrl("ace/mode/partiql",r(32805)),ace.config.setModuleUrl("ace/mode/pascal",r(76334)),ace.config.setModuleUrl("ace/mode/perl",r(23479)),ace.config.setModuleUrl("ace/mode/pgsql",r(32611)),ace.config.setModuleUrl("ace/mode/php",r(53780)),ace.config.setModuleUrl("ace/mode/php_laravel_blade",r(71975)),ace.config.setModuleUrl("ace/mode/pig",r(18812)),ace.config.setModuleUrl("ace/mode/plain_text",r(22364)),ace.config.setModuleUrl("ace/mode/plsql",r(7936)),ace.config.setModuleUrl("ace/mode/powershell",r(17287)),ace.config.setModuleUrl("ace/mode/praat",r(26852)),ace.config.setModuleUrl("ace/mode/prisma",r(8458)),ace.config.setModuleUrl("ace/mode/prolog",r(3437)),ace.config.setModuleUrl("ace/mode/properties",r(6467)),ace.config.setModuleUrl("ace/mode/protobuf",r(78345)),ace.config.setModuleUrl("ace/mode/prql",r(88805)),ace.config.setModuleUrl("ace/mode/puppet",r(47732)),ace.config.setModuleUrl("ace/mode/python",r(77484)),ace.config.setModuleUrl("ace/mode/qml",r(96822)),ace.config.setModuleUrl("ace/mode/r",r(69070)),ace.config.setModuleUrl("ace/mode/raku",r(90631)),ace.config.setModuleUrl("ace/mode/razor",r(6716)),ace.config.setModuleUrl("ace/mode/rdoc",r(28022)),ace.config.setModuleUrl("ace/mode/red",r(88603)),ace.config.setModuleUrl("ace/mode/redshift",r(47255)),ace.config.setModuleUrl("ace/mode/rhtml",r(15503)),ace.config.setModuleUrl("ace/mode/robot",r(24988)),ace.config.setModuleUrl("ace/mode/rst",r(23557)),ace.config.setModuleUrl("ace/mode/ruby",r(43270)),ace.config.setModuleUrl("ace/mode/rust",r(32196)),ace.config.setModuleUrl("ace/mode/sac",r(85073)),ace.config.setModuleUrl("ace/mode/sass",r(15252)),ace.config.setModuleUrl("ace/mode/scad",r(85529)),ace.config.setModuleUrl("ace/mode/scala",r(82286)),ace.config.setModuleUrl("ace/mode/scheme",r(97869)),ace.config.setModuleUrl("ace/mode/scrypt",r(96213)),ace.config.setModuleUrl("ace/mode/scss",r(31250)),ace.config.setModuleUrl("ace/mode/sh",r(86249)),ace.config.setModuleUrl("ace/mode/sjs",r(76210)),ace.config.setModuleUrl("ace/mode/slim",r(83635)),ace.config.setModuleUrl("ace/mode/smarty",r(79034)),ace.config.setModuleUrl("ace/mode/smithy",r(13968)),ace.config.setModuleUrl("ace/mode/snippets",r(99820)),ace.config.setModuleUrl("ace/mode/soy_template",r(19342)),ace.config.setModuleUrl("ace/mode/space",r(40870)),ace.config.setModuleUrl("ace/mode/sparql",r(33223)),ace.config.setModuleUrl("ace/mode/sql",r(36588)),ace.config.setModuleUrl("ace/mode/sqlserver",r(57379)),ace.config.setModuleUrl("ace/mode/stylus",r(27444)),ace.config.setModuleUrl("ace/mode/svg",r(27538)),ace.config.setModuleUrl("ace/mode/swift",r(45143)),ace.config.setModuleUrl("ace/mode/tcl",r(47411)),ace.config.setModuleUrl("ace/mode/terraform",r(58852)),ace.config.setModuleUrl("ace/mode/tex",r(80097)),ace.config.setModuleUrl("ace/mode/text",r(7233)),ace.config.setModuleUrl("ace/mode/textile",r(42605)),ace.config.setModuleUrl("ace/mode/toml",r(84742)),ace.config.setModuleUrl("ace/mode/tsv",r(78205)),ace.config.setModuleUrl("ace/mode/tsx",r(42199)),ace.config.setModuleUrl("ace/mode/turtle",r(1588)),ace.config.setModuleUrl("ace/mode/twig",r(7439)),ace.config.setModuleUrl("ace/mode/typescript",r(28957)),ace.config.setModuleUrl("ace/mode/vala",r(96324)),ace.config.setModuleUrl("ace/mode/vbscript",r(43273)),ace.config.setModuleUrl("ace/mode/velocity",r(27821)),ace.config.setModuleUrl("ace/mode/verilog",r(10238)),ace.config.setModuleUrl("ace/mode/vhdl",r(20120)),ace.config.setModuleUrl("ace/mode/visualforce",r(52015)),ace.config.setModuleUrl("ace/mode/vue",r(82984)),ace.config.setModuleUrl("ace/mode/wollok",r(3678)),ace.config.setModuleUrl("ace/mode/xml",r(13017)),ace.config.setModuleUrl("ace/mode/xquery",r(37806)),ace.config.setModuleUrl("ace/mode/yaml",r(57993)),ace.config.setModuleUrl("ace/mode/zeek",r(83291)),ace.config.setModuleUrl("ace/mode/zig",r(45722)),ace.config.setModuleUrl("ace/theme/ambiance",r(81210)),ace.config.setModuleUrl("ace/theme/chaos",r(36804)),ace.config.setModuleUrl("ace/theme/chrome",r(25019)),ace.config.setModuleUrl("ace/theme/cloud9_day",r(3915)),ace.config.setModuleUrl("ace/theme/cloud9_night",r(29127)),ace.config.setModuleUrl("ace/theme/cloud9_night_low_color",r(5806)),ace.config.setModuleUrl("ace/theme/cloud_editor",r(14161)),ace.config.setModuleUrl("ace/theme/cloud_editor_dark",r(14184)),ace.config.setModuleUrl("ace/theme/clouds",r(99836)),ace.config.setModuleUrl("ace/theme/clouds_midnight",r(62459)),ace.config.setModuleUrl("ace/theme/cobalt",r(97061)),ace.config.setModuleUrl("ace/theme/crimson_editor",r(62889)),ace.config.setModuleUrl("ace/theme/dawn",r(25876)),ace.config.setModuleUrl("ace/theme/dracula",r(5166)),ace.config.setModuleUrl("ace/theme/dreamweaver",r(60359)),ace.config.setModuleUrl("ace/theme/eclipse",r(45153)),ace.config.setModuleUrl("ace/theme/github",r(59989)),ace.config.setModuleUrl("ace/theme/github_dark",r(88788)),ace.config.setModuleUrl("ace/theme/github_light_default",r(2892)),ace.config.setModuleUrl("ace/theme/gob",r(2416)),ace.config.setModuleUrl("ace/theme/gruvbox",r(81495)),ace.config.setModuleUrl("ace/theme/gruvbox_dark_hard",r(91212)),ace.config.setModuleUrl("ace/theme/gruvbox_light_hard",r(94422)),ace.config.setModuleUrl("ace/theme/idle_fingers",r(76629)),ace.config.setModuleUrl("ace/theme/iplastic",r(25011)),ace.config.setModuleUrl("ace/theme/katzenmilch",r(91602)),ace.config.setModuleUrl("ace/theme/kr_theme",r(91541)),ace.config.setModuleUrl("ace/theme/kuroir",r(3830)),ace.config.setModuleUrl("ace/theme/merbivore",r(80355)),ace.config.setModuleUrl("ace/theme/merbivore_soft",r(47634)),ace.config.setModuleUrl("ace/theme/mono_industrial",r(50807)),ace.config.setModuleUrl("ace/theme/monokai",r(41582)),ace.config.setModuleUrl("ace/theme/nord_dark",r(14538)),ace.config.setModuleUrl("ace/theme/one_dark",r(26131)),ace.config.setModuleUrl("ace/theme/pastel_on_dark",r(94234)),ace.config.setModuleUrl("ace/theme/solarized_dark",r(51074)),ace.config.setModuleUrl("ace/theme/solarized_light",r(77384)),ace.config.setModuleUrl("ace/theme/sqlserver",r(48651)),ace.config.setModuleUrl("ace/theme/terminal",r(77706)),ace.config.setModuleUrl("ace/theme/textmate",r(32832)),ace.config.setModuleUrl("ace/theme/tomorrow",r(61273)),ace.config.setModuleUrl("ace/theme/tomorrow_night",r(85504)),ace.config.setModuleUrl("ace/theme/tomorrow_night_blue",r(27895)),ace.config.setModuleUrl("ace/theme/tomorrow_night_bright",r(52055)),ace.config.setModuleUrl("ace/theme/tomorrow_night_eighties",r(95493)),ace.config.setModuleUrl("ace/theme/twilight",r(23922)),ace.config.setModuleUrl("ace/theme/vibrant_ink",r(97673)),ace.config.setModuleUrl("ace/theme/xcode",r(76073)),ace.config.setModuleUrl("ace/mode/base_worker",r(87696)),ace.config.setModuleUrl("ace/mode/coffee_worker",r(10445)),ace.config.setModuleUrl("ace/mode/css_worker",r(24486)),ace.config.setModuleUrl("ace/mode/html_worker",r(5728)),ace.config.setModuleUrl("ace/mode/javascript_worker",r(61302)),ace.config.setModuleUrl("ace/mode/json_worker",r(82727)),ace.config.setModuleUrl("ace/mode/lua_worker",r(6399)),ace.config.setModuleUrl("ace/mode/php_worker",r(38333)),ace.config.setModuleUrl("ace/mode/xml_worker",r(70528)),ace.config.setModuleUrl("ace/mode/xquery_worker",r(64105)),ace.config.setModuleUrl("ace/mode/yaml_worker",r(68926)),ace.config.setModuleUrl("ace/snippets/abap",r(66493)),ace.config.setModuleUrl("ace/snippets/abc",r(31231)),ace.config.setModuleUrl("ace/snippets/actionscript",r(82578)),ace.config.setModuleUrl("ace/snippets/ada",r(33851)),ace.config.setModuleUrl("ace/snippets/alda",r(89585)),ace.config.setModuleUrl("ace/snippets/apache_conf",r(25026)),ace.config.setModuleUrl("ace/snippets/apex",r(98571)),ace.config.setModuleUrl("ace/snippets/applescript",r(21472)),ace.config.setModuleUrl("ace/snippets/aql",r(27105)),ace.config.setModuleUrl("ace/snippets/asciidoc",r(50500)),ace.config.setModuleUrl("ace/snippets/asl",r(20723)),ace.config.setModuleUrl("ace/snippets/assembly_arm32",r(6016)),ace.config.setModuleUrl("ace/snippets/assembly_x86",r(30830)),ace.config.setModuleUrl("ace/snippets/astro",r(74476)),ace.config.setModuleUrl("ace/snippets/autohotkey",r(4390)),ace.config.setModuleUrl("ace/snippets/basic",r(50401)),ace.config.setModuleUrl("ace/snippets/batchfile",r(23849)),ace.config.setModuleUrl("ace/snippets/bibtex",r(73241)),ace.config.setModuleUrl("ace/snippets/c9search",r(78435)),ace.config.setModuleUrl("ace/snippets/c_cpp",r(69592)),ace.config.setModuleUrl("ace/snippets/cirru",r(34856)),ace.config.setModuleUrl("ace/snippets/clojure",r(10539)),ace.config.setModuleUrl("ace/snippets/clue",r(4314)),ace.config.setModuleUrl("ace/snippets/cobol",r(84960)),ace.config.setModuleUrl("ace/snippets/coffee",r(26051)),ace.config.setModuleUrl("ace/snippets/coldfusion",r(55233)),ace.config.setModuleUrl("ace/snippets/crystal",r(42565)),ace.config.setModuleUrl("ace/snippets/csharp",r(3920)),ace.config.setModuleUrl("ace/snippets/csound_document",r(45923)),ace.config.setModuleUrl("ace/snippets/csound_orchestra",r(94887)),ace.config.setModuleUrl("ace/snippets/csound_score",r(19358)),ace.config.setModuleUrl("ace/snippets/csp",r(77869)),ace.config.setModuleUrl("ace/snippets/css",r(53284)),ace.config.setModuleUrl("ace/snippets/csv",r(55023)),ace.config.setModuleUrl("ace/snippets/curly",r(54066)),ace.config.setModuleUrl("ace/snippets/cuttlefish",r(56222)),ace.config.setModuleUrl("ace/snippets/d",r(43355)),ace.config.setModuleUrl("ace/snippets/dart",r(37714)),ace.config.setModuleUrl("ace/snippets/diff",r(41764)),ace.config.setModuleUrl("ace/snippets/django",r(21816)),ace.config.setModuleUrl("ace/snippets/dockerfile",r(75213)),ace.config.setModuleUrl("ace/snippets/dot",r(71500)),ace.config.setModuleUrl("ace/snippets/drools",r(82366)),ace.config.setModuleUrl("ace/snippets/edifact",r(31313)),ace.config.setModuleUrl("ace/snippets/eiffel",r(84852)),ace.config.setModuleUrl("ace/snippets/ejs",r(6323)),ace.config.setModuleUrl("ace/snippets/elixir",r(78352)),ace.config.setModuleUrl("ace/snippets/elm",r(8699)),ace.config.setModuleUrl("ace/snippets/erlang",r(80956)),ace.config.setModuleUrl("ace/snippets/flix",r(56384)),ace.config.setModuleUrl("ace/snippets/forth",r(39544)),ace.config.setModuleUrl("ace/snippets/fortran",r(65317)),ace.config.setModuleUrl("ace/snippets/fsharp",r(48725)),ace.config.setModuleUrl("ace/snippets/fsl",r(78526)),ace.config.setModuleUrl("ace/snippets/ftl",r(73445)),ace.config.setModuleUrl("ace/snippets/gcode",r(77515)),ace.config.setModuleUrl("ace/snippets/gherkin",r(97217)),ace.config.setModuleUrl("ace/snippets/gitignore",r(62133)),ace.config.setModuleUrl("ace/snippets/glsl",r(48547)),ace.config.setModuleUrl("ace/snippets/gobstones",r(82033)),ace.config.setModuleUrl("ace/snippets/golang",r(97077)),ace.config.setModuleUrl("ace/snippets/graphqlschema",r(77485)),ace.config.setModuleUrl("ace/snippets/groovy",r(13821)),ace.config.setModuleUrl("ace/snippets/haml",r(27941)),ace.config.setModuleUrl("ace/snippets/handlebars",r(13315)),ace.config.setModuleUrl("ace/snippets/haskell",r(10075)),ace.config.setModuleUrl("ace/snippets/haskell_cabal",r(49231)),ace.config.setModuleUrl("ace/snippets/haxe",r(61659)),ace.config.setModuleUrl("ace/snippets/hjson",r(91373)),ace.config.setModuleUrl("ace/snippets/html",r(85974)),ace.config.setModuleUrl("ace/snippets/html_elixir",r(35886)),ace.config.setModuleUrl("ace/snippets/html_ruby",r(88673)),ace.config.setModuleUrl("ace/snippets/ini",r(25613)),ace.config.setModuleUrl("ace/snippets/io",r(50179)),ace.config.setModuleUrl("ace/snippets/ion",r(64321)),ace.config.setModuleUrl("ace/snippets/jack",r(24688)),ace.config.setModuleUrl("ace/snippets/jade",r(17429)),ace.config.setModuleUrl("ace/snippets/java",r(98527)),ace.config.setModuleUrl("ace/snippets/javascript",r(85184)),ace.config.setModuleUrl("ace/snippets/jexl",r(1902)),ace.config.setModuleUrl("ace/snippets/json",r(20397)),ace.config.setModuleUrl("ace/snippets/json5",r(62174)),ace.config.setModuleUrl("ace/snippets/jsoniq",r(34439)),ace.config.setModuleUrl("ace/snippets/jsp",r(19766)),ace.config.setModuleUrl("ace/snippets/jssm",r(26296)),ace.config.setModuleUrl("ace/snippets/jsx",r(39070)),ace.config.setModuleUrl("ace/snippets/julia",r(50666)),ace.config.setModuleUrl("ace/snippets/kotlin",r(82086)),ace.config.setModuleUrl("ace/snippets/latex",r(20107)),ace.config.setModuleUrl("ace/snippets/latte",r(23993)),ace.config.setModuleUrl("ace/snippets/less",r(37226)),ace.config.setModuleUrl("ace/snippets/liquid",r(26767)),ace.config.setModuleUrl("ace/snippets/lisp",r(77115)),ace.config.setModuleUrl("ace/snippets/livescript",r(6202)),ace.config.setModuleUrl("ace/snippets/logiql",r(54563)),ace.config.setModuleUrl("ace/snippets/logtalk",r(28251)),ace.config.setModuleUrl("ace/snippets/lsl",r(50896)),ace.config.setModuleUrl("ace/snippets/lua",r(22001)),ace.config.setModuleUrl("ace/snippets/luapage",r(8942)),ace.config.setModuleUrl("ace/snippets/lucene",r(4757)),ace.config.setModuleUrl("ace/snippets/makefile",r(46963)),ace.config.setModuleUrl("ace/snippets/markdown",r(90266)),ace.config.setModuleUrl("ace/snippets/mask",r(95783)),ace.config.setModuleUrl("ace/snippets/matlab",r(39554)),ace.config.setModuleUrl("ace/snippets/maze",r(98796)),ace.config.setModuleUrl("ace/snippets/mediawiki",r(79639)),ace.config.setModuleUrl("ace/snippets/mel",r(64833)),ace.config.setModuleUrl("ace/snippets/mips",r(86276)),ace.config.setModuleUrl("ace/snippets/mixal",r(3008)),ace.config.setModuleUrl("ace/snippets/mushcode",r(10603)),ace.config.setModuleUrl("ace/snippets/mysql",r(21665)),ace.config.setModuleUrl("ace/snippets/nasal",r(10528)),ace.config.setModuleUrl("ace/snippets/nginx",r(80395)),ace.config.setModuleUrl("ace/snippets/nim",r(95171)),ace.config.setModuleUrl("ace/snippets/nix",r(7328)),ace.config.setModuleUrl("ace/snippets/nsis",r(53644)),ace.config.setModuleUrl("ace/snippets/nunjucks",r(67256)),ace.config.setModuleUrl("ace/snippets/objectivec",r(84399)),ace.config.setModuleUrl("ace/snippets/ocaml",r(86879)),ace.config.setModuleUrl("ace/snippets/odin",r(52583)),ace.config.setModuleUrl("ace/snippets/partiql",r(57970)),ace.config.setModuleUrl("ace/snippets/pascal",r(50771)),ace.config.setModuleUrl("ace/snippets/perl",r(79442)),ace.config.setModuleUrl("ace/snippets/pgsql",r(18636)),ace.config.setModuleUrl("ace/snippets/php",r(43607)),ace.config.setModuleUrl("ace/snippets/php_laravel_blade",r(9104)),ace.config.setModuleUrl("ace/snippets/pig",r(72051)),ace.config.setModuleUrl("ace/snippets/plain_text",r(78525)),ace.config.setModuleUrl("ace/snippets/plsql",r(20687)),ace.config.setModuleUrl("ace/snippets/powershell",r(57678)),ace.config.setModuleUrl("ace/snippets/praat",r(42207)),ace.config.setModuleUrl("ace/snippets/prisma",r(46707)),ace.config.setModuleUrl("ace/snippets/prolog",r(34616)),ace.config.setModuleUrl("ace/snippets/properties",r(20014)),ace.config.setModuleUrl("ace/snippets/protobuf",r(89140)),ace.config.setModuleUrl("ace/snippets/prql",r(90816)),ace.config.setModuleUrl("ace/snippets/puppet",r(86305)),ace.config.setModuleUrl("ace/snippets/python",r(39501)),ace.config.setModuleUrl("ace/snippets/qml",r(2677)),ace.config.setModuleUrl("ace/snippets/r",r(36593)),ace.config.setModuleUrl("ace/snippets/raku",r(24414)),ace.config.setModuleUrl("ace/snippets/razor",r(14315)),ace.config.setModuleUrl("ace/snippets/rdoc",r(33983)),ace.config.setModuleUrl("ace/snippets/red",r(83156)),ace.config.setModuleUrl("ace/snippets/redshift",r(4054)),ace.config.setModuleUrl("ace/snippets/rhtml",r(23688)),ace.config.setModuleUrl("ace/snippets/robot",r(73007)),ace.config.setModuleUrl("ace/snippets/rst",r(86114)),ace.config.setModuleUrl("ace/snippets/ruby",r(79447)),ace.config.setModuleUrl("ace/snippets/rust",r(49089)),ace.config.setModuleUrl("ace/snippets/sac",r(16250)),ace.config.setModuleUrl("ace/snippets/sass",r(53241)),ace.config.setModuleUrl("ace/snippets/scad",r(78448)),ace.config.setModuleUrl("ace/snippets/scala",r(76505)),ace.config.setModuleUrl("ace/snippets/scheme",r(45812)),ace.config.setModuleUrl("ace/snippets/scrypt",r(25432)),ace.config.setModuleUrl("ace/snippets/scss",r(44363)),ace.config.setModuleUrl("ace/snippets/sh",r(79408)),ace.config.setModuleUrl("ace/snippets/sjs",r(75753)),ace.config.setModuleUrl("ace/snippets/slim",r(64422)),ace.config.setModuleUrl("ace/snippets/smarty",r(4383)),ace.config.setModuleUrl("ace/snippets/smithy",r(20505)),ace.config.setModuleUrl("ace/snippets/snippets",r(64517)),ace.config.setModuleUrl("ace/snippets/soy_template",r(79691)),ace.config.setModuleUrl("ace/snippets/space",r(40265)),ace.config.setModuleUrl("ace/snippets/sparql",r(22258)),ace.config.setModuleUrl("ace/snippets/sql",r(86715)),ace.config.setModuleUrl("ace/snippets/sqlserver",r(42540)),ace.config.setModuleUrl("ace/snippets/stylus",r(26229)),ace.config.setModuleUrl("ace/snippets/svg",r(63529)),ace.config.setModuleUrl("ace/snippets/swift",r(27256)),ace.config.setModuleUrl("ace/snippets/tcl",r(66376)),ace.config.setModuleUrl("ace/snippets/terraform",r(13743)),ace.config.setModuleUrl("ace/snippets/tex",r(4930)),ace.config.setModuleUrl("ace/snippets/text",r(43956)),ace.config.setModuleUrl("ace/snippets/textile",r(42718)),ace.config.setModuleUrl("ace/snippets/toml",r(31671)),ace.config.setModuleUrl("ace/snippets/tsv",r(40042)),ace.config.setModuleUrl("ace/snippets/tsx",r(55188)),ace.config.setModuleUrl("ace/snippets/turtle",r(39189)),ace.config.setModuleUrl("ace/snippets/twig",r(25374)),ace.config.setModuleUrl("ace/snippets/typescript",r(8448)),ace.config.setModuleUrl("ace/snippets/vala",r(71429)),ace.config.setModuleUrl("ace/snippets/vbscript",r(88528)),ace.config.setModuleUrl("ace/snippets/velocity",r(76424)),ace.config.setModuleUrl("ace/snippets/verilog",r(66809)),ace.config.setModuleUrl("ace/snippets/vhdl",r(24337)),ace.config.setModuleUrl("ace/snippets/visualforce",r(63964)),ace.config.setModuleUrl("ace/snippets/vue",r(37191)),ace.config.setModuleUrl("ace/snippets/wollok",r(17607)),ace.config.setModuleUrl("ace/snippets/xml",r(79714)),ace.config.setModuleUrl("ace/snippets/xquery",r(46059)),ace.config.setModuleUrl("ace/snippets/yaml",r(42772)),ace.config.setModuleUrl("ace/snippets/zeek",r(4878)),ace.config.setModuleUrl("ace/snippets/zig",r(60953))},82174(e,t,r){"use strict";var i=r(90351),o=r(23391),n=r(93983),s=r(43094),a=r(56075),l=r(58155),c=r(53376),h=r(29669),d=r(17327);e.exports=v,v.prototype.validate=function(e,t){if("string"==typeof e){if(!(r=this.getSchema(e)))throw Error('no schema with key or ref "'+e+'"')}else{var r,i=this._addSchema(e);r=i.validate||this._compile(i)}var o=r(t);return!0!==r.$async&&(this.errors=r.errors),o},v.prototype.compile=function(e,t){var r=this._addSchema(e,void 0,t);return r.validate||this._compile(r)},v.prototype.addSchema=function(e,t,r,i){if(Array.isArray(e)){for(var n=0;n<e.length;n++)this.addSchema(e[n],void 0,r,i);return this}var s=this._getId(e);if(void 0!==s&&"string"!=typeof s)throw Error("schema id must be string");return S(this,t=o.normalizeId(t||s)),this._schemas[t]=this._addSchema(e,r,i,!0),this},v.prototype.addMetaSchema=function(e,t,r){return this.addSchema(e,t,r,!0),this},v.prototype.validateSchema=function(e,t){var r,i,o=e.$schema;if(void 0!==o&&"string"!=typeof o)throw Error("$schema must be a string");if(!(o=o||this._opts.defaultMeta||(r=this,i=r._opts.meta,r._opts.defaultMeta="object"==typeof i?r._getId(i)||i:r.getSchema(f)?f:void 0,r._opts.defaultMeta)))return this.logger.warn("meta-schema not available"),this.errors=null,!0;var n=this.validate(o,e);if(!n&&t){var s="schema is invalid: "+this.errorsText();if("log"==this._opts.validateSchema)this.logger.error(s);else throw Error(s)}return n},v.prototype.getSchema=function(e){var t=y(this,e);switch(typeof t){case"object":return t.validate||this._compile(t);case"string":return this.getSchema(t);case"undefined":return function(e,t){var r=o.schema.call(e,{schema:{}},t);if(r){var n=r.schema,a=r.root,l=r.baseId,c=i.call(e,n,a,void 0,l);return e._fragments[t]=new s({ref:t,fragment:!0,schema:n,root:a,baseId:l,validate:c}),c}}(this,e)}},v.prototype.removeSchema=function(e){if(e instanceof RegExp)return b(this,this._schemas,e),b(this,this._refs,e),this;switch(typeof e){case"undefined":b(this,this._schemas),b(this,this._refs),this._cache.clear();break;case"string":var t=y(this,e);t&&this._cache.del(t.cacheKey),delete this._schemas[e],delete this._refs[e];break;case"object":var r=this._opts.serialize,i=r?r(e):e;this._cache.del(i);var n=this._getId(e);n&&(n=o.normalizeId(n),delete this._schemas[n],delete this._refs[n])}return this},v.prototype.addFormat=function(e,t){return"string"==typeof t&&(t=new RegExp(t)),this._formats[e]=t,this},v.prototype.errorsText=function(e,t){if(!(e=e||this.errors))return"No errors";for(var r=void 0===(t=t||{}).separator?", ":t.separator,i=void 0===t.dataVar?"data":t.dataVar,o="",n=0;n<e.length;n++){var s=e[n];s&&(o+=i+s.dataPath+" "+s.message+r)}return o.slice(0,-r.length)},v.prototype._addSchema=function(e,t,r,i){if("object"!=typeof e&&"boolean"!=typeof e)throw Error("schema should be object or boolean");var n,a=this._opts.serialize,l=a?a(e):e,c=this._cache.get(l);if(c)return c;i=i||!1!==this._opts.addUsedSchema;var h=o.normalizeId(this._getId(e));h&&i&&S(this,h);var d=!1!==this._opts.validateSchema&&!t;!d||(n=h&&h==o.normalizeId(e.$schema))||this.validateSchema(e,!0);var u=o.ids.call(this,e),p=new s({id:h,schema:e,localRefs:u,cacheKey:l,meta:r});return"#"!=h[0]&&i&&(this._refs[h]=p),this._cache.put(l,p),d&&n&&this.validateSchema(e,!0),p},v.prototype._compile=function(e,t){var r,o;if(e.compiling)return e.validate=n,n.schema=e.schema,n.errors=null,n.root=t||n,!0===e.schema.$async&&(n.$async=!0),n;e.compiling=!0,e.meta&&(r=this._opts,this._opts=this._metaOpts);try{o=i.call(this,e.schema,t,e.localRefs)}catch(t){throw delete e.validate,t}finally{e.compiling=!1,e.meta&&(this._opts=r)}return e.validate=o,e.refs=o.refs,e.refVal=o.refVal,e.root=o.root,o;function n(){var t=e.validate,r=t.apply(this,arguments);return n.errors=t.errors,r}},v.prototype.compileAsync=r(89495);var u=r(40666);v.prototype.addKeyword=u.add,v.prototype.getKeyword=u.get,v.prototype.removeKeyword=u.remove,v.prototype.validateKeyword=u.validate;var p=r(35510);v.ValidationError=p.Validation,v.MissingRefError=p.MissingRef,v.$dataMetaSchema=h;var f="http://json-schema.org/draft-07/schema",g=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],m=["/properties"];function v(e){if(!(this instanceof v))return new v(e);e=this._opts=d.copy(e)||{},function(e){var t=e._opts.logger;if(!1===t)e.logger={log:M,warn:M,error:M};else{if(void 0===t&&(t=console),!("object"==typeof t&&t.log&&t.warn&&t.error))throw Error("logger must implement log, warn and error methods");e.logger=t}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=l(e.format),this._cache=e.cache||new n,this._loadingSchemas={},this._compilations=[],this.RULES=c(),this._getId=function(e){switch(e.schemaId){case"auto":return $;case"id":return w;default:return x}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=a),this._metaOpts=function(e){for(var t=d.copy(e._opts),r=0;r<g.length;r++)delete t[g[r]];return t}(this),e.formats&&function(e){for(var t in e._opts.formats){var r=e._opts.formats[t];e.addFormat(t,r)}}(this),e.keywords&&function(e){for(var t in e._opts.keywords){var r=e._opts.keywords[t];e.addKeyword(t,r)}}(this),function(e){if(e._opts.$data&&(t=r(8633),e.addMetaSchema(t,t.$id,!0)),!1!==e._opts.meta){var t,i=r(2707);e._opts.$data&&(i=h(i,m)),e.addMetaSchema(i,f,!0),e._refs["http://json-schema.org/schema"]=f}}(this),"object"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),function(e){var t=e._opts.schemas;if(t)if(Array.isArray(t))e.addSchema(t);else for(var r in t)e.addSchema(t[r],r)}(this)}function y(e,t){return t=o.normalizeId(t),e._schemas[t]||e._refs[t]||e._fragments[t]}function b(e,t,r){for(var i in t){var o=t[i];!o.meta&&(!r||r.test(i))&&(e._cache.del(o.cacheKey),delete t[i])}}function w(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function x(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function $(e){if(e.$id&&e.id&&e.$id!=e.id)throw Error("schema $id is different from id");return e.$id||e.id}function S(e,t){if(e._schemas[t]||e._refs[t])throw Error('schema with key or id "'+t+'" already exists')}function M(){}},93983(e){"use strict";var t=e.exports=function(){this._cache={}};t.prototype.put=function(e,t){this._cache[e]=t},t.prototype.get=function(e){return this._cache[e]},t.prototype.del=function(e){delete this._cache[e]},t.prototype.clear=function(){this._cache={}}},89495(e,t,r){"use strict";var i=r(35510).MissingRef;e.exports=function e(t,r,o){var n=this;if("function"!=typeof this._opts.loadSchema)throw Error("options.loadSchema should be a function");"function"==typeof r&&(o=r,r=void 0);var s=a(t).then(function(){var e=n._addSchema(t,void 0,r);return e.validate||function e(t){try{return n._compile(t)}catch(d){if(d instanceof i){var o=d,s=o.missingSchema;if(h(s))throw Error("Schema "+s+" is loaded but "+o.missingRef+" cannot be resolved");var l=n._loadingSchemas[s];return l||(l=n._loadingSchemas[s]=n._opts.loadSchema(s)).then(c,c),l.then(function(e){if(!h(s))return a(e).then(function(){h(s)||n.addSchema(e,s,void 0,r)})}).then(function(){return e(t)});function c(){delete n._loadingSchemas[s]}function h(e){return n._refs[e]||n._schemas[e]}}throw d}}(e)});return o&&s.then(function(e){o(null,e)},o),s;function a(t){var r=t.$schema;return r&&!n.getSchema(r)?e.call(n,{$ref:r},!0):Promise.resolve()}}},35510(e,t,r){"use strict";var i=r(23391);function o(e,t,r){this.message=r||o.message(e,t),this.missingRef=i.url(e,t),this.missingSchema=i.normalizeId(i.fullPath(this.missingRef))}function n(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}e.exports={Validation:n(function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0}),MissingRef:n(o)},o.message=function(e,t){return"can't resolve reference "+t+" from id "+e}},58155(e,t,r){"use strict";var i=r(17327),o=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,n=[0,31,28,31,30,31,30,31,31,30,31,30,31],s=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,a=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,l=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,c=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,h=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,d=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,u=/^(?:\/(?:[^~/]|~0|~1)*)*$/,p=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,f=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function g(e){return e="full"==e?"full":"fast",i.copy(g[e])}function m(e){var t,r=e.match(o);if(!r)return!1;var i=+r[1],s=+r[2],a=+r[3];return s>=1&&s<=12&&a>=1&&a<=(2==s&&(t=i)%4==0&&(t%100!=0||t%400==0)?29:n[s])}function v(e,t){var r=e.match(s);if(!r)return!1;var i=r[1],o=r[2],n=r[3],a=r[5];return(i<=23&&o<=59&&n<=59||23==i&&59==o&&60==n)&&(!t||a)}e.exports=g,g.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":c,url:h,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:x,uuid:d,"json-pointer":u,"json-pointer-uri-fragment":p,"relative-json-pointer":f},g.full={date:m,time:v,"date-time":function(e){var t=e.split(y);return 2==t.length&&m(t[0])&&v(t[1],!0)},uri:function(e){return b.test(e)&&l.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":c,url:h,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:x,uuid:d,"json-pointer":u,"json-pointer-uri-fragment":p,"relative-json-pointer":f};var y=/t|\s/i,b=/\/|:/,w=/[^\\]\\Z/;function x(e){if(w.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},90351(e,t,r){"use strict";var i=r(23391),o=r(17327),n=r(35510),s=r(56075),a=r(88598),l=o.ucs2length,c=r(38792),h=n.Validation;function d(e,t,r){var i=p.call(this,e,t,r);return i>=0?{index:i,compiling:!0}:(i=this._compilations.length,this._compilations[i]={schema:e,root:t,baseId:r},{index:i,compiling:!1})}function u(e,t,r){var i=p.call(this,e,t,r);i>=0&&this._compilations.splice(i,1)}function p(e,t,r){for(var i=0;i<this._compilations.length;i++){var o=this._compilations[i];if(o.schema==e&&o.root==t&&o.baseId==r)return i}return -1}function f(e,t){return"var pattern"+e+" = new RegExp("+o.toQuotedString(t[e])+");"}function g(e){return"var default"+e+" = defaults["+e+"];"}function m(e,t){return void 0===t[e]?"":"var refVal"+e+" = refVal["+e+"];"}function v(e){return"var customRule"+e+" = customRules["+e+"];"}function y(e,t){if(!e.length)return"";for(var r="",i=0;i<e.length;i++)r+=t(i,e);return r}e.exports=function e(t,r,p,b){var w=this,x=this._opts,$=[void 0],S={},M=[],C={},A=[],E={},k=[];r=r||{schema:t,refVal:$,refs:S};var _=d.call(this,t,r,b),L=this._compilations[_.index];if(_.compiling)return L.callValidate=O;var T=this._formats,R=this.RULES;try{var I=j(t,r,p,b);L.validate=I;var D=L.callValidate;return D&&(D.schema=I.schema,D.errors=null,D.refs=I.refs,D.refVal=I.refVal,D.root=I.root,D.$async=I.$async,x.sourceCode&&(D.source=I.source)),I}finally{u.call(this,t,r,b)}function O(){var e=L.validate,t=e.apply(this,arguments);return O.errors=e.errors,t}function j(t,s,d,u){var p,b=!s||s&&s.schema==t;if(s.schema!=r.schema)return e.call(w,t,s,d,u);var C=!0===t.$async,E=a({isTop:!0,schema:t,isRoot:b,baseId:u,root:s,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:n.MissingRef,RULES:R,validate:a,util:o,resolve:i,resolveRef:P,usePattern:U,useDefault:z,useCustomRule:W,opts:x,formats:T,logger:w.logger,self:w});E=y($,m)+y(M,f)+y(A,g)+y(k,v)+E,x.processCode&&(E=x.processCode(E,t));try{p=Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",E)(w,R,T,r,$,A,k,c,l,h),$[0]=p}catch(e){throw w.logger.error("Error compiling schema, function code:",E),e}return p.schema=t,p.errors=null,p.refs=S,p.refVal=$,p.root=b?p:s,C&&(p.$async=!0),!0===x.sourceCode&&(p.source={code:E,patterns:M,defaults:A}),p}function P(t,o,n){var s,a,l,c,h,d=S[o=i.url(t,o)];if(void 0!==d)return F(c=$[d],h="refVal["+d+"]");if(!n&&r.refs){var u=r.refs[o];if(void 0!==u)return h=N(o,c=r.refVal[u]),F(c,h)}h=N(o);var f=i.call(w,j,r,o);if(void 0===f){var g=p&&p[o];g&&(f=i.inlineRef(g,x.inlineRefs)?g:e.call(w,g,r,p,t))}if(void 0!==f){return s=o,a=f,$[S[s]]=a,F(f,h)}l=o,delete S[l]}function N(e,t){var r=$.length;return $[r]=t,S[e]=r,"refVal"+r}function F(e,t){return"object"==typeof e||"boolean"==typeof e?{code:t,schema:e,inline:!0}:{code:t,$async:e&&!!e.$async}}function U(e){var t=C[e];return void 0===t&&(t=C[e]=M.length,M[t]=e),"pattern"+t}function z(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return o.toQuotedString(e);case"object":if(null===e)return"null";var t=s(e),r=E[t];return void 0===r&&(r=E[t]=A.length,A[r]=e),"default"+r}}function W(e,t,r,i){if(!1!==w._opts.validateSchema){var o,n=e.definition.dependencies;if(n&&!n.every(function(e){return Object.prototype.hasOwnProperty.call(r,e)}))throw Error("parent schema must have all required keywords: "+n.join(","));var s=e.definition.validateSchema;if(s&&!s(t)){var a="keyword schema is invalid: "+w.errorsText(s.errors);if("log"==w._opts.validateSchema)w.logger.error(a);else throw Error(a)}}var l=e.definition.compile,c=e.definition.inline,h=e.definition.macro;if(l)o=l.call(w,t,r,i);else if(h)o=h.call(w,t,r,i),!1!==x.validateSchema&&w.validateSchema(o,!0);else if(c)o=c.call(w,i,e.keyword,t,r);else if(!(o=e.definition.validate))return;if(void 0===o)throw Error('custom keyword "'+e.keyword+'"failed to compile');var d=k.length;return k[d]=o,{code:"customRule"+d,validate:o}}}},23391(e,t,r){"use strict";var i=r(2862),o=r(38792),n=r(17327),s=r(43094),a=r(1645);function l(e,t,r){var i,o,n,a=this._refs[r];if("string"==typeof a)if(!this._refs[a])return l.call(this,e,t,a);else a=this._refs[a];if((a=a||this._schemas[r])instanceof s)return f(a.schema,this._opts.inlineRefs)?a.schema:a.validate||this._compile(a);var h=c.call(this,t,r);return h&&(i=h.schema,t=h.root,n=h.baseId),i instanceof s?o=i.validate||e.call(this,i.schema,t,void 0,n):void 0!==i&&(o=f(i,this._opts.inlineRefs)?i:e.call(this,i,t,void 0,n)),o}function c(e,t){var r=i.parse(t),o=m(r),n=g(this._getId(e.schema));if(0===Object.keys(e.schema).length||o!==n){var a=y(o),l=this._refs[a];if("string"==typeof l)return h.call(this,e,l,r);if(l instanceof s)l.validate||this._compile(l),e=l;else{if(!((l=this._schemas[a])instanceof s))return;if(l.validate||this._compile(l),a==y(t))return{schema:l,root:e,baseId:n};e=l}if(!e.schema)return;n=g(this._getId(e.schema))}return u.call(this,r,n,e.schema,e)}function h(e,t,r){var i=c.call(this,e,t);if(i){var o=i.schema,n=i.baseId;e=i.root;var s=this._getId(o);return s&&(n=b(n,s)),u.call(this,r,n,o,e)}}e.exports=l,l.normalizeId=y,l.fullPath=g,l.url=b,l.ids=function(e){var t=y(this._getId(e)),r={"":t},s={"":g(t,!1)},l={},c=this;return a(e,{allKeys:!0},function(e,t,a,h,d,u,p){if(""!==t){var f=c._getId(e),g=r[h],m=s[h]+"/"+d;if(void 0!==p&&(m+="/"+("number"==typeof p?p:n.escapeFragment(p))),"string"==typeof f){f=g=y(g?i.resolve(g,f):f);var v=c._refs[f];if("string"==typeof v&&(v=c._refs[v]),v&&v.schema){if(!o(e,v.schema))throw Error('id "'+f+'" resolves to more than one schema')}else if(f!=y(m))if("#"==f[0]){if(l[f]&&!o(e,l[f]))throw Error('id "'+f+'" resolves to more than one schema');l[f]=e}else c._refs[f]=m}r[t]=g,s[t]=m}}),l},l.inlineRef=f,l.schema=c;var d=n.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function u(e,t,r,i){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var o=e.fragment.split("/"),s=1;s<o.length;s++){var a=o[s];if(a){if(void 0===(r=r[a=n.unescapeFragment(a)]))break;if(!d[a]&&((l=this._getId(r))&&(t=b(t,l)),r.$ref)){var l,h=b(t,r.$ref),u=c.call(this,i,h);u&&(r=u.schema,i=u.root,t=u.baseId)}}}if(void 0!==r&&r!==i.schema)return{schema:r,root:i,baseId:t}}}var p=n.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function f(e,t){return!1!==t&&(void 0===t||!0===t?function e(t){var r;if(Array.isArray(t)){for(var i=0;i<t.length;i++)if("object"==typeof(r=t[i])&&!e(r))return!1}else for(var o in t)if("$ref"==o||"object"==typeof(r=t[o])&&!e(r))return!1;return!0}(e):t?function e(t){var r,i=0;if(Array.isArray(t)){for(var o=0;o<t.length;o++)if("object"==typeof(r=t[o])&&(i+=e(r)),i==1/0)return 1/0}else for(var n in t){if("$ref"==n)return 1/0;if(p[n])i++;else if("object"==typeof(r=t[n])&&(i+=e(r)+1),i==1/0)return 1/0}return i}(e)<=t:void 0)}function g(e,t){return!1!==t&&(e=y(e)),m(i.parse(e))}function m(e){return i.serialize(e).split("#")[0]+"#"}var v=/#\/?$/;function y(e){return e?e.replace(v,""):""}function b(e,t){return t=y(t),i.resolve(e,t)}},53376(e,t,r){"use strict";var i=r(93890),o=r(17327).toHash;e.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"];return e.all=o(t),e.types=o(["number","integer","string","array","object","boolean","null"]),e.forEach(function(r){r.rules=r.rules.map(function(r){if("object"==typeof r){var o,n=Object.keys(r)[0];o=r[n],r=n,o.forEach(function(r){t.push(r),e.all[r]=!0})}return t.push(r),e.all[r]={keyword:r,code:i[r],implements:o}}),e.all.$comment={keyword:"$comment",code:i.$comment},r.type&&(e.types[r.type]=r)}),e.keywords=o(t.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e}},43094(e,t,r){"use strict";var i=r(17327);e.exports=function(e){i.copy(e,this)}},50786(e){"use strict";e.exports=function(e){for(var t,r=0,i=e.length,o=0;o<i;)r++,(t=e.charCodeAt(o++))>=55296&&t<=56319&&o<i&&(64512&(t=e.charCodeAt(o)))==56320&&o++;return r}},17327(e,t,r){"use strict";function i(e,t,r,i){var o=i?" !== ":" === ",n=i?" || ":" && ",s=i?"!":"",a=i?"":"!";switch(e){case"null":return t+o+"null";case"array":return s+"Array.isArray("+t+")";case"object":return"("+s+t+n+"typeof "+t+o+'"object"'+n+a+"Array.isArray("+t+"))";case"integer":return"(typeof "+t+o+'"number"'+n+a+"("+t+" % 1)"+n+t+o+t+(r?n+s+"isFinite("+t+")":"")+")";case"number":return"(typeof "+t+o+'"'+e+'"'+(r?n+s+"isFinite("+t+")":"")+")";default:return"typeof "+t+o+'"'+e+'"'}}e.exports={copy:function(e,t){for(var r in t=t||{},e)t[r]=e[r];return t},checkDataType:i,checkDataTypes:function(e,t,r){if(1===e.length)return i(e[0],t,r,!0);var o="",s=n(e);for(var a in s.array&&s.object&&(o=(s.null?"(":"(!"+t+" || ")+("typeof "+t)+' !== "object")',delete s.null,delete s.array,delete s.object),s.number&&delete s.integer,s)o+=(o?" && ":"")+i(a,t,r,!0);return o},coerceToTypes:function(e,t){if(Array.isArray(t)){for(var r=[],i=0;i<t.length;i++){var n=t[i];o[n]?r[r.length]=n:"array"===e&&"array"===n&&(r[r.length]=n)}if(r.length)return r}else if(o[t])return[t];else if("array"===e&&"array"===t)return["array"]},toHash:n,getProperty:l,escapeQuotes:c,equal:r(38792),ucs2length:r(50786),varOccurences:function(e,t){t+="[^0-9]";var r=e.match(RegExp(t,"g"));return r?r.length:0},varReplace:function(e,t,r){return t+="([^0-9])",r=r.replace(/\$/g,"$$$$"),e.replace(RegExp(t,"g"),r+"$1")},schemaHasRules:function(e,t){if("boolean"==typeof e)return!e;for(var r in e)if(t[r])return!0},schemaHasRulesExcept:function(e,t,r){if("boolean"==typeof e)return!e&&"not"!=r;for(var i in e)if(i!=r&&t[i])return!0},schemaUnknownRules:function(e,t){if("boolean"!=typeof e){for(var r in e)if(!t[r])return r}},toQuotedString:h,getPathExpr:function(e,t,r,i){return p(e,r?"'/' + "+t+(i?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):i?"'[' + "+t+" + ']'":"'[\\'' + "+t+" + '\\']'")},getPath:function(e,t,r){return p(e,r?h("/"+f(t)):h(l(t)))},getData:function(e,t,r){if(""===e)return"rootData";if("/"==e[0]){if(!d.test(e))throw Error("Invalid JSON-pointer: "+e);o=e,n="rootData"}else{if(!(s=e.match(u)))throw Error("Invalid JSON-pointer: "+e);if(i=+s[1],"#"==(o=s[2])){if(i>=t)throw Error("Cannot access property/index "+i+" levels up, current level is "+t);return r[t-i]}if(i>t)throw Error("Cannot access data "+i+" levels up, current level is "+t);if(n="data"+(t-i||""),!o)return n}for(var i,o,n,s,a=n,c=o.split("/"),h=0;h<c.length;h++){var p=c[h];p&&(n+=l(g(p)),a+=" && "+n)}return a},unescapeFragment:function(e){return g(decodeURIComponent(e))},unescapeJsonPointer:g,escapeFragment:function(e){return encodeURIComponent(f(e))},escapeJsonPointer:f};var o=n(["string","number","integer","boolean","null"]);function n(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=!0;return t}var s=/^[a-z$_][a-z$_0-9]*$/i,a=/'|\\/g;function l(e){return"number"==typeof e?"["+e+"]":s.test(e)?"."+e:"['"+c(e)+"']"}function c(e){return e.replace(a,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}function h(e){return"'"+c(e)+"'"}var d=/^\/(?:[^~]|~0|~1)*$/,u=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function p(e,t){return'""'==e?t:(e+" + "+t).replace(/([^\\])' \+ '/g,"$1")}function f(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function g(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}},29669(e){"use strict";var t=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,r){for(var i=0;i<r.length;i++){e=JSON.parse(JSON.stringify(e));var o,n=r[i].split("/"),s=e;for(o=1;o<n.length;o++)s=s[n[o]];for(o=0;o<t.length;o++){var a=t[o],l=s[a];l&&(s[a]={anyOf:[l,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]})}}return e}},1572(e,t,r){"use strict";var i=r(2707);e.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:i.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:i.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},83732(e){"use strict";e.exports=function(e,t,r){var i,o,n=" ",s=e.level,a=e.dataLevel,l=e.schema[t],c=e.schemaPath+e.util.getProperty(t),h=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(a||""),p=e.opts.$data&&l&&l.$data;p?(n+=" var schema"+s+" = "+e.util.getData(l.$data,a,e.dataPathArr)+"; ",o="schema"+s):o=l;var f="maximum"==t,g=f?"exclusiveMaximum":"exclusiveMinimum",m=e.schema[g],v=e.opts.$data&&m&&m.$data,y=f?"<":">",b=f?">":"<",i=void 0;if(!(p||"number"==typeof l||void 0===l))throw Error(t+" must be number");if(!(v||void 0===m||"number"==typeof m||"boolean"==typeof m))throw Error(g+" must be number or boolean");if(v){var w=e.util.getData(m.$data,a,e.dataPathArr),x="exclusive"+s,$="exclType"+s,S="exclIsNumber"+s,M="op"+s,C="' + "+M+" + '";n+=" var schemaExcl"+s+" = "+w+"; ",n+=" var "+x+"; var "+$+" = typeof "+(w="schemaExcl"+s)+"; if ("+$+" != 'boolean' && "+$+" != 'undefined' && "+$+" != 'number') { ";var i=g,A=A||[];A.push(n),n="",!1!==e.createErrors?(n+=" { keyword: '"+(i||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: '"+g+" should be boolean' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),n+=" } "):n+=" {} ";var E=n;n=A.pop(),!e.compositeRule&&d?e.async?n+=" throw new ValidationError(["+E+"]); ":n+=" validate.errors = ["+E+"]; return false; ":n+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else if ( ",p&&(n+=" ("+o+" !== undefined && typeof "+o+" != 'number') || "),n+=" "+$+" == 'number' ? ( ("+x+" = "+o+" === undefined || "+w+" "+y+"= "+o+") ? "+u+" "+b+"= "+w+" : "+u+" "+b+" "+o+" ) : ( ("+x+" = "+w+" === true) ? "+u+" "+b+"= "+o+" : "+u+" "+b+" "+o+" ) || "+u+" !== "+u+") { var op"+s+" = "+x+" ? '"+y+"' : '"+y+"='; ",void 0===l&&(i=g,h=e.errSchemaPath+"/"+g,o=w,p=v)}else{var S="number"==typeof m,C=y;if(S&&p){var M="'"+C+"'";n+=" if ( ",p&&(n+=" ("+o+" !== undefined && typeof "+o+" != 'number') || "),n+=" ( "+o+" === undefined || "+m+" "+y+"= "+o+" ? "+u+" "+b+"= "+m+" : "+u+" "+b+" "+o+" ) || "+u+" !== "+u+") { "}else{S&&void 0===l?(x=!0,i=g,h=e.errSchemaPath+"/"+g,o=m,b+="="):(S&&(o=Math[f?"min":"max"](m,l)),m===(!S||o)?(x=!0,i=g,h=e.errSchemaPath+"/"+g,b+="="):(x=!1,C+="="));var M="'"+C+"'";n+=" if ( ",p&&(n+=" ("+o+" !== undefined && typeof "+o+" != 'number') || "),n+=" "+u+" "+b+" "+o+" || "+u+" !== "+u+") { "}}i=i||t;var A=A||[];A.push(n),n="",!1!==e.createErrors?(n+=" { keyword: '"+(i||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { comparison: "+M+", limit: "+o+", exclusive: "+x+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be "+C+" ",p?n+="' + "+o:n+=""+o+"'"),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+l,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),n+=" } "):n+=" {} ";var E=n;return n=A.pop(),!e.compositeRule&&d?e.async?n+=" throw new ValidationError(["+E+"]); ":n+=" validate.errors = ["+E+"]; return false; ":n+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",d&&(n+=" else { "),n}},18354(e){"use strict";e.exports=function(e,t,r){var i,o,n=" ",s=e.level,a=e.dataLevel,l=e.schema[t],c=e.schemaPath+e.util.getProperty(t),h=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(a||""),p=e.opts.$data&&l&&l.$data;if(p?(n+=" var schema"+s+" = "+e.util.getData(l.$data,a,e.dataPathArr)+"; ",o="schema"+s):o=l,!(p||"number"==typeof l))throw Error(t+" must be number");var f="maxItems"==t?">":"<";n+="if ( ",p&&(n+=" ("+o+" !== undefined && typeof "+o+" != 'number') || "),n+=" "+u+".length "+f+" "+o+") { ";var i=t,g=g||[];g.push(n),n="",!1!==e.createErrors?(n+=" { keyword: '"+(i||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { limit: "+o+" } ",!1!==e.opts.messages&&(n+=" , message: 'should NOT have ","maxItems"==t?n+="more":n+="fewer",n+=" than ",p?n+="' + "+o+" + '":n+=""+l,n+=" items' "),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+l,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),n+=" } "):n+=" {} ";var m=n;return n=g.pop(),!e.compositeRule&&d?e.async?n+=" throw new ValidationError(["+m+"]); ":n+=" validate.errors = ["+m+"]; return false; ":n+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",d&&(n+=" else { "),n}},22204(e){"use strict";e.exports=function(e,t,r){var i,o,n=" ",s=e.level,a=e.dataLevel,l=e.schema[t],c=e.schemaPath+e.util.getProperty(t),h=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(a||""),p=e.opts.$data&&l&&l.$data;if(p?(n+=" var schema"+s+" = "+e.util.getData(l.$data,a,e.dataPathArr)+"; ",o="schema"+s):o=l,!(p||"number"==typeof l))throw Error(t+" must be number");var f="maxLength"==t?">":"<";n+="if ( ",p&&(n+=" ("+o+" !== undefined && typeof "+o+" != 'number') || "),!1===e.opts.unicode?n+=" "+u+".length ":n+=" ucs2length("+u+") ",n+=" "+f+" "+o+") { ";var i=t,g=g||[];g.push(n),n="",!1!==e.createErrors?(n+=" { keyword: '"+(i||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { limit: "+o+" } ",!1!==e.opts.messages&&(n+=" , message: 'should NOT be ","maxLength"==t?n+="longer":n+="shorter",n+=" than ",p?n+="' + "+o+" + '":n+=""+l,n+=" characters' "),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+l,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),n+=" } "):n+=" {} ";var m=n;return n=g.pop(),!e.compositeRule&&d?e.async?n+=" throw new ValidationError(["+m+"]); ":n+=" validate.errors = ["+m+"]; return false; ":n+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",d&&(n+=" else { "),n}},28921(e){"use strict";e.exports=function(e,t,r){var i,o,n=" ",s=e.level,a=e.dataLevel,l=e.schema[t],c=e.schemaPath+e.util.getProperty(t),h=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(a||""),p=e.opts.$data&&l&&l.$data;if(p?(n+=" var schema"+s+" = "+e.util.getData(l.$data,a,e.dataPathArr)+"; ",o="schema"+s):o=l,!(p||"number"==typeof l))throw Error(t+" must be number");var f="maxProperties"==t?">":"<";n+="if ( ",p&&(n+=" ("+o+" !== undefined && typeof "+o+" != 'number') || "),n+=" Object.keys("+u+").length "+f+" "+o+") { ";var i=t,g=g||[];g.push(n),n="",!1!==e.createErrors?(n+=" { keyword: '"+(i||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { limit: "+o+" } ",!1!==e.opts.messages&&(n+=" , message: 'should NOT have ","maxProperties"==t?n+="more":n+="fewer",n+=" than ",p?n+="' + "+o+" + '":n+=""+l,n+=" properties' "),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+l,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),n+=" } "):n+=" {} ";var m=n;return n=g.pop(),!e.compositeRule&&d?e.async?n+=" throw new ValidationError(["+m+"]); ":n+=" validate.errors = ["+m+"]; return false; ":n+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",d&&(n+=" else { "),n}},7916(e){"use strict";e.exports=function(e,t,r){var i=" ",o=e.schema[t],n=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,a=!e.opts.allErrors,l=e.util.copy(e),c="";l.level++;var h="valid"+l.level,d=l.baseId,u=!0;if(o)for(var p,f=-1,g=o.length-1;f<g;)p=o[f+=1],(e.opts.strictKeywords?"object"==typeof p&&Object.keys(p).length>0||!1===p:e.util.schemaHasRules(p,e.RULES.all))&&(u=!1,l.schema=p,l.schemaPath=n+"["+f+"]",l.errSchemaPath=s+"/"+f,i+=" "+e.validate(l)+" ",l.baseId=d,a&&(i+=" if ("+h+") { ",c+="}"));return a&&(u?i+=" if (true) { ":i+=" "+c.slice(0,-1)+" "),i}},82945(e){"use strict";e.exports=function(e,t,r){var i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="valid"+o,d="errs__"+o,u=e.util.copy(e),p="";u.level++;var f="valid"+u.level;if(s.every(function(t){return e.opts.strictKeywords?"object"==typeof t&&Object.keys(t).length>0||!1===t:e.util.schemaHasRules(t,e.RULES.all)})){var g=u.baseId;i+=" var "+d+" = errors; var "+h+" = false; ";var m=e.compositeRule;if(e.compositeRule=u.compositeRule=!0,s)for(var v=-1,y=s.length-1;v<y;)u.schema=s[v+=1],u.schemaPath=a+"["+v+"]",u.errSchemaPath=l+"/"+v,i+=" "+e.validate(u)+" ",u.baseId=g,i+=" "+h+" = "+h+" || "+f+"; if (!"+h+") { ",p+="}";e.compositeRule=u.compositeRule=m,i+=" "+p+" if (!"+h+") { var err = ",!1!==e.createErrors?(i+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: 'should match some schema in anyOf' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: data"+(n||"")+" "),i+=" } "):i+=" {} ",i+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?i+=" throw new ValidationError(vErrors); ":i+=" validate.errors = vErrors; return false; "),i+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.opts.allErrors&&(i+=" } ")}else c&&(i+=" if (true) { ");return i}},33523(e){"use strict";e.exports=function(e,t,r){var i=" ",o=e.schema[t],n=e.errSchemaPath+"/"+t;e.opts.allErrors;var s=e.util.toQuotedString(o);return!0===e.opts.$comment?i+=" console.log("+s+");":"function"==typeof e.opts.$comment&&(i+=" self._opts.$comment("+s+", "+e.util.toQuotedString(n)+", validate.root.schema);"),i}},45433(e){"use strict";e.exports=function(e,t,r){var i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(n||""),d="valid"+o,u=e.opts.$data&&s&&s.$data;u&&(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; "),u||(i+=" var schema"+o+" = validate.schema"+a+";"),i+="var "+d+" = equal("+h+", schema"+o+"); if (!"+d+") { ";var p=p||[];p.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValue: schema"+o+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be equal to constant' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var f=i;return i=p.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+f+"]); ":i+=" validate.errors = ["+f+"]; return false; ":i+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" }",c&&(i+=" else { "),i}},10877(e){"use strict";e.exports=function(e,t,r){var i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(n||""),d="errs__"+o,u=e.util.copy(e);u.level++;var p="valid"+u.level,f="i"+o,g=u.dataLevel=e.dataLevel+1,m="data"+g,v=e.baseId,y=e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0||!1===s:e.util.schemaHasRules(s,e.RULES.all);if(i+="var "+d+" = errors;var valid"+o+";",y){var b=e.compositeRule;e.compositeRule=u.compositeRule=!0,u.schema=s,u.schemaPath=a,u.errSchemaPath=l,i+=" var "+p+" = false; for (var "+f+" = 0; "+f+" < "+h+".length; "+f+"++) { ",u.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers,!0);var w=h+"["+f+"]";u.dataPathArr[g]=f;var x=e.validate(u);u.baseId=v,2>e.util.varOccurences(x,m)?i+=" "+e.util.varReplace(x,m,w)+" ":i+=" var "+m+" = "+w+"; "+x+" ",i+=" if ("+p+") break; } ",e.compositeRule=u.compositeRule=b,i+=" if (!"+p+") {"}else i+=" if ("+h+".length == 0) {";var $=$||[];$.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: 'should contain a valid item' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var S=i;return i=$.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+S+"]); ":i+=" validate.errors = ["+S+"]; return false; ":i+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else { ",y&&(i+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } "),e.opts.allErrors&&(i+=" } "),i}},31887(e){"use strict";e.exports=function(e,t,r){var i,o,n,s,a,l,c,h=" ",d=e.level,u=e.dataLevel,p=e.schema[t],f=e.schemaPath+e.util.getProperty(t),g=e.errSchemaPath+"/"+t,m=!e.opts.allErrors,v="data"+(u||""),y="valid"+d,b="errs__"+d,w=e.opts.$data&&p&&p.$data;w?(h+=" var schema"+d+" = "+e.util.getData(p.$data,u,e.dataPathArr)+"; ",c="schema"+d):c=p;var x="definition"+d,$=this.definition,S="";if(w&&$.$data){a="keywordValidate"+d;var M=$.validateSchema;h+=" var "+x+" = RULES.custom['"+t+"'].definition; var "+a+" = "+x+".validate;"}else{if(!(s=e.useCustomRule(this,p,e.schema,e)))return;c="validate.schema"+f,a=s.code,i=$.compile,o=$.inline,n=$.macro}var C=a+".errors",A="i"+d,E="ruleErr"+d,k=$.async;if(k&&!e.async)throw Error("async keyword in sync schema");if(o||n||(h+=""+C+" = null;"),h+="var "+b+" = errors;var "+y+";",w&&$.$data&&(S+="}",h+=" if ("+c+" === undefined) { "+y+" = true; } else { ",M&&(S+="}",h+=" "+y+" = "+x+".validateSchema("+c+"); if ("+y+") { ")),o)$.statements?h+=" "+s.validate+" ":h+=" "+y+" = "+s.validate+"; ";else if(n){var _=e.util.copy(e),S="";_.level++;var L="valid"+_.level;_.schema=s.validate,_.schemaPath="";var T=e.compositeRule;e.compositeRule=_.compositeRule=!0;var R=e.validate(_).replace(/validate\.schema/g,a);e.compositeRule=_.compositeRule=T,h+=" "+R}else{var I=I||[];I.push(h),h=" "+a+".call( ",e.opts.passContext?h+="this":h+="self",i||!1===$.schema?h+=" , "+v+" ":h+=" , "+c+" , "+v+" , validate.schema"+e.schemaPath+" ",h+=" , (dataPath || '')",'""'!=e.errorPath&&(h+=" + "+e.errorPath);var D=u?"data"+(u-1||""):"parentData",O=u?e.dataPathArr[u]:"parentDataProperty",j=h+=" , "+D+" , "+O+" , rootData ) ";h=I.pop(),!1===$.errors?(h+=" "+y+" = ",k&&(h+="await "),h+=""+j+"; "):k?h+=" var "+(C="customErrors"+d)+" = null; try { "+y+" = await "+j+"; } catch (e) { "+y+" = false; if (e instanceof ValidationError) "+C+" = e.errors; else throw e; } ":h+=" "+C+" = null; "+y+" = "+j+"; "}if($.modifying&&(h+=" if ("+D+") "+v+" = "+D+"["+O+"];"),h+=""+S,$.valid)m&&(h+=" if (true) { ");else{h+=" if ( ",void 0===$.valid?(h+=" !",n?h+=""+L:h+=""+y):h+=" "+!$.valid+" ",h+=") { ",l=this.keyword;var I=I||[];I.push(h),h="";var I=I||[];I.push(h),h="",!1!==e.createErrors?(h+=" { keyword: '"+(l||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { keyword: '"+this.keyword+"' } ",!1!==e.opts.messages&&(h+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),e.opts.verbose&&(h+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+v+" "),h+=" } "):h+=" {} ";var P=h;h=I.pop(),!e.compositeRule&&m?e.async?h+=" throw new ValidationError(["+P+"]); ":h+=" validate.errors = ["+P+"]; return false; ":h+=" var err = "+P+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var N=h;h=I.pop(),o?$.errors?"full"!=$.errors&&(h+=" for (var "+A+"="+b+"; "+A+"<errors; "+A+"++) { var "+E+" = vErrors["+A+"]; if ("+E+".dataPath === undefined) "+E+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+E+".schemaPath === undefined) { "+E+'.schemaPath = "'+g+'"; } ',e.opts.verbose&&(h+=" "+E+".schema = "+c+"; "+E+".data = "+v+"; "),h+=" } "):!1===$.errors?h+=" "+N+" ":(h+=" if ("+b+" == errors) { "+N+" } else { for (var "+A+"="+b+"; "+A+"<errors; "+A+"++) { var "+E+" = vErrors["+A+"]; if ("+E+".dataPath === undefined) "+E+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+E+".schemaPath === undefined) { "+E+'.schemaPath = "'+g+'"; } ',e.opts.verbose&&(h+=" "+E+".schema = "+c+"; "+E+".data = "+v+"; "),h+=" } } "):n?(h+=" var err = ",!1!==e.createErrors?(h+=" { keyword: '"+(l||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { keyword: '"+this.keyword+"' } ",!1!==e.opts.messages&&(h+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),e.opts.verbose&&(h+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+v+" "),h+=" } "):h+=" {} ",h+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&m&&(e.async?h+=" throw new ValidationError(vErrors); ":h+=" validate.errors = vErrors; return false; ")):!1===$.errors?h+=" "+N+" ":(h+=" if (Array.isArray("+C+")) { if (vErrors === null) vErrors = "+C+"; else vErrors = vErrors.concat("+C+"); errors = vErrors.length; for (var "+A+"="+b+"; "+A+"<errors; "+A+"++) { var "+E+" = vErrors["+A+"]; if ("+E+".dataPath === undefined) "+E+".dataPath = (dataPath || '') + "+e.errorPath+"; "+E+'.schemaPath = "'+g+'"; ',e.opts.verbose&&(h+=" "+E+".schema = "+c+"; "+E+".data = "+v+"; "),h+=" } } else { "+N+" } "),h+=" } ",m&&(h+=" else { ")}return h}},68694(e){"use strict";e.exports=function(e,t,r){var i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(n||""),d="errs__"+o,u=e.util.copy(e),p="";u.level++;var f="valid"+u.level,g={},m={},v=e.opts.ownProperties;for(x in s)if("__proto__"!=x){var y=s[x],b=Array.isArray(y)?m:g;b[x]=y}i+="var "+d+" = errors;";var w=e.errorPath;for(var x in i+="var missing"+o+";",m)if((b=m[x]).length){if(i+=" if ( "+h+e.util.getProperty(x)+" !== undefined ",v&&(i+=" && Object.prototype.hasOwnProperty.call("+h+", '"+e.util.escapeQuotes(x)+"') "),c){i+=" && ( ";var $=b;if($)for(var S,M=-1,C=$.length-1;M<C;){S=$[M+=1],M&&(i+=" || ");var A=e.util.getProperty(S),E=h+A;i+=" ( ( "+E+" === undefined ",v&&(i+=" || ! Object.prototype.hasOwnProperty.call("+h+", '"+e.util.escapeQuotes(S)+"') "),i+=") && (missing"+o+" = "+e.util.toQuotedString(e.opts.jsonPointers?S:A)+") ) "}i+=")) { ";var k="missing"+o,_="' + "+k+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(w,k,!0):w+" + "+k);var L=L||[];L.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(x)+"', missingProperty: '"+_+"', depsCount: "+b.length+", deps: '"+e.util.escapeQuotes(1==b.length?b[0]:b.join(", "))+"' } ",!1!==e.opts.messages&&(i+=" , message: 'should have ",1==b.length?i+="property "+e.util.escapeQuotes(b[0]):i+="properties "+e.util.escapeQuotes(b.join(", ")),i+=" when property "+e.util.escapeQuotes(x)+" is present' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var T=i;i=L.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+T+"]); ":i+=" validate.errors = ["+T+"]; return false; ":i+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{i+=" ) { ";var R=b;if(R)for(var S,I=-1,D=R.length-1;I<D;){S=R[I+=1];var A=e.util.getProperty(S),_=e.util.escapeQuotes(S),E=h+A;e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(w,S,e.opts.jsonPointers)),i+=" if ( "+E+" === undefined ",v&&(i+=" || ! Object.prototype.hasOwnProperty.call("+h+", '"+e.util.escapeQuotes(S)+"') "),i+=") { var err = ",!1!==e.createErrors?(i+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(x)+"', missingProperty: '"+_+"', depsCount: "+b.length+", deps: '"+e.util.escapeQuotes(1==b.length?b[0]:b.join(", "))+"' } ",!1!==e.opts.messages&&(i+=" , message: 'should have ",1==b.length?i+="property "+e.util.escapeQuotes(b[0]):i+="properties "+e.util.escapeQuotes(b.join(", ")),i+=" when property "+e.util.escapeQuotes(x)+" is present' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ",i+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}i+=" } ",c&&(p+="}",i+=" else { ")}e.errorPath=w;var O=u.baseId;for(var x in g){var y=g[x];(e.opts.strictKeywords?"object"==typeof y&&Object.keys(y).length>0||!1===y:e.util.schemaHasRules(y,e.RULES.all))&&(i+=" "+f+" = true; if ( "+h+e.util.getProperty(x)+" !== undefined ",v&&(i+=" && Object.prototype.hasOwnProperty.call("+h+", '"+e.util.escapeQuotes(x)+"') "),i+=") { ",u.schema=y,u.schemaPath=a+e.util.getProperty(x),u.errSchemaPath=l+"/"+e.util.escapeFragment(x),i+=" "+e.validate(u)+" ",u.baseId=O,i+=" } ",c&&(i+=" if ("+f+") { ",p+="}"))}return c&&(i+=" "+p+" if ("+d+" == errors) {"),i}},81997(e){"use strict";e.exports=function(e,t,r){var i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(n||""),d="valid"+o,u=e.opts.$data&&s&&s.$data;u&&(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ");var p="i"+o,f="schema"+o;u||(i+=" var "+f+" = validate.schema"+a+";"),i+="var "+d+";",u&&(i+=" if (schema"+o+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+o+")) "+d+" = false; else {"),i+=""+d+" = false;for (var "+p+"=0; "+p+"<"+f+".length; "+p+"++) if (equal("+h+", "+f+"["+p+"])) { "+d+" = true; break; }",u&&(i+=" } "),i+=" if (!"+d+") { ";var g=g||[];g.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValues: schema"+o+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var m=i;return i=g.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" }",c&&(i+=" else { "),i}},4243(e){"use strict";e.exports=function(e,t,r){var i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(n||"");if(!1===e.opts.format)return c&&(i+=" if (true) { "),i;var d,u=e.opts.$data&&s&&s.$data;u?(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ",d="schema"+o):d=s;var p=e.opts.unknownFormats,f=Array.isArray(p);if(u){var g="format"+o,m="isObject"+o,v="formatType"+o;i+=" var "+g+" = formats["+d+"]; var "+m+" = typeof "+g+" == 'object' && !("+g+" instanceof RegExp) && "+g+".validate; var "+v+" = "+m+" && "+g+".type || 'string'; if ("+m+") { ",e.async&&(i+=" var async"+o+" = "+g+".async; "),i+=" "+g+" = "+g+".validate; } if ( ",u&&(i+=" ("+d+" !== undefined && typeof "+d+" != 'string') || "),i+=" (","ignore"!=p&&(i+=" ("+d+" && !"+g+" ",f&&(i+=" && self._opts.unknownFormats.indexOf("+d+") == -1 "),i+=") || "),i+=" ("+g+" && "+v+" == '"+r+"' && !(typeof "+g+" == 'function' ? ",e.async?i+=" (async"+o+" ? await "+g+"("+h+") : "+g+"("+h+")) ":i+=" "+g+"("+h+") ",i+=" : "+g+".test("+h+"))))) {"}else{var g=e.formats[s];if(!g)if("ignore"==p)return e.logger.warn('unknown format "'+s+'" ignored in schema at path "'+e.errSchemaPath+'"'),c&&(i+=" if (true) { "),i;else if(f&&p.indexOf(s)>=0)return c&&(i+=" if (true) { "),i;else throw Error('unknown format "'+s+'" is used in schema at path "'+e.errSchemaPath+'"');var m="object"==typeof g&&!(g instanceof RegExp)&&g.validate,v=m&&g.type||"string";if(m){var y=!0===g.async;g=g.validate}if(v!=r)return c&&(i+=" if (true) { "),i;if(y){if(!e.async)throw Error("async format in sync schema");var b="formats"+e.util.getProperty(s)+".validate";i+=" if (!(await "+b+"("+h+"))) { "}else{i+=" if (! ";var b="formats"+e.util.getProperty(s);m&&(b+=".validate"),"function"==typeof g?i+=" "+b+"("+h+") ":i+=" "+b+".test("+h+") ",i+=") { "}}var w=w||[];w.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { format: ",u?i+=""+d:i+=""+e.util.toQuotedString(s),i+=" } ",!1!==e.opts.messages&&(i+=" , message: 'should match format \"",u?i+="' + "+d+" + '":i+=""+e.util.escapeQuotes(s),i+="\"' "),e.opts.verbose&&(i+=" , schema: ",u?i+="validate.schema"+a:i+=""+e.util.toQuotedString(s),i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var x=i;return i=w.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+x+"]); ":i+=" validate.errors = ["+x+"]; return false; ":i+=" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",c&&(i+=" else { "),i}},49295(e){"use strict";e.exports=function(e,t,r){var i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="valid"+o,d="errs__"+o,u=e.util.copy(e);u.level++;var p="valid"+u.level,f=e.schema.then,g=e.schema.else,m=void 0!==f&&(e.opts.strictKeywords?"object"==typeof f&&Object.keys(f).length>0||!1===f:e.util.schemaHasRules(f,e.RULES.all)),v=void 0!==g&&(e.opts.strictKeywords?"object"==typeof g&&Object.keys(g).length>0||!1===g:e.util.schemaHasRules(g,e.RULES.all)),y=u.baseId;if(m||v){u.createErrors=!1,u.schema=s,u.schemaPath=a,u.errSchemaPath=l,i+=" var "+d+" = errors; var "+h+" = true; ";var b,w=e.compositeRule;e.compositeRule=u.compositeRule=!0,i+=" "+e.validate(u)+" ",u.baseId=y,u.createErrors=!0,i+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.compositeRule=u.compositeRule=w,m?(i+=" if ("+p+") { ",u.schema=e.schema.then,u.schemaPath=e.schemaPath+".then",u.errSchemaPath=e.errSchemaPath+"/then",i+=" "+e.validate(u)+" ",u.baseId=y,i+=" "+h+" = "+p+"; ",m&&v?i+=" var "+(b="ifClause"+o)+" = 'then'; ":b="'then'",i+=" } ",v&&(i+=" else { ")):i+=" if (!"+p+") { ",v&&(u.schema=e.schema.else,u.schemaPath=e.schemaPath+".else",u.errSchemaPath=e.errSchemaPath+"/else",i+=" "+e.validate(u)+" ",u.baseId=y,i+=" "+h+" = "+p+"; ",m&&v?i+=" var "+(b="ifClause"+o)+" = 'else'; ":b="'else'",i+=" } "),i+=" if (!"+h+") { var err = ",!1!==e.createErrors?(i+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { failingKeyword: "+b+" } ",!1!==e.opts.messages&&(i+=" , message: 'should match \"' + "+b+" + '\" schema' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: data"+(n||"")+" "),i+=" } "):i+=" {} ",i+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?i+=" throw new ValidationError(vErrors); ":i+=" validate.errors = vErrors; return false; "),i+=" } ",c&&(i+=" else { ")}else c&&(i+=" if (true) { ");return i}},93890(e,t,r){"use strict";e.exports={$ref:r(47963),allOf:r(7916),anyOf:r(82945),$comment:r(33523),const:r(45433),contains:r(10877),dependencies:r(68694),enum:r(81997),format:r(4243),if:r(49295),items:r(24998),maximum:r(83732),minimum:r(83732),maxItems:r(18354),minItems:r(18354),maxLength:r(22204),minLength:r(22204),maxProperties:r(28921),minProperties:r(28921),multipleOf:r(10613),not:r(99387),oneOf:r(50539),pattern:r(99224),properties:r(95709),propertyNames:r(71449),required:r(85673),uniqueItems:r(21131),validate:r(88598)}},24998(e){"use strict";e.exports=function(e,t,r){var i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(n||""),d="valid"+o,u="errs__"+o,p=e.util.copy(e),f="";p.level++;var g="valid"+p.level,m="i"+o,v=p.dataLevel=e.dataLevel+1,y="data"+v,b=e.baseId;if(i+="var "+u+" = errors;var "+d+";",Array.isArray(s)){var w=e.schema.additionalItems;if(!1===w){i+=" "+d+" = "+h+".length <= "+s.length+"; ";var x=l;l=e.errSchemaPath+"/additionalItems",i+=" if (!"+d+") { ";var $=$||[];$.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+s.length+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have more than "+s.length+" items' "),e.opts.verbose&&(i+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var S=i;i=$.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+S+"]); ":i+=" validate.errors = ["+S+"]; return false; ":i+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",l=x,c&&(f+="}",i+=" else { ")}if(s){for(var M,C=-1,A=s.length-1;C<A;)if(M=s[C+=1],e.opts.strictKeywords?"object"==typeof M&&Object.keys(M).length>0||!1===M:e.util.schemaHasRules(M,e.RULES.all)){i+=" "+g+" = true; if ("+h+".length > "+C+") { ";var E=h+"["+C+"]";p.schema=M,p.schemaPath=a+"["+C+"]",p.errSchemaPath=l+"/"+C,p.errorPath=e.util.getPathExpr(e.errorPath,C,e.opts.jsonPointers,!0),p.dataPathArr[v]=C;var k=e.validate(p);p.baseId=b,2>e.util.varOccurences(k,y)?i+=" "+e.util.varReplace(k,y,E)+" ":i+=" var "+y+" = "+E+"; "+k+" ",i+=" } ",c&&(i+=" if ("+g+") { ",f+="}")}}if("object"==typeof w&&(e.opts.strictKeywords?"object"==typeof w&&Object.keys(w).length>0||!1===w:e.util.schemaHasRules(w,e.RULES.all))){p.schema=w,p.schemaPath=e.schemaPath+".additionalItems",p.errSchemaPath=e.errSchemaPath+"/additionalItems",i+=" "+g+" = true; if ("+h+".length > "+s.length+") { for (var "+m+" = "+s.length+"; "+m+" < "+h+".length; "+m+"++) { ",p.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);var E=h+"["+m+"]";p.dataPathArr[v]=m;var k=e.validate(p);p.baseId=b,2>e.util.varOccurences(k,y)?i+=" "+e.util.varReplace(k,y,E)+" ":i+=" var "+y+" = "+E+"; "+k+" ",c&&(i+=" if (!"+g+") break; "),i+=" } } ",c&&(i+=" if ("+g+") { ",f+="}")}}else if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0||!1===s:e.util.schemaHasRules(s,e.RULES.all)){p.schema=s,p.schemaPath=a,p.errSchemaPath=l,i+=" for (var "+m+" = 0; "+m+" < "+h+".length; "+m+"++) { ",p.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);var E=h+"["+m+"]";p.dataPathArr[v]=m;var k=e.validate(p);p.baseId=b,2>e.util.varOccurences(k,y)?i+=" "+e.util.varReplace(k,y,E)+" ":i+=" var "+y+" = "+E+"; "+k+" ",c&&(i+=" if (!"+g+") break; "),i+=" }"}return c&&(i+=" "+f+" if ("+u+" == errors) {"),i}},10613(e){"use strict";e.exports=function(e,t,r){var i,o=" ",n=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,d="data"+(s||""),u=e.opts.$data&&a&&a.$data;if(u?(o+=" var schema"+n+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",i="schema"+n):i=a,!(u||"number"==typeof a))throw Error(t+" must be number");o+="var division"+n+";if (",u&&(o+=" "+i+" !== undefined && ( typeof "+i+" != 'number' || "),o+=" (division"+n+" = "+d+" / "+i+", ",e.opts.multipleOfPrecision?o+=" Math.abs(Math.round(division"+n+") - division"+n+") > 1e-"+e.opts.multipleOfPrecision+" ":o+=" division"+n+" !== parseInt(division"+n+") ",o+=" ) ",u&&(o+=" ) "),o+=" ) { ";var p=p||[];p.push(o),o="",!1!==e.createErrors?(o+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { multipleOf: "+i+" } ",!1!==e.opts.messages&&(o+=" , message: 'should be multiple of ",u?o+="' + "+i:o+=""+i+"'"),e.opts.verbose&&(o+=" , schema: ",u?o+="validate.schema"+l:o+=""+a,o+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),o+=" } "):o+=" {} ";var f=o;return o=p.pop(),!e.compositeRule&&h?e.async?o+=" throw new ValidationError(["+f+"]); ":o+=" validate.errors = ["+f+"]; return false; ":o+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",o+="} ",h&&(o+=" else { "),o}},99387(e){"use strict";e.exports=function(e,t,r){var i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(n||""),d="errs__"+o,u=e.util.copy(e);u.level++;var p="valid"+u.level;if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0||!1===s:e.util.schemaHasRules(s,e.RULES.all)){u.schema=s,u.schemaPath=a,u.errSchemaPath=l,i+=" var "+d+" = errors; ";var f,g=e.compositeRule;e.compositeRule=u.compositeRule=!0,u.createErrors=!1,u.opts.allErrors&&(f=u.opts.allErrors,u.opts.allErrors=!1),i+=" "+e.validate(u)+" ",u.createErrors=!0,f&&(u.opts.allErrors=f),e.compositeRule=u.compositeRule=g,i+=" if ("+p+") { ";var m=m||[];m.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be valid' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var v=i;i=m.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+v+"]); ":i+=" validate.errors = ["+v+"]; return false; ":i+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.opts.allErrors&&(i+=" } ")}else i+=" var err = ",!1!==e.createErrors?(i+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be valid' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ",i+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(i+=" if (false) { ");return i}},50539(e){"use strict";e.exports=function(e,t,r){var i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="valid"+o,d="errs__"+o,u=e.util.copy(e),p="";u.level++;var f="valid"+u.level,g=u.baseId,m="prevValid"+o,v="passingSchemas"+o;i+="var "+d+" = errors , "+m+" = false , "+h+" = false , "+v+" = null; ";var y=e.compositeRule;if(e.compositeRule=u.compositeRule=!0,s)for(var b,w=-1,x=s.length-1;w<x;)b=s[w+=1],(e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0||!1===b:e.util.schemaHasRules(b,e.RULES.all))?(u.schema=b,u.schemaPath=a+"["+w+"]",u.errSchemaPath=l+"/"+w,i+=" "+e.validate(u)+" ",u.baseId=g):i+=" var "+f+" = true; ",w&&(i+=" if ("+f+" && "+m+") { "+h+" = false; "+v+" = ["+v+", "+w+"]; } else { ",p+="}"),i+=" if ("+f+") { "+h+" = "+m+" = true; "+v+" = "+w+"; }";return e.compositeRule=u.compositeRule=y,i+=""+p+"if (!"+h+") { var err = ",!1!==e.createErrors?(i+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { passingSchemas: "+v+" } ",!1!==e.opts.messages&&(i+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: data"+(n||"")+" "),i+=" } "):i+=" {} ",i+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?i+=" throw new ValidationError(vErrors); ":i+=" validate.errors = vErrors; return false; "),i+="} else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; }",e.opts.allErrors&&(i+=" } "),i}},99224(e){"use strict";e.exports=function(e,t,r){var i,o=" ",n=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,d="data"+(s||""),u=e.opts.$data&&a&&a.$data;u?(o+=" var schema"+n+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",i="schema"+n):i=a;var p=u?"(new RegExp("+i+"))":e.usePattern(a);o+="if ( ",u&&(o+=" ("+i+" !== undefined && typeof "+i+" != 'string') || "),o+=" !"+p+".test("+d+") ) { ";var f=f||[];f.push(o),o="",!1!==e.createErrors?(o+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { pattern: ",u?o+=""+i:o+=""+e.util.toQuotedString(a),o+=" } ",!1!==e.opts.messages&&(o+=" , message: 'should match pattern \"",u?o+="' + "+i+" + '":o+=""+e.util.escapeQuotes(a),o+="\"' "),e.opts.verbose&&(o+=" , schema: ",u?o+="validate.schema"+l:o+=""+e.util.toQuotedString(a),o+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),o+=" } "):o+=" {} ";var g=o;return o=f.pop(),!e.compositeRule&&h?e.async?o+=" throw new ValidationError(["+g+"]); ":o+=" validate.errors = ["+g+"]; return false; ":o+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",o+="} ",h&&(o+=" else { "),o}},95709(e){"use strict";e.exports=function(e,t,r){var i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(n||""),d="errs__"+o,u=e.util.copy(e),p="";u.level++;var f="valid"+u.level,g="key"+o,m="idx"+o,v=u.dataLevel=e.dataLevel+1,y="data"+v,b="dataProperties"+o,w=Object.keys(s||{}).filter(R),x=e.schema.patternProperties||{},$=Object.keys(x).filter(R),S=e.schema.additionalProperties,M=w.length||$.length,C=!1===S,A="object"==typeof S&&Object.keys(S).length,E=e.opts.removeAdditional,k=e.opts.ownProperties,_=e.baseId,L=e.schema.required;if(L&&!(e.opts.$data&&L.$data)&&L.length<e.opts.loopRequired)var T=e.util.toHash(L);function R(e){return"__proto__"!==e}if(i+="var "+d+" = errors;var "+f+" = true;",k&&(i+=" var "+b+" = undefined;"),C||A||E){if(k?i+=" "+b+" = "+b+" || Object.keys("+h+"); for (var "+m+"=0; "+m+"<"+b+".length; "+m+"++) { var "+g+" = "+b+"["+m+"]; ":i+=" for (var "+g+" in "+h+") { ",M){if(i+=" var isAdditional"+o+" = !(false ",w.length){if(w.length>8)i+=" || validate.schema"+a+".hasOwnProperty("+g+") ";else if(w)for(var I,D=-1,O=w.length-1;D<O;)I=w[D+=1],i+=" || "+g+" == "+e.util.toQuotedString(I)+" "}if($.length&&$)for(var j,P=-1,N=$.length-1;P<N;)j=$[P+=1],i+=" || "+e.usePattern(j)+".test("+g+") ";i+=" ); if (isAdditional"+o+") { "}if("all"==E)i+=" delete "+h+"["+g+"]; ";else{var F=e.errorPath,U="' + "+g+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers)),C)if(E)i+=" delete "+h+"["+g+"]; ";else{i+=" "+f+" = false; ";var z=l;l=e.errSchemaPath+"/additionalProperties";var W=W||[];W.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { additionalProperty: '"+U+"' } ",!1!==e.opts.messages&&(i+=" , message: '",e.opts._errorDataPathProperty?i+="is an invalid additional property":i+="should NOT have additional properties",i+="' "),e.opts.verbose&&(i+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var H=i;i=W.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+H+"]); ":i+=" validate.errors = ["+H+"]; return false; ":i+=" var err = "+H+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=z,c&&(i+=" break; ")}else if(A)if("failing"==E){i+=" var "+d+" = errors; ";var B=e.compositeRule;e.compositeRule=u.compositeRule=!0,u.schema=S,u.schemaPath=e.schemaPath+".additionalProperties",u.errSchemaPath=e.errSchemaPath+"/additionalProperties",u.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers);var V=h+"["+g+"]";u.dataPathArr[v]=g;var G=e.validate(u);u.baseId=_,2>e.util.varOccurences(G,y)?i+=" "+e.util.varReplace(G,y,V)+" ":i+=" var "+y+" = "+V+"; "+G+" ",i+=" if (!"+f+") { errors = "+d+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+h+"["+g+"]; } ",e.compositeRule=u.compositeRule=B}else{u.schema=S,u.schemaPath=e.schemaPath+".additionalProperties",u.errSchemaPath=e.errSchemaPath+"/additionalProperties",u.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers);var V=h+"["+g+"]";u.dataPathArr[v]=g;var G=e.validate(u);u.baseId=_,2>e.util.varOccurences(G,y)?i+=" "+e.util.varReplace(G,y,V)+" ":i+=" var "+y+" = "+V+"; "+G+" ",c&&(i+=" if (!"+f+") break; ")}e.errorPath=F}M&&(i+=" } "),i+=" } ",c&&(i+=" if ("+f+") { ",p+="}")}var K=e.opts.useDefaults&&!e.compositeRule;if(w.length&&w)for(var I,Q=-1,Y=w.length-1;Q<Y;){var q=s[I=w[Q+=1]];if(e.opts.strictKeywords?"object"==typeof q&&Object.keys(q).length>0||!1===q:e.util.schemaHasRules(q,e.RULES.all)){var Z=e.util.getProperty(I),V=h+Z,X=K&&void 0!==q.default;u.schema=q,u.schemaPath=a+Z,u.errSchemaPath=l+"/"+e.util.escapeFragment(I),u.errorPath=e.util.getPath(e.errorPath,I,e.opts.jsonPointers),u.dataPathArr[v]=e.util.toQuotedString(I);var G=e.validate(u);if(u.baseId=_,2>e.util.varOccurences(G,y)){G=e.util.varReplace(G,y,V);var J=V}else{var J=y;i+=" var "+y+" = "+V+"; "}if(X)i+=" "+G+" ";else{if(T&&T[I]){i+=" if ( "+J+" === undefined ",k&&(i+=" || ! Object.prototype.hasOwnProperty.call("+h+", '"+e.util.escapeQuotes(I)+"') "),i+=") { "+f+" = false; ";var F=e.errorPath,z=l,ee=e.util.escapeQuotes(I);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(F,I,e.opts.jsonPointers)),l=e.errSchemaPath+"/required";var W=W||[];W.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+ee+"' } ",!1!==e.opts.messages&&(i+=" , message: '",e.opts._errorDataPathProperty?i+="is a required property":i+="should have required property \\'"+ee+"\\'",i+="' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var H=i;i=W.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+H+"]); ":i+=" validate.errors = ["+H+"]; return false; ":i+=" var err = "+H+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=z,e.errorPath=F,i+=" } else { "}else c?(i+=" if ( "+J+" === undefined ",k&&(i+=" || ! Object.prototype.hasOwnProperty.call("+h+", '"+e.util.escapeQuotes(I)+"') "),i+=") { "+f+" = true; } else { "):(i+=" if ("+J+" !== undefined ",k&&(i+=" && Object.prototype.hasOwnProperty.call("+h+", '"+e.util.escapeQuotes(I)+"') "),i+=" ) { ");i+=" "+G+" } "}}c&&(i+=" if ("+f+") { ",p+="}")}if($.length&&$)for(var j,et=-1,er=$.length-1;et<er;){var q=x[j=$[et+=1]];if(e.opts.strictKeywords?"object"==typeof q&&Object.keys(q).length>0||!1===q:e.util.schemaHasRules(q,e.RULES.all)){u.schema=q,u.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(j),u.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(j),k?i+=" "+b+" = "+b+" || Object.keys("+h+"); for (var "+m+"=0; "+m+"<"+b+".length; "+m+"++) { var "+g+" = "+b+"["+m+"]; ":i+=" for (var "+g+" in "+h+") { ",i+=" if ("+e.usePattern(j)+".test("+g+")) { ",u.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers);var V=h+"["+g+"]";u.dataPathArr[v]=g;var G=e.validate(u);u.baseId=_,2>e.util.varOccurences(G,y)?i+=" "+e.util.varReplace(G,y,V)+" ":i+=" var "+y+" = "+V+"; "+G+" ",c&&(i+=" if (!"+f+") break; "),i+=" } ",c&&(i+=" else "+f+" = true; "),i+=" } ",c&&(i+=" if ("+f+") { ",p+="}")}}return c&&(i+=" "+p+" if ("+d+" == errors) {"),i}},71449(e){"use strict";e.exports=function(e,t,r){var i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(n||""),d="errs__"+o,u=e.util.copy(e);u.level++;var p="valid"+u.level;if(i+="var "+d+" = errors;",e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0||!1===s:e.util.schemaHasRules(s,e.RULES.all)){u.schema=s,u.schemaPath=a,u.errSchemaPath=l;var f="key"+o,g="idx"+o,m="i"+o,v="' + "+f+" + '",y="data"+(u.dataLevel=e.dataLevel+1),b="dataProperties"+o,w=e.opts.ownProperties,x=e.baseId;w&&(i+=" var "+b+" = undefined; "),w?i+=" "+b+" = "+b+" || Object.keys("+h+"); for (var "+g+"=0; "+g+"<"+b+".length; "+g+"++) { var "+f+" = "+b+"["+g+"]; ":i+=" for (var "+f+" in "+h+") { ",i+=" var startErrs"+o+" = errors; ";var $=e.compositeRule;e.compositeRule=u.compositeRule=!0;var S=e.validate(u);u.baseId=x,2>e.util.varOccurences(S,y)?i+=" "+e.util.varReplace(S,y,f)+" ":i+=" var "+y+" = "+f+"; "+S+" ",e.compositeRule=u.compositeRule=$,i+=" if (!"+p+") { for (var "+m+"=startErrs"+o+"; "+m+"<errors; "+m+"++) { vErrors["+m+"].propertyName = "+f+"; } var err = ",!1!==e.createErrors?(i+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { propertyName: '"+v+"' } ",!1!==e.opts.messages&&(i+=" , message: 'property name \\'"+v+"\\' is invalid' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ",i+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?i+=" throw new ValidationError(vErrors); ":i+=" validate.errors = vErrors; return false; "),c&&(i+=" break; "),i+=" } }"}return c&&(i+=" if ("+d+" == errors) {"),i}},47963(e){"use strict";e.exports=function(e,t,r){var i,o,n=" ",s=e.level,a=e.dataLevel,l=e.schema[t],c=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,d="data"+(a||""),u="valid"+s;if("#"==l||"#/"==l)e.isRoot?(i=e.async,o="validate"):(i=!0===e.root.schema.$async,o="root.refVal[0]");else{var p=e.resolveRef(e.baseId,l,e.isRoot);if(void 0===p){var f=e.MissingRefError.message(e.baseId,l);if("fail"==e.opts.missingRefs){e.logger.error(f);var g=g||[];g.push(n),n="",!1!==e.createErrors?(n+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { ref: '"+e.util.escapeQuotes(l)+"' } ",!1!==e.opts.messages&&(n+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(l)+"' "),e.opts.verbose&&(n+=" , schema: "+e.util.toQuotedString(l)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var m=n;n=g.pop(),!e.compositeRule&&h?e.async?n+=" throw new ValidationError(["+m+"]); ":n+=" validate.errors = ["+m+"]; return false; ":n+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",h&&(n+=" if (false) { ")}else if("ignore"==e.opts.missingRefs)e.logger.warn(f),h&&(n+=" if (true) { ");else throw new e.MissingRefError(e.baseId,l,f)}else if(p.inline){var v=e.util.copy(e);v.level++;var y="valid"+v.level;v.schema=p.schema,v.schemaPath="",v.errSchemaPath=l,n+=" "+e.validate(v).replace(/validate\.schema/g,p.code)+" ",h&&(n+=" if ("+y+") { ")}else i=!0===p.$async||e.async&&!1!==p.$async,o=p.code}if(o){var g=g||[];g.push(n),n="",e.opts.passContext?n+=" "+o+".call(this, ":n+=" "+o+"( ",n+=" "+d+", (dataPath || '')",'""'!=e.errorPath&&(n+=" + "+e.errorPath);var b=a?e.dataPathArr[a]:"parentDataProperty",w=n+=" , "+(a?"data"+(a-1||""):"parentData")+" , "+b+", rootData) ";if(n=g.pop(),i){if(!e.async)throw Error("async schema referenced by sync schema");h&&(n+=" var "+u+"; "),n+=" try { await "+w+"; ",h&&(n+=" "+u+" = true; "),n+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",h&&(n+=" "+u+" = false; "),n+=" } ",h&&(n+=" if ("+u+") { ")}else n+=" if (!"+w+") { if (vErrors === null) vErrors = "+o+".errors; else vErrors = vErrors.concat("+o+".errors); errors = vErrors.length; } ",h&&(n+=" else { ")}return n}},85673(e){"use strict";e.exports=function(e,t,r){var i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(n||""),d="valid"+o,u=e.opts.$data&&s&&s.$data;u&&(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ");var p="schema"+o;if(!u)if(s.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var f=[];if(s)for(var g,m=-1,v=s.length-1;m<v;){g=s[m+=1];var y=e.schema.properties[g];y&&(e.opts.strictKeywords?"object"==typeof y&&Object.keys(y).length>0||!1===y:e.util.schemaHasRules(y,e.RULES.all))||(f[f.length]=g)}}else var f=s;if(u||f.length){var b=e.errorPath,w=u||f.length>=e.opts.loopRequired,x=e.opts.ownProperties;if(c)if(i+=" var missing"+o+"; ",w){u||(i+=" var "+p+" = validate.schema"+a+"; ");var $="i"+o,S="schema"+o+"["+$+"]",M="' + "+S+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,S,e.opts.jsonPointers)),i+=" var "+d+" = true; ",u&&(i+=" if (schema"+o+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+o+")) "+d+" = false; else {"),i+=" for (var "+$+" = 0; "+$+" < "+p+".length; "+$+"++) { "+d+" = "+h+"["+p+"["+$+"]] !== undefined ",x&&(i+=" && Object.prototype.hasOwnProperty.call("+h+", "+p+"["+$+"]) "),i+="; if (!"+d+") break; } ",u&&(i+=" } "),i+=" if (!"+d+") { ";var C=C||[];C.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+M+"' } ",!1!==e.opts.messages&&(i+=" , message: '",e.opts._errorDataPathProperty?i+="is a required property":i+="should have required property \\'"+M+"\\'",i+="' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var A=i;i=C.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+A+"]); ":i+=" validate.errors = ["+A+"]; return false; ":i+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else { "}else{i+=" if ( ";var E=f;if(E)for(var k,$=-1,_=E.length-1;$<_;){k=E[$+=1],$&&(i+=" || ");var L=e.util.getProperty(k),T=h+L;i+=" ( ( "+T+" === undefined ",x&&(i+=" || ! Object.prototype.hasOwnProperty.call("+h+", '"+e.util.escapeQuotes(k)+"') "),i+=") && (missing"+o+" = "+e.util.toQuotedString(e.opts.jsonPointers?k:L)+") ) "}i+=") { ";var S="missing"+o,M="' + "+S+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(b,S,!0):b+" + "+S);var C=C||[];C.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+M+"' } ",!1!==e.opts.messages&&(i+=" , message: '",e.opts._errorDataPathProperty?i+="is a required property":i+="should have required property \\'"+M+"\\'",i+="' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var A=i;i=C.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+A+"]); ":i+=" validate.errors = ["+A+"]; return false; ":i+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else { "}else if(w){u||(i+=" var "+p+" = validate.schema"+a+"; ");var $="i"+o,S="schema"+o+"["+$+"]",M="' + "+S+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,S,e.opts.jsonPointers)),u&&(i+=" if ("+p+" && !Array.isArray("+p+")) { var err = ",!1!==e.createErrors?(i+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+M+"' } ",!1!==e.opts.messages&&(i+=" , message: '",e.opts._errorDataPathProperty?i+="is a required property":i+="should have required property \\'"+M+"\\'",i+="' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ",i+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+p+" !== undefined) { "),i+=" for (var "+$+" = 0; "+$+" < "+p+".length; "+$+"++) { if ("+h+"["+p+"["+$+"]] === undefined ",x&&(i+=" || ! Object.prototype.hasOwnProperty.call("+h+", "+p+"["+$+"]) "),i+=") { var err = ",!1!==e.createErrors?(i+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+M+"' } ",!1!==e.opts.messages&&(i+=" , message: '",e.opts._errorDataPathProperty?i+="is a required property":i+="should have required property \\'"+M+"\\'",i+="' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ",i+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",u&&(i+=" } ")}else{var R=f;if(R)for(var k,I=-1,D=R.length-1;I<D;){k=R[I+=1];var L=e.util.getProperty(k),M=e.util.escapeQuotes(k),T=h+L;e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(b,k,e.opts.jsonPointers)),i+=" if ( "+T+" === undefined ",x&&(i+=" || ! Object.prototype.hasOwnProperty.call("+h+", '"+e.util.escapeQuotes(k)+"') "),i+=") { var err = ",!1!==e.createErrors?(i+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+M+"' } ",!1!==e.opts.messages&&(i+=" , message: '",e.opts._errorDataPathProperty?i+="is a required property":i+="should have required property \\'"+M+"\\'",i+="' "),e.opts.verbose&&(i+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ",i+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=b}else c&&(i+=" if (true) {");return i}},21131(e){"use strict";e.exports=function(e,t,r){var i,o=" ",n=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,d="data"+(s||""),u="valid"+n,p=e.opts.$data&&a&&a.$data;if(p?(o+=" var schema"+n+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",i="schema"+n):i=a,(a||p)&&!1!==e.opts.uniqueItems){p&&(o+=" var "+u+"; if ("+i+" === false || "+i+" === undefined) "+u+" = true; else if (typeof "+i+" != 'boolean') "+u+" = false; else { "),o+=" var i = "+d+".length , "+u+" = true , j; if (i > 1) { ";var f=e.schema.items&&e.schema.items.type,g=Array.isArray(f);!f||"object"==f||"array"==f||g&&(f.indexOf("object")>=0||f.indexOf("array")>=0)?o+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+d+"[i], "+d+"[j])) { "+u+" = false; break outer; } } } ":(o+=" var itemIndices = {}, item; for (;i--;) { var item = "+d+"[i]; ",o+=" if ("+e.util["checkDataType"+(g?"s":"")](f,"item",e.opts.strictNumbers,!0)+") continue; ",g&&(o+=" if (typeof item == 'string') item = '\"' + item; "),o+=" if (typeof itemIndices[item] == 'number') { "+u+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "),o+=" } ",p&&(o+=" } "),o+=" if (!"+u+") { ";var m=m||[];m.push(o),o="",!1!==e.createErrors?(o+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(o+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(o+=" , schema: ",p?o+="validate.schema"+l:o+=""+a,o+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),o+=" } "):o+=" {} ";var v=o;o=m.pop(),!e.compositeRule&&h?e.async?o+=" throw new ValidationError(["+v+"]); ":o+=" validate.errors = ["+v+"]; return false; ":o+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",o+=" } ",h&&(o+=" else { ")}else h&&(o+=" if (true) { ");return o}},88598(e){"use strict";e.exports=function(e,t,r){var i="",o=!0===e.schema.$async,n=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),s=e.self._getId(e.schema);if(e.opts.strictKeywords){var a=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(a){var l="unknown keyword: "+a;if("log"===e.opts.strictKeywords)e.logger.warn(l);else throw Error(l)}}if(e.isTop&&(i+=" var validate = ",o&&(e.async=!0,i+="async "),i+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",s&&(e.opts.sourceCode||e.opts.processCode)&&(i+=" /*# sourceURL="+s+" */ ")),"boolean"==typeof e.schema||!(n||e.schema.$ref)){var c,t="false schema",h=e.level,d=e.dataLevel,u=e.schema[t],p=e.schemaPath+e.util.getProperty(t),f=e.errSchemaPath+"/"+t,g=!e.opts.allErrors,m="data"+(d||""),v="valid"+h;if(!1===e.schema){e.isTop?g=!0:i+=" var "+v+" = false; ";var y=y||[];y.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(c||"false schema")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: 'boolean schema is false' "),e.opts.verbose&&(i+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),i+=" } "):i+=" {} ";var b=i;i=y.pop(),!e.compositeRule&&g?e.async?i+=" throw new ValidationError(["+b+"]); ":i+=" validate.errors = ["+b+"]; return false; ":i+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?o?i+=" return data; ":i+=" validate.errors = null; return true; ":i+=" var "+v+" = true; ";return e.isTop&&(i+=" }; return validate; "),i}if(e.isTop){var w=e.isTop,h=e.level=0,d=e.dataLevel=0,m="data";if(e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[""],void 0!==e.schema.default&&e.opts.useDefaults&&e.opts.strictDefaults){var x="default is ignored in the schema root";if("log"===e.opts.strictDefaults)e.logger.warn(x);else throw Error(x)}i+=" var vErrors = null; ",i+=" var errors = 0; ",i+=" if (rootData === undefined) rootData = data; "}else{var h=e.level,d=e.dataLevel,m="data"+(d||"");if(s&&(e.baseId=e.resolve.url(e.baseId,s)),o&&!e.async)throw Error("async schema in sync schema");i+=" var errs_"+h+" = errors;"}var v="valid"+h,g=!e.opts.allErrors,$="",S="",M=e.schema.type,C=Array.isArray(M);if(M&&e.opts.nullable&&!0===e.schema.nullable&&(C?-1==M.indexOf("null")&&(M=M.concat("null")):"null"!=M&&(M=[M,"null"],C=!0)),C&&1==M.length&&(M=M[0],C=!1),e.schema.$ref&&n)if("fail"==e.opts.extendRefs)throw Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');else!0!==e.opts.extendRefs&&(n=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'));if(e.schema.$comment&&e.opts.$comment&&(i+=" "+e.RULES.all.$comment.code(e,"$comment")),M){if(e.opts.coerceTypes)var A=e.util.coerceToTypes(e.opts.coerceTypes,M);var E=e.RULES.types[M];if(A||C||!0===E||E&&!J(E)){var p=e.schemaPath+".type",f=e.errSchemaPath+"/type",p=e.schemaPath+".type",f=e.errSchemaPath+"/type",k=C?"checkDataTypes":"checkDataType";if(i+=" if ("+e.util[k](M,m,e.opts.strictNumbers,!0)+") { ",A){var _="dataType"+h,L="coerced"+h;i+=" var "+_+" = typeof "+m+"; var "+L+" = undefined; ","array"==e.opts.coerceTypes&&(i+=" if ("+_+" == 'object' && Array.isArray("+m+") && "+m+".length == 1) { "+m+" = "+m+"[0]; "+_+" = typeof "+m+"; if ("+e.util.checkDataType(e.schema.type,m,e.opts.strictNumbers)+") "+L+" = "+m+"; } "),i+=" if ("+L+" !== undefined) ; ";var T=A;if(T)for(var c,R,I=-1,D=T.length-1;I<D;)"string"==(R=T[I+=1])?i+=" else if ("+_+" == 'number' || "+_+" == 'boolean') "+L+" = '' + "+m+"; else if ("+m+" === null) "+L+" = ''; ":"number"==R||"integer"==R?(i+=" else if ("+_+" == 'boolean' || "+m+" === null || ("+_+" == 'string' && "+m+" && "+m+" == +"+m+" ","integer"==R&&(i+=" && !("+m+" % 1)"),i+=")) "+L+" = +"+m+"; "):"boolean"==R?i+=" else if ("+m+" === 'false' || "+m+" === 0 || "+m+" === null) "+L+" = false; else if ("+m+" === 'true' || "+m+" === 1) "+L+" = true; ":"null"==R?i+=" else if ("+m+" === '' || "+m+" === 0 || "+m+" === false) "+L+" = null; ":"array"==e.opts.coerceTypes&&"array"==R&&(i+=" else if ("+_+" == 'string' || "+_+" == 'number' || "+_+" == 'boolean' || "+m+" == null) "+L+" = ["+m+"]; ");i+=" else { ";var y=y||[];y.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(c||"type")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: { type: '",C?i+=""+M.join(","):i+=""+M,i+="' } ",!1!==e.opts.messages&&(i+=" , message: 'should be ",C?i+=""+M.join(","):i+=""+M,i+="' "),e.opts.verbose&&(i+=" , schema: validate.schema"+p+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),i+=" } "):i+=" {} ";var b=i;i=y.pop(),!e.compositeRule&&g?e.async?i+=" throw new ValidationError(["+b+"]); ":i+=" validate.errors = ["+b+"]; return false; ":i+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } if ("+L+" !== undefined) { ";var O=d?"data"+(d-1||""):"parentData",j=d?e.dataPathArr[d]:"parentDataProperty";i+=" "+m+" = "+L+"; ",d||(i+="if ("+O+" !== undefined)"),i+=" "+O+"["+j+"] = "+L+"; } "}else{var y=y||[];y.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(c||"type")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: { type: '",C?i+=""+M.join(","):i+=""+M,i+="' } ",!1!==e.opts.messages&&(i+=" , message: 'should be ",C?i+=""+M.join(","):i+=""+M,i+="' "),e.opts.verbose&&(i+=" , schema: validate.schema"+p+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),i+=" } "):i+=" {} ";var b=i;i=y.pop(),!e.compositeRule&&g?e.async?i+=" throw new ValidationError(["+b+"]); ":i+=" validate.errors = ["+b+"]; return false; ":i+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}i+=" } "}}if(e.schema.$ref&&!n)i+=" "+e.RULES.all.$ref.code(e,"$ref")+" ",g&&(i+=" } if (errors === ",w?i+="0":i+="errs_"+h,i+=") { ",S+="}");else{var P=e.RULES;if(P){for(var E,N=-1,F=P.length-1;N<F;)if(J(E=P[N+=1])){if(E.type&&(i+=" if ("+e.util.checkDataType(E.type,m,e.opts.strictNumbers)+") { "),e.opts.useDefaults){if("object"==E.type&&e.schema.properties){var u=e.schema.properties,U=Object.keys(u);if(U)for(var z,W=-1,H=U.length-1;W<H;){var B=u[z=U[W+=1]];if(void 0!==B.default){var V=m+e.util.getProperty(z);if(e.compositeRule){if(e.opts.strictDefaults){var x="default is ignored for: "+V;if("log"===e.opts.strictDefaults)e.logger.warn(x);else throw Error(x)}}else i+=" if ("+V+" === undefined ","empty"==e.opts.useDefaults&&(i+=" || "+V+" === null || "+V+" === '' "),i+=" ) "+V+" = ","shared"==e.opts.useDefaults?i+=" "+e.useDefault(B.default)+" ":i+=" "+JSON.stringify(B.default)+" ",i+="; "}}}else if("array"==E.type&&Array.isArray(e.schema.items)){var G=e.schema.items;if(G){for(var B,I=-1,K=G.length-1;I<K;)if(void 0!==(B=G[I+=1]).default){var V=m+"["+I+"]";if(e.compositeRule){if(e.opts.strictDefaults){var x="default is ignored for: "+V;if("log"===e.opts.strictDefaults)e.logger.warn(x);else throw Error(x)}}else i+=" if ("+V+" === undefined ","empty"==e.opts.useDefaults&&(i+=" || "+V+" === null || "+V+" === '' "),i+=" ) "+V+" = ","shared"==e.opts.useDefaults?i+=" "+e.useDefault(B.default)+" ":i+=" "+JSON.stringify(B.default)+" ",i+="; "}}}}var Q=E.rules;if(Q){for(var Y,q=-1,Z=Q.length-1;q<Z;)if(ee(Y=Q[q+=1])){var X=Y.code(e,Y.keyword,E.type);X&&(i+=" "+X+" ",g&&($+="}"))}}if(g&&(i+=" "+$+" ",$=""),E.type&&(i+=" } ",M&&M===E.type&&!A)){i+=" else { ";var p=e.schemaPath+".type",f=e.errSchemaPath+"/type",y=y||[];y.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(c||"type")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: { type: '",C?i+=""+M.join(","):i+=""+M,i+="' } ",!1!==e.opts.messages&&(i+=" , message: 'should be ",C?i+=""+M.join(","):i+=""+M,i+="' "),e.opts.verbose&&(i+=" , schema: validate.schema"+p+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),i+=" } "):i+=" {} ";var b=i;i=y.pop(),!e.compositeRule&&g?e.async?i+=" throw new ValidationError(["+b+"]); ":i+=" validate.errors = ["+b+"]; return false; ":i+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } "}g&&(i+=" if (errors === ",w?i+="0":i+="errs_"+h,i+=") { ",S+="}")}}}function J(e){for(var t=e.rules,r=0;r<t.length;r++)if(ee(t[r]))return!0}function ee(t){return void 0!==e.schema[t.keyword]||t.implements&&function(t){for(var r=t.implements,i=0;i<r.length;i++)if(void 0!==e.schema[r[i]])return!0}(t)}return g&&(i+=" "+S+" "),w?(o?(i+=" if (errors === 0) return data; ",i+=" else throw new ValidationError(vErrors); "):(i+=" validate.errors = vErrors; ",i+=" return errors === 0; "),i+=" }; return validate;"):i+=" var "+v+" = errors === errs_"+h+";",i}},40666(e,t,r){"use strict";var i=/^[a-z_$][a-z0-9_$-]*$/i,o=r(31887),n=r(1572);function s(e,t){s.errors=null;var r=this._validateKeyword=this._validateKeyword||this.compile(n,!0);if(r(e))return!0;if(s.errors=r.errors,!t)return!1;throw Error("custom keyword definition is invalid: "+this.errorsText(r.errors))}e.exports={add:function(e,t){var r=this.RULES;if(r.keywords[e])throw Error("Keyword "+e+" is already defined");if(!i.test(e))throw Error("Keyword "+e+" is not a valid identifier");if(t){this.validateKeyword(t,!0);var n=t.type;if(Array.isArray(n))for(var s=0;s<n.length;s++)l(e,n[s],t);else l(e,n,t);var a=t.metaSchema;a&&(t.$data&&this._opts.$data&&(a={anyOf:[a,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]}),t.validateSchema=this.compile(a,!0))}function l(e,t,i){for(var n,s=0;s<r.length;s++){var a=r[s];if(a.type==t){n=a;break}}n||(n={type:t,rules:[]},r.push(n));var l={keyword:e,definition:i,custom:!0,code:o,implements:i.implements};n.rules.push(l),r.custom[e]=l}return r.keywords[e]=r.all[e]=!0,this},get:function(e){var t=this.RULES.custom[e];return t?t.definition:this.RULES.keywords[e]||!1},remove:function(e){var t=this.RULES;delete t.keywords[e],delete t.all[e],delete t.custom[e];for(var r=0;r<t.length;r++)for(var i=t[r].rules,o=0;o<i.length;o++)if(i[o].keyword==e){i.splice(o,1);break}return this},validate:s}},56022(e){var t=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32};t.Diff=function(e,t){return[e,t]},t.prototype.diff_main=function(e,r,i,o){void 0===o&&(o=this.Diff_Timeout<=0?Number.MAX_VALUE:(new Date).getTime()+1e3*this.Diff_Timeout);var n=o;if(null==e||null==r)throw Error("Null input. (diff_main)");if(e==r)return e?[new t.Diff(0,e)]:[];void 0===i&&(i=!0);var s=i,a=this.diff_commonPrefix(e,r),l=e.substring(0,a);e=e.substring(a),r=r.substring(a),a=this.diff_commonSuffix(e,r);var c=e.substring(e.length-a);e=e.substring(0,e.length-a),r=r.substring(0,r.length-a);var h=this.diff_compute_(e,r,s,n);return l&&h.unshift(new t.Diff(0,l)),c&&h.push(new t.Diff(0,c)),this.diff_cleanupMerge(h),h},t.prototype.diff_compute_=function(e,r,i,o){if(!e)return[new t.Diff(1,r)];if(!r)return[new t.Diff(-1,e)];var n,s=e.length>r.length?e:r,a=e.length>r.length?r:e,l=s.indexOf(a);if(-1!=l)return n=[new t.Diff(1,s.substring(0,l)),new t.Diff(0,a),new t.Diff(1,s.substring(l+a.length))],e.length>r.length&&(n[0][0]=n[2][0]=-1),n;if(1==a.length)return[new t.Diff(-1,e),new t.Diff(1,r)];var c=this.diff_halfMatch_(e,r);if(c){var h=c[0],d=c[1],u=c[2],p=c[3],f=c[4],g=this.diff_main(h,u,i,o),m=this.diff_main(d,p,i,o);return g.concat([new t.Diff(0,f)],m)}return i&&e.length>100&&r.length>100?this.diff_lineMode_(e,r,o):this.diff_bisect_(e,r,o)},t.prototype.diff_lineMode_=function(e,r,i){var o=this.diff_linesToChars_(e,r);e=o.chars1,r=o.chars2;var n=o.lineArray,s=this.diff_main(e,r,!1,i);this.diff_charsToLines_(s,n),this.diff_cleanupSemantic(s),s.push(new t.Diff(0,""));for(var a=0,l=0,c=0,h="",d="";a<s.length;){switch(s[a][0]){case 1:c++,d+=s[a][1];break;case -1:l++,h+=s[a][1];break;case 0:if(l>=1&&c>=1){s.splice(a-l-c,l+c),a=a-l-c;for(var u=this.diff_main(h,d,!1,i),p=u.length-1;p>=0;p--)s.splice(a,0,u[p]);a+=u.length}c=0,l=0,h="",d=""}a++}return s.pop(),s},t.prototype.diff_bisect_=function(e,r,i){for(var o=e.length,n=r.length,s=Math.ceil((o+n)/2),a=2*s,l=Array(a),c=Array(a),h=0;h<a;h++)l[h]=-1,c[h]=-1;l[s+1]=0,c[s+1]=0;for(var d=o-n,u=d%2!=0,p=0,f=0,g=0,m=0,v=0;v<s&&!(new Date().getTime()>i);v++){for(var y=-v+p;y<=v-f;y+=2){for(var b,w=s+y,x=(b=y==-v||y!=v&&l[w-1]<l[w+1]?l[w+1]:l[w-1]+1)-y;b<o&&x<n&&e.charAt(b)==r.charAt(x);)b++,x++;if(l[w]=b,b>o)f+=2;else if(x>n)p+=2;else if(u){var $=s+d-y;if($>=0&&$<a&&-1!=c[$]){var S=o-c[$];if(b>=S)return this.diff_bisectSplit_(e,r,b,x,i)}}}for(var M=-v+g;M<=v-m;M+=2){for(var S,$=s+M,C=(S=M==-v||M!=v&&c[$-1]<c[$+1]?c[$+1]:c[$-1]+1)-M;S<o&&C<n&&e.charAt(o-S-1)==r.charAt(n-C-1);)S++,C++;if(c[$]=S,S>o)m+=2;else if(C>n)g+=2;else if(!u){var w=s+d-M;if(w>=0&&w<a&&-1!=l[w]){var b=l[w],x=s+b-w;if(b>=(S=o-S))return this.diff_bisectSplit_(e,r,b,x,i)}}}}return[new t.Diff(-1,e),new t.Diff(1,r)]},t.prototype.diff_bisectSplit_=function(e,t,r,i,o){var n=e.substring(0,r),s=t.substring(0,i),a=e.substring(r),l=t.substring(i),c=this.diff_main(n,s,!1,o),h=this.diff_main(a,l,!1,o);return c.concat(h)},t.prototype.diff_linesToChars_=function(e,t){var r=[],i={};function o(e){for(var t="",o=0,s=-1,a=r.length;s<e.length-1;){-1==(s=e.indexOf("\n",o))&&(s=e.length-1);var l=e.substring(o,s+1);(i.hasOwnProperty?i.hasOwnProperty(l):void 0!==i[l])?t+=String.fromCharCode(i[l]):(a==n&&(l=e.substring(o),s=e.length),t+=String.fromCharCode(a),i[l]=a,r[a++]=l),o=s+1}return t}r[0]="";var n=4e4,s=o(e);return n=65535,{chars1:s,chars2:o(t),lineArray:r}},t.prototype.diff_charsToLines_=function(e,t){for(var r=0;r<e.length;r++){for(var i=e[r][1],o=[],n=0;n<i.length;n++)o[n]=t[i.charCodeAt(n)];e[r][1]=o.join("")}},t.prototype.diff_commonPrefix=function(e,t){if(!e||!t||e.charAt(0)!=t.charAt(0))return 0;for(var r=0,i=Math.min(e.length,t.length),o=i,n=0;r<o;)e.substring(n,o)==t.substring(n,o)?n=r=o:i=o,o=Math.floor((i-r)/2+r);return o},t.prototype.diff_commonSuffix=function(e,t){if(!e||!t||e.charAt(e.length-1)!=t.charAt(t.length-1))return 0;for(var r=0,i=Math.min(e.length,t.length),o=i,n=0;r<o;)e.substring(e.length-o,e.length-n)==t.substring(t.length-o,t.length-n)?n=r=o:i=o,o=Math.floor((i-r)/2+r);return o},t.prototype.diff_commonOverlap_=function(e,t){var r=e.length,i=t.length;if(0==r||0==i)return 0;r>i?e=e.substring(r-i):r<i&&(t=t.substring(0,r));var o=Math.min(r,i);if(e==t)return o;for(var n=0,s=1;;){var a=e.substring(o-s),l=t.indexOf(a);if(-1==l)return n;s+=l,(0==l||e.substring(o-s)==t.substring(0,s))&&(n=s,s++)}},t.prototype.diff_halfMatch_=function(e,t){if(this.Diff_Timeout<=0)return null;var r,i,o,n,s,a=e.length>t.length?e:t,l=e.length>t.length?t:e;if(a.length<4||2*l.length<a.length)return null;var c=this;function h(e,t,r){for(var i,o,n,s,a=e.substring(r,r+Math.floor(e.length/4)),l=-1,h="";-1!=(l=t.indexOf(a,l+1));){var d=c.diff_commonPrefix(e.substring(r),t.substring(l)),u=c.diff_commonSuffix(e.substring(0,r),t.substring(0,l));h.length<u+d&&(h=t.substring(l-u,l)+t.substring(l,l+d),i=e.substring(0,r-u),o=e.substring(r+d),n=t.substring(0,l-u),s=t.substring(l+d))}return 2*h.length>=e.length?[i,o,n,s,h]:null}var d=h(a,l,Math.ceil(a.length/4)),u=h(a,l,Math.ceil(a.length/2));return d||u?(r=u?d&&d[4].length>u[4].length?d:u:d,e.length>t.length?(i=r[0],o=r[1],n=r[2],s=r[3]):(n=r[0],s=r[1],i=r[2],o=r[3]),[i,o,n,s,r[4]]):null},t.prototype.diff_cleanupSemantic=function(e){for(var r=!1,i=[],o=0,n=null,s=0,a=0,l=0,c=0,h=0;s<e.length;)0==e[s][0]?(i[o++]=s,a=c,l=h,c=0,h=0,n=e[s][1]):(1==e[s][0]?c+=e[s][1].length:h+=e[s][1].length,n&&n.length<=Math.max(a,l)&&n.length<=Math.max(c,h)&&(e.splice(i[o-1],0,new t.Diff(-1,n)),e[i[o-1]+1][0]=1,o--,s=--o>0?i[o-1]:-1,a=0,l=0,c=0,h=0,n=null,r=!0)),s++;for(r&&this.diff_cleanupMerge(e),this.diff_cleanupSemanticLossless(e),s=1;s<e.length;){if(-1==e[s-1][0]&&1==e[s][0]){var d=e[s-1][1],u=e[s][1],p=this.diff_commonOverlap_(d,u),f=this.diff_commonOverlap_(u,d);p>=f?(p>=d.length/2||p>=u.length/2)&&(e.splice(s,0,new t.Diff(0,u.substring(0,p))),e[s-1][1]=d.substring(0,d.length-p),e[s+1][1]=u.substring(p),s++):(f>=d.length/2||f>=u.length/2)&&(e.splice(s,0,new t.Diff(0,d.substring(0,f))),e[s-1][0]=1,e[s-1][1]=u.substring(0,u.length-f),e[s+1][0]=-1,e[s+1][1]=d.substring(f),s++),s++}s++}},t.prototype.diff_cleanupSemanticLossless=function(e){function r(e,r){if(!e||!r)return 6;var i=e.charAt(e.length-1),o=r.charAt(0),n=i.match(t.nonAlphaNumericRegex_),s=o.match(t.nonAlphaNumericRegex_),a=n&&i.match(t.whitespaceRegex_),l=s&&o.match(t.whitespaceRegex_),c=a&&i.match(t.linebreakRegex_),h=l&&o.match(t.linebreakRegex_),d=c&&e.match(t.blanklineEndRegex_),u=h&&r.match(t.blanklineStartRegex_);if(d||u)return 5;if(c||h)return 4;if(n&&!a&&l)return 3;if(a||l)return 2;if(n||s)return 1;return 0}for(var i=1;i<e.length-1;){if(0==e[i-1][0]&&0==e[i+1][0]){var o=e[i-1][1],n=e[i][1],s=e[i+1][1],a=this.diff_commonSuffix(o,n);if(a){var l=n.substring(n.length-a);o=o.substring(0,o.length-a),n=l+n.substring(0,n.length-a),s=l+s}for(var c=o,h=n,d=s,u=r(o,n)+r(n,s);n.charAt(0)===s.charAt(0);){o+=n.charAt(0),n=n.substring(1)+s.charAt(0),s=s.substring(1);var p=r(o,n)+r(n,s);p>=u&&(u=p,c=o,h=n,d=s)}e[i-1][1]!=c&&(c?e[i-1][1]=c:(e.splice(i-1,1),i--),e[i][1]=h,d?e[i+1][1]=d:(e.splice(i+1,1),i--))}i++}},t.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,t.whitespaceRegex_=/\s/,t.linebreakRegex_=/[\r\n]/,t.blanklineEndRegex_=/\n\r?\n$/,t.blanklineStartRegex_=/^\r?\n\r?\n/,t.prototype.diff_cleanupEfficiency=function(e){for(var r=!1,i=[],o=0,n=null,s=0,a=!1,l=!1,c=!1,h=!1;s<e.length;)0==e[s][0]?(e[s][1].length<this.Diff_EditCost&&(c||h)?(i[o++]=s,a=c,l=h,n=e[s][1]):(o=0,n=null),c=h=!1):(-1==e[s][0]?h=!0:c=!0,n&&(a&&l&&c&&h||n.length<this.Diff_EditCost/2&&a+l+c+h==3)&&(e.splice(i[o-1],0,new t.Diff(-1,n)),e[i[o-1]+1][0]=1,o--,n=null,a&&l?(c=h=!0,o=0):(s=--o>0?i[o-1]:-1,c=h=!1),r=!0)),s++;r&&this.diff_cleanupMerge(e)},t.prototype.diff_cleanupMerge=function(e){e.push(new t.Diff(0,""));for(var r,i=0,o=0,n=0,s="",a="";i<e.length;)switch(e[i][0]){case 1:n++,a+=e[i][1],i++;break;case -1:o++,s+=e[i][1],i++;break;case 0:o+n>1?(0!==o&&0!==n&&(0!==(r=this.diff_commonPrefix(a,s))&&(i-o-n>0&&0==e[i-o-n-1][0]?e[i-o-n-1][1]+=a.substring(0,r):(e.splice(0,0,new t.Diff(0,a.substring(0,r))),i++),a=a.substring(r),s=s.substring(r)),0!==(r=this.diff_commonSuffix(a,s))&&(e[i][1]=a.substring(a.length-r)+e[i][1],a=a.substring(0,a.length-r),s=s.substring(0,s.length-r))),i-=o+n,e.splice(i,o+n),s.length&&(e.splice(i,0,new t.Diff(-1,s)),i++),a.length&&(e.splice(i,0,new t.Diff(1,a)),i++),i++):0!==i&&0==e[i-1][0]?(e[i-1][1]+=e[i][1],e.splice(i,1)):i++,n=0,o=0,s="",a=""}""===e[e.length-1][1]&&e.pop();var l=!1;for(i=1;i<e.length-1;)0==e[i-1][0]&&0==e[i+1][0]&&(e[i][1].substring(e[i][1].length-e[i-1][1].length)==e[i-1][1]?(e[i][1]=e[i-1][1]+e[i][1].substring(0,e[i][1].length-e[i-1][1].length),e[i+1][1]=e[i-1][1]+e[i+1][1],e.splice(i-1,1),l=!0):e[i][1].substring(0,e[i+1][1].length)==e[i+1][1]&&(e[i-1][1]+=e[i+1][1],e[i][1]=e[i][1].substring(e[i+1][1].length)+e[i+1][1],e.splice(i+1,1),l=!0)),i++;l&&this.diff_cleanupMerge(e)},t.prototype.diff_xIndex=function(e,t){var r,i=0,o=0,n=0,s=0;for(r=0;r<e.length&&(1!==e[r][0]&&(i+=e[r][1].length),-1!==e[r][0]&&(o+=e[r][1].length),!(i>t));r++)n=i,s=o;return e.length!=r&&-1===e[r][0]?s:s+(t-n)},t.prototype.diff_prettyHtml=function(e){for(var t=[],r=/&/g,i=/</g,o=/>/g,n=/\n/g,s=0;s<e.length;s++){var a=e[s][0],l=e[s][1].replace(r,"&amp;").replace(i,"&lt;").replace(o,"&gt;").replace(n,"&para;<br>");switch(a){case 1:t[s]='<ins style="background:#e6ffe6;">'+l+"</ins>";break;case -1:t[s]='<del style="background:#ffe6e6;">'+l+"</del>";break;case 0:t[s]="<span>"+l+"</span>"}}return t.join("")},t.prototype.diff_text1=function(e){for(var t=[],r=0;r<e.length;r++)1!==e[r][0]&&(t[r]=e[r][1]);return t.join("")},t.prototype.diff_text2=function(e){for(var t=[],r=0;r<e.length;r++)-1!==e[r][0]&&(t[r]=e[r][1]);return t.join("")},t.prototype.diff_levenshtein=function(e){for(var t=0,r=0,i=0,o=0;o<e.length;o++){var n=e[o][0],s=e[o][1];switch(n){case 1:r+=s.length;break;case -1:i+=s.length;break;case 0:t+=Math.max(r,i),r=0,i=0}}return t+Math.max(r,i)},t.prototype.diff_toDelta=function(e){for(var t=[],r=0;r<e.length;r++)switch(e[r][0]){case 1:t[r]="+"+encodeURI(e[r][1]);break;case -1:t[r]="-"+e[r][1].length;break;case 0:t[r]="="+e[r][1].length}return t.join(" ").replace(/%20/g," ")},t.prototype.diff_fromDelta=function(e,r){for(var i=[],o=0,n=0,s=r.split(/\t/g),a=0;a<s.length;a++){var l=s[a].substring(1);switch(s[a].charAt(0)){case"+":try{i[o++]=new t.Diff(1,decodeURI(l))}catch(e){throw Error("Illegal escape in diff_fromDelta: "+l)}break;case"-":case"=":var c=parseInt(l,10);if(isNaN(c)||c<0)throw Error("Invalid number in diff_fromDelta: "+l);var h=e.substring(n,n+=c);"="==s[a].charAt(0)?i[o++]=new t.Diff(0,h):i[o++]=new t.Diff(-1,h);break;default:if(s[a])throw Error("Invalid diff operation in diff_fromDelta: "+s[a])}}if(n!=e.length)throw Error("Delta length ("+n+") does not equal source text length ("+e.length+").");return i},t.prototype.match_main=function(e,t,r){if(null==e||null==t||null==r)throw Error("Null input. (match_main)");return(r=Math.max(0,Math.min(r,e.length)),e==t)?0:e.length?e.substring(r,r+t.length)==t?r:this.match_bitap_(e,t,r):-1},t.prototype.match_bitap_=function(e,t,r){if(t.length>this.Match_MaxBits)throw Error("Pattern too long for this browser.");var i,o,n,s=this.match_alphabet_(t),a=this;function l(e,i){var o=e/t.length,n=Math.abs(r-i);return a.Match_Distance?o+n/a.Match_Distance:n?1:o}var c=this.Match_Threshold,h=e.indexOf(t,r);-1!=h&&(c=Math.min(l(0,h),c),-1!=(h=e.lastIndexOf(t,r+t.length))&&(c=Math.min(l(0,h),c)));var d=1<<t.length-1;h=-1;for(var u=t.length+e.length,p=0;p<t.length;p++){for(i=0,o=u;i<o;)l(p,r+o)<=c?i=o:u=o,o=Math.floor((u-i)/2+i);u=o;var f=Math.max(1,r-o+1),g=Math.min(r+o,e.length)+t.length,m=Array(g+2);m[g+1]=(1<<p)-1;for(var v=g;v>=f;v--){var y=s[e.charAt(v-1)];if(0===p?m[v]=(m[v+1]<<1|1)&y:m[v]=(m[v+1]<<1|1)&y|((n[v+1]|n[v])<<1|1)|n[v+1],m[v]&d){var b=l(p,v-1);if(b<=c)if(c=b,(h=v-1)>r)f=Math.max(1,2*r-h);else break}}if(l(p+1,r)>c)break;n=m}return h},t.prototype.match_alphabet_=function(e){for(var t={},r=0;r<e.length;r++)t[e.charAt(r)]=0;for(var r=0;r<e.length;r++)t[e.charAt(r)]|=1<<e.length-r-1;return t},t.prototype.patch_addContext_=function(e,r){if(0!=r.length){if(null===e.start2)throw Error("patch not initialized");for(var i=r.substring(e.start2,e.start2+e.length1),o=0;r.indexOf(i)!=r.lastIndexOf(i)&&i.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)o+=this.Patch_Margin,i=r.substring(e.start2-o,e.start2+e.length1+o);o+=this.Patch_Margin;var n=r.substring(e.start2-o,e.start2);n&&e.diffs.unshift(new t.Diff(0,n));var s=r.substring(e.start2+e.length1,e.start2+e.length1+o);s&&e.diffs.push(new t.Diff(0,s)),e.start1-=n.length,e.start2-=n.length,e.length1+=n.length+s.length,e.length2+=n.length+s.length}},t.prototype.patch_make=function(e,r,i){if("string"==typeof e&&"string"==typeof r&&void 0===i)o=e,(n=this.diff_main(o,r,!0)).length>2&&(this.diff_cleanupSemantic(n),this.diff_cleanupEfficiency(n));else if(e&&"object"==typeof e&&void 0===r&&void 0===i)n=e,o=this.diff_text1(n);else if("string"==typeof e&&r&&"object"==typeof r&&void 0===i)o=e,n=r;else if("string"==typeof e&&"string"==typeof r&&i&&"object"==typeof i)o=e,n=i;else throw Error("Unknown call format to patch_make.");if(0===n.length)return[];for(var o,n,s=[],a=new t.patch_obj,l=0,c=0,h=0,d=o,u=o,p=0;p<n.length;p++){var f=n[p][0],g=n[p][1];switch(!l&&0!==f&&(a.start1=c,a.start2=h),f){case 1:a.diffs[l++]=n[p],a.length2+=g.length,u=u.substring(0,h)+g+u.substring(h);break;case -1:a.length1+=g.length,a.diffs[l++]=n[p],u=u.substring(0,h)+u.substring(h+g.length);break;case 0:g.length<=2*this.Patch_Margin&&l&&n.length!=p+1?(a.diffs[l++]=n[p],a.length1+=g.length,a.length2+=g.length):g.length>=2*this.Patch_Margin&&l&&(this.patch_addContext_(a,d),s.push(a),a=new t.patch_obj,l=0,d=u,c=h)}1!==f&&(c+=g.length),-1!==f&&(h+=g.length)}return l&&(this.patch_addContext_(a,d),s.push(a)),s},t.prototype.patch_deepCopy=function(e){for(var r=[],i=0;i<e.length;i++){var o=e[i],n=new t.patch_obj;n.diffs=[];for(var s=0;s<o.diffs.length;s++)n.diffs[s]=new t.Diff(o.diffs[s][0],o.diffs[s][1]);n.start1=o.start1,n.start2=o.start2,n.length1=o.length1,n.length2=o.length2,r[i]=n}return r},t.prototype.patch_apply=function(e,t){if(0==e.length)return[t,[]];e=this.patch_deepCopy(e);var r=this.patch_addPadding(e);t=r+t+r,this.patch_splitMax(e);for(var i=0,o=[],n=0;n<e.length;n++){var s=e[n].start2+i,a=this.diff_text1(e[n].diffs),l=-1;if(a.length>this.Match_MaxBits?-1!=(h=this.match_main(t,a.substring(0,this.Match_MaxBits),s))&&(-1==(l=this.match_main(t,a.substring(a.length-this.Match_MaxBits),s+a.length-this.Match_MaxBits))||h>=l)&&(h=-1):h=this.match_main(t,a,s),-1==h)o[n]=!1,i-=e[n].length2-e[n].length1;else if(o[n]=!0,i=h-s,d=-1==l?t.substring(h,h+a.length):t.substring(h,l+this.Match_MaxBits),a==d)t=t.substring(0,h)+this.diff_text2(e[n].diffs)+t.substring(h+a.length);else{var c=this.diff_main(a,d,!1);if(a.length>this.Match_MaxBits&&this.diff_levenshtein(c)/a.length>this.Patch_DeleteThreshold)o[n]=!1;else{this.diff_cleanupSemanticLossless(c);for(var h,d,u,p=0,f=0;f<e[n].diffs.length;f++){var g=e[n].diffs[f];0!==g[0]&&(u=this.diff_xIndex(c,p)),1===g[0]?t=t.substring(0,h+u)+g[1]+t.substring(h+u):-1===g[0]&&(t=t.substring(0,h+u)+t.substring(h+this.diff_xIndex(c,p+g[1].length))),-1!==g[0]&&(p+=g[1].length)}}}}return[t=t.substring(r.length,t.length-r.length),o]},t.prototype.patch_addPadding=function(e){for(var r=this.Patch_Margin,i="",o=1;o<=r;o++)i+=String.fromCharCode(o);for(var o=0;o<e.length;o++)e[o].start1+=r,e[o].start2+=r;var n=e[0],s=n.diffs;if(0==s.length||0!=s[0][0])s.unshift(new t.Diff(0,i)),n.start1-=r,n.start2-=r,n.length1+=r,n.length2+=r;else if(r>s[0][1].length){var a=r-s[0][1].length;s[0][1]=i.substring(s[0][1].length)+s[0][1],n.start1-=a,n.start2-=a,n.length1+=a,n.length2+=a}if(0==(s=(n=e[e.length-1]).diffs).length||0!=s[s.length-1][0])s.push(new t.Diff(0,i)),n.length1+=r,n.length2+=r;else if(r>s[s.length-1][1].length){var a=r-s[s.length-1][1].length;s[s.length-1][1]+=i.substring(0,a),n.length1+=a,n.length2+=a}return i},t.prototype.patch_splitMax=function(e){for(var r=this.Match_MaxBits,i=0;i<e.length;i++)if(!(e[i].length1<=r)){var o=e[i];e.splice(i--,1);for(var n=o.start1,s=o.start2,a="";0!==o.diffs.length;){var l=new t.patch_obj,c=!0;for(l.start1=n-a.length,l.start2=s-a.length,""!==a&&(l.length1=l.length2=a.length,l.diffs.push(new t.Diff(0,a)));0!==o.diffs.length&&l.length1<r-this.Patch_Margin;){var h=o.diffs[0][0],d=o.diffs[0][1];1===h?(l.length2+=d.length,s+=d.length,l.diffs.push(o.diffs.shift()),c=!1):-1===h&&1==l.diffs.length&&0==l.diffs[0][0]&&d.length>2*r?(l.length1+=d.length,n+=d.length,c=!1,l.diffs.push(new t.Diff(h,d)),o.diffs.shift()):(d=d.substring(0,r-l.length1-this.Patch_Margin),l.length1+=d.length,n+=d.length,0===h?(l.length2+=d.length,s+=d.length):c=!1,l.diffs.push(new t.Diff(h,d)),d==o.diffs[0][1]?o.diffs.shift():o.diffs[0][1]=o.diffs[0][1].substring(d.length))}a=(a=this.diff_text2(l.diffs)).substring(a.length-this.Patch_Margin);var u=this.diff_text1(o.diffs).substring(0,this.Patch_Margin);""!==u&&(l.length1+=u.length,l.length2+=u.length,0!==l.diffs.length&&0===l.diffs[l.diffs.length-1][0]?l.diffs[l.diffs.length-1][1]+=u:l.diffs.push(new t.Diff(0,u))),c||e.splice(++i,0,l)}}},t.prototype.patch_toText=function(e){for(var t=[],r=0;r<e.length;r++)t[r]=e[r];return t.join("")},t.prototype.patch_fromText=function(e){var r=[];if(!e)return r;for(var i=e.split("\n"),o=0,n=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;o<i.length;){var s=i[o].match(n);if(!s)throw Error("Invalid patch string: "+i[o]);var a=new t.patch_obj;for(r.push(a),a.start1=parseInt(s[1],10),""===s[2]?(a.start1--,a.length1=1):"0"==s[2]?a.length1=0:(a.start1--,a.length1=parseInt(s[2],10)),a.start2=parseInt(s[3],10),""===s[4]?(a.start2--,a.length2=1):"0"==s[4]?a.length2=0:(a.start2--,a.length2=parseInt(s[4],10)),o++;o<i.length;){var l=i[o].charAt(0);try{var c=decodeURI(i[o].substring(1))}catch(e){throw Error("Illegal escape in patch_fromText: "+c)}if("-"==l)a.diffs.push(new t.Diff(-1,c));else if("+"==l)a.diffs.push(new t.Diff(1,c));else if(" "==l)a.diffs.push(new t.Diff(0,c));else if("@"==l)break;else if(""===l);else throw Error('Invalid patch mode "'+l+'" in: '+c);o++}}return r},t.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0},t.patch_obj.prototype.toString=function(){e=0===this.length1?this.start1+",0":1==this.length1?this.start1+1:this.start1+1+","+this.length1;for(var e,t,r=0===this.length2?this.start2+",0":1==this.length2?this.start2+1:this.start2+1+","+this.length2,i=["@@ -"+e+" +"+r+" @@\n"],o=0;o<this.diffs.length;o++){switch(this.diffs[o][0]){case 1:t="+";break;case -1:t="-";break;case 0:t=" "}i[o+1]=t+encodeURI(this.diffs[o][1])+"\n"}return i.join("").replace(/%20/g," ")},e.exports=t,e.exports.diff_match_patch=t,e.exports.DIFF_DELETE=-1,e.exports.DIFF_INSERT=1,e.exports.DIFF_EQUAL=0},38792(e){"use strict";e.exports=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;if(Array.isArray(t)){if((i=t.length)!=r.length)return!1;for(o=i;0!=o--;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((i=(n=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(o=i;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,n[o]))return!1;for(o=i;0!=o--;){var i,o,n,s=n[o];if(!e(t[s],r[s]))return!1}return!0}return t!=t&&r!=r}},56075(e){"use strict";e.exports=function(e,t){t||(t={}),"function"==typeof t&&(t={cmp:t});var r,i="boolean"==typeof t.cycles&&t.cycles,o=t.cmp&&(r=t.cmp,function(e){return function(t,i){return r({key:t,value:e[t]},{key:i,value:e[i]})}}),n=[];return function e(t){if(t&&t.toJSON&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!=typeof t)return JSON.stringify(t);if(Array.isArray(t)){for(r=0,s="[";r<t.length;r++)r&&(s+=","),s+=e(t[r])||"null";return s+"]"}if(null===t)return"null";if(-1!==n.indexOf(t)){if(i)return JSON.stringify("__cycle__");throw TypeError("Converting circular structure to JSON")}var r,s,a=n.push(t)-1,l=Object.keys(t).sort(o&&o(t));for(r=0,s="";r<l.length;r++){var c=l[r],h=e(t[c]);h&&(s&&(s+=","),s+=JSON.stringify(c)+":"+h)}return n.splice(a,1),"{"+s+"}"}}(e)}},13957(e,t,r){e.exports=r.p+"21d07d2aa7d7e54330fb3c627689a691.js"},85644(e,t,r){e.exports=r.p+"08eb6e8d603ac500da471cc07b0cf188.js"},13397(e,t,r){e.exports=r.p+"517200f13a5516e40a9ad6d9c5bcd90e.js"},4991(e,t,r){e.exports=r.p+"3efaf75fa91357a71f55203c10d0562b.js"},6203(e,t,r){e.exports=r.p+"f694018779de5916e404c0fa902f34c1.js"},16834(e,t,r){e.exports=r.p+"bcfde0a9c69146bbfb702f12811a4aa4.js"},95393(e,t,r){e.exports=r.p+"c530988d2b1966fd10a4d99fa3877e1b.js"},62525(e,t,r){e.exports=r.p+"24547132c0093d2bae739db169cda5a6.js"},78472(e,t,r){e.exports=r.p+"8afd141ad70961656700a70beeb2eb05.js"},37087(e,t,r){e.exports=r.p+"814fee9e631f1e4ceb9f1983c0349fa9.js"},71290(e,t,r){e.exports=r.p+"98e7bdab44ecb58b3b76ed8025f330c4.js"},12266(e,t,r){e.exports=r.p+"90d2a5c1cd19738e0968b86280050556.js"},3875(e,t,r){e.exports=r.p+"88ca2076c5882a4abcf74c2b173a9c58.js"},51508(e,t,r){e.exports=r.p+"44e9d75bc694599ba5a672eeec11d3b7.js"},98346(e,t,r){e.exports=r.p+"1a435bdf5bbc57b954136c38dea5dd56.js"},90656(e,t,r){e.exports=r.p+"29558eac6b1d269fb491df21eb506d11.js"},80435(e,t,r){e.exports=r.p+"1b012b7a13787e2ab186f7bc6978af5d.js"},79787(e,t,r){e.exports=r.p+"bd459306ebcabc90fabccdfbbcd199ea.js"},22060(e,t,r){e.exports=r.p+"03f614920ec2da304abfca8b015a2b40.js"},27426(e,t,r){e.exports=r.p+"ef27f3b478f5d1558c2382b4bc0866bb.js"},60450(e,t,r){e.exports=r.p+"5c9be61a5fe851f5f37cc4de2586b096.js"},12633(e,t,r){e.exports=r.p+"6a3775ac1fe6361f31918720b62c8f3d.js"},66293(e,t,r){e.exports=r.p+"45227a487a5d1829deaf3589411c7333.js"},87102(e,t,r){e.exports=r.p+"3219bb3283a319e7a33f7366deb7ed1b.js"},21419(e,t,r){e.exports=r.p+"69731d1754f66b8b2640df4f561a6526.js"},87981(e,t,r){e.exports=r.p+"50d61b10bebf34dab99e3025495beaa2.js"},14824(e,t,r){e.exports=r.p+"fac0ce75e0690947a9e9e6f5b35c1ea8.js"},1008(e,t,r){e.exports=r.p+"3b02cca9e95276a74f3ed2bbc7a64ce6.js"},56395(e,t,r){e.exports=r.p+"453d207e70a9d6fe976b60b6a20b39fb.js"},62165(e,t,r){e.exports=r.p+"88730abfeb4a23e692ac7933882f12eb.js"},24568(e,t,r){e.exports=r.p+"34f99cce131bd7aa65e7a924e2456006.js"},99400(e,t,r){e.exports=r.p+"bf37de323316c6ae5745fc11fd576b1c.js"},23111(e,t,r){e.exports=r.p+"875ae58e8015a6d08dbc9d0c04e24638.js"},60064(e,t,r){e.exports=r.p+"210aec2722e6416a0349a987260e14a3.js"},91316(e,t,r){e.exports=r.p+"d4f1a314cb3668f8e17f24bccf0229b6.js"},9317(e,t,r){e.exports=r.p+"39fea85ed7dd99d7c6c9e59b7040523f.js"},9666(e,t,r){e.exports=r.p+"d76046afaf4d32b0f0afb63b4fabc680.js"},99143(e,t,r){e.exports=r.p+"1383530217ac0068c844902d24e18e08.js"},45194(e,t,r){e.exports=r.p+"5f5a93ab1249b7cbdb13d9466febd3a0.js"},31033(e,t,r){e.exports=r.p+"0b06cbc7edf78b6f2810187262e7630b.js"},42408(e,t,r){e.exports=r.p+"5a8ead0357e5029a2518959423dc29f3.js"},62690(e,t,r){e.exports=r.p+"e00b330413304d60c26e164da7f9fe0c.js"},46575(e,t,r){e.exports=r.p+"9b9578869f378f8e2afbf85a76c0ac72.js"},18235(e,t,r){e.exports=r.p+"2b385abd24ebcff8a1c7de52aa2970ab.js"},91607(e,t,r){e.exports=r.p+"fa0c561bb37040fc8145e5c70ea64912.js"},86598(e,t,r){e.exports=r.p+"9938f30907f64b5d1bc4b641411ff8b8.js"},24478(e,t,r){e.exports=r.p+"4b692785a8a6340a89e6067274a7583c.js"},94100(e,t,r){e.exports=r.p+"5cab33610b8d9c1aee4db4672811cb5f.js"},57734(e,t,r){e.exports=r.p+"817edb0c6f9d66f9c0027762edb1d797.js"},8867(e,t,r){e.exports=r.p+"41ae585cdbb9c2e8eefff5d30193029f.js"},89939(e,t,r){e.exports=r.p+"f15cbf0d23cba4a313f3f2acfef5370c.js"},81712(e,t,r){e.exports=r.p+"1195816afa4a5e8183857be16a04ae6f.js"},70895(e,t,r){e.exports=r.p+"cf1706c8b4a4eecbc161e915a4be16ca.js"},47739(e,t,r){e.exports=r.p+"5348f3cfbe5a63954e7d984f197bbddb.js"},62178(e,t,r){e.exports=r.p+"b953ce2f19e7291598cd9c05128133c1.js"},97796(e,t,r){e.exports=r.p+"b9ca55e245b8bbed49058e9dada2dd14.js"},66762(e,t,r){e.exports=r.p+"5106411f7468a5ee5b1ee77aed12c0c7.js"},35477(e,t,r){e.exports=r.p+"b13d991d1e4a016abea3fe5837261690.js"},44740(e,t,r){e.exports=r.p+"814b9f8056e54d372eefebdae282728e.js"},85210(e,t,r){e.exports=r.p+"2348c5ed0da81c27fa889f56e43f91a1.js"},31967(e,t,r){e.exports=r.p+"b992b348ffb6453e4a02a60e71c5304e.js"},60538(e,t,r){e.exports=r.p+"9b80d1a12acd18c90e41ca92073122a7.js"},64263(e,t,r){e.exports=r.p+"65abcd8e99a385bcd8f1776f160040a9.js"},59292(e,t,r){e.exports=r.p+"b243eabb7cb281a20eae3523742d562f.js"},5625(e,t,r){e.exports=r.p+"78c709e6b518df25c267f2a5116de970.js"},16803(e,t,r){e.exports=r.p+"880ae94877022f7fb0458ced0825eb4c.js"},75240(e,t,r){e.exports=r.p+"7c488184a1ff274206e8af2c3aeeb2f6.js"},45495(e,t,r){e.exports=r.p+"9d5bba46df7fb1577fec6cb90f1bb2a7.js"},28501(e,t,r){e.exports=r.p+"43139bfbcbce9de597b4985dc1e6a03b.js"},18601(e,t,r){e.exports=r.p+"b3147425240a31fc04d7aaf7f0fbd3d3.js"},25120(e,t,r){e.exports=r.p+"3bf96f8eb1859e2724a4b769af3b5f1e.js"},33855(e,t,r){e.exports=r.p+"029f5ee0420883bc3c38a7f143fd174a.js"},82179(e,t,r){e.exports=r.p+"6c3d5ea389d0e47cbe327673b7495701.js"},58154(e,t,r){e.exports=r.p+"f6b33aded7ae7504bfcc4550925cccb0.js"},41077(e,t,r){e.exports=r.p+"e7f37e0f2b6113039c45a326264c4d36.js"},80020(e,t,r){e.exports=r.p+"c8deee9d1d08e50285fe2b1c2897bca5.js"},40109(e,t,r){e.exports=r.p+"7259bceba25ac1476fc775122a63d249.js"},16064(e,t,r){e.exports=r.p+"e0fa6a4fe8bff90d50ce812e666957ca.js"},79725(e,t,r){e.exports=r.p+"2b89e20071dd734f42b8694d7a84c264.js"},37769(e,t,r){e.exports=r.p+"0416c21cfe088739209926632a360e3b.js"},98915(e,t,r){e.exports=r.p+"10c464f3f882bfeeefbc0934c2ee9fbe.js"},26966(e,t,r){e.exports=r.p+"cb9910e014b468ada91393696fcad206.js"},12560(e,t,r){e.exports=r.p+"135747176621bcc94e9edd0323a81d3c.js"},95545(e,t,r){e.exports=r.p+"111d9fdb9864abba36298d1a0807fe6d.js"},35530(e,t,r){e.exports=r.p+"617ddc517c704963dc032140e80151d5.js"},7336(e,t,r){e.exports=r.p+"afba1f28f2baa29eae717d6cb03f5464.js"},28670(e,t,r){e.exports=r.p+"981bd23edacd811f9e4a583d89b544ee.js"},99682(e,t,r){e.exports=r.p+"c8230f96396f0378d032dce2be3dce66.js"},34738(e,t,r){e.exports=r.p+"7f007f3f67d9c856e727cec1369f8cba.js"},77970(e,t,r){e.exports=r.p+"60f8f158539619aaf544fa35ce8daccd.js"},64272(e,t,r){e.exports=r.p+"947d538f92dd1e146e4a3c41e4eacb92.js"},75534(e,t,r){e.exports=r.p+"363d3bac8dcd9a83332c3758185ce080.js"},20412(e,t,r){e.exports=r.p+"5ffbb9579edc192b3e268a1f47fa61ae.js"},3688(e,t,r){e.exports=r.p+"834d28f1d0979e2614f1e8643f0b7211.js"},80702(e,t,r){e.exports=r.p+"6eac646091211287dd5e5b376c755110.js"},9540(e,t,r){e.exports=r.p+"5df362c9904925cdf574d9506e4be76d.js"},86496(e,t,r){e.exports=r.p+"1cc6fc3772824e2f87f10a9c3fad2dae.js"},40098(e,t,r){e.exports=r.p+"41e8a86a20df71cb48a373b096c06cd1.js"},14670(e,t,r){e.exports=r.p+"83bd353f98aa901411c82b8af58d1296.js"},29431(e,t,r){e.exports=r.p+"c81814fb2ec8bab7bb415b5a40ed93b5.js"},64845(e,t,r){e.exports=r.p+"74988a42599f1bd6a3a890e5f582da2b.js"},74790(e,t,r){e.exports=r.p+"da4a891d81f066ebf82f298c53bd4ed8.js"},56918(e,t,r){e.exports=r.p+"4d156ee0485ab4b40b090a3cd7b995a9.js"},5762(e,t,r){e.exports=r.p+"3a6ca6958d003ae67bb7fefc8713ee93.js"},96102(e,t,r){e.exports=r.p+"0078b630bed2938ce03f618c2bcd1363.js"},19741(e,t,r){e.exports=r.p+"b10accbff47791a59b8494225af07025.js"},5276(e,t,r){e.exports=r.p+"29c12604c7db4a1ad67ed4d7cdb4f4ed.js"},61742(e,t,r){e.exports=r.p+"a1c12fd9c6c9e1b151ad99a847f09006.js"},733(e,t,r){e.exports=r.p+"022fc31e47969919bef8f04c7ceb6396.js"},64859(e,t,r){e.exports=r.p+"2aa392a501973ebfcea38239a45ed8e7.js"},63880(e,t,r){e.exports=r.p+"8c7616f0adba6a5ac0d2f06ba4ebd696.js"},88309(e,t,r){e.exports=r.p+"cb5746e29527a2fdb9f857a121e086ed.js"},94990(e,t,r){e.exports=r.p+"ec7b3f184238605a5239da7559e6cff9.js"},33233(e,t,r){e.exports=r.p+"8024bca4a1198cc51cbffaa7a907ee99.js"},97341(e,t,r){e.exports=r.p+"a4e021a4b5d5d65cc87fee17c1886c3f.js"},9769(e,t,r){e.exports=r.p+"629e56c05a8ab32ebfd5d058ba8d242d.js"},13717(e,t,r){e.exports=r.p+"349237ad9565dc823ce7bcb7527ba7ee.js"},80611(e,t,r){e.exports=r.p+"622e27eec5f26148f51ccc30315a3deb.js"},21744(e,t,r){e.exports=r.p+"a223748cd69094dd12b486353b22f479.js"},90962(e,t,r){e.exports=r.p+"1983055014f3f7a31b72b9c24eebfe2e.js"},73751(e,t,r){e.exports=r.p+"a1bb5b3f6078f04941c00f87171dc0ae.js"},47526(e,t,r){e.exports=r.p+"82ff13fbc1af95d2d76ca788fd72e607.js"},8134(e,t,r){e.exports=r.p+"44599d9b6202ebebfcdd073edf3562e3.js"},76551(e,t,r){e.exports=r.p+"2ad349208b3a727abb3c9f943865a27c.js"},16934(e,t,r){e.exports=r.p+"7222998c10fabd9c824cf8cf540b3b74.js"},36976(e,t,r){e.exports=r.p+"dc83a73f0eb89665520bbb6672dfa3cb.js"},30875(e,t,r){e.exports=r.p+"c1a1f4ba29aa2d9a0b1a1abe5cfee0c6.js"},53874(e,t,r){e.exports=r.p+"ec901efce9bc8572f27155236a447e62.js"},3789(e,t,r){e.exports=r.p+"0e9edc546e19e0d70ebaeec446142d3f.js"},35016(e,t,r){e.exports=r.p+"de73b4d2a9ed4bcb851f9141e303636d.js"},17122(e,t,r){e.exports=r.p+"950a205e91da7e78226dd785fd6d34db.js"},85307(e,t,r){e.exports=r.p+"3bee0656a21a6106946d9f424fc22337.js"},17322(e,t,r){e.exports=r.p+"48827a80c9c8a8b394a208065231dabb.js"},30987(e,t,r){e.exports=r.p+"84270e22d4439d15b0d8f392d1338d8e.js"},7205(e,t,r){e.exports=r.p+"52fd09d1713345d9ee64dc7daea9fd6f.js"},12180(e,t,r){e.exports=r.p+"d1db2c4677dd2ee7a0c690c58798a013.js"},31834(e,t,r){e.exports=r.p+"6a851f05f1f4a974e02fe23eac2bad4e.js"},71857(e,t,r){e.exports=r.p+"0e67325b9a04863301e36c0c37947069.js"},22051(e,t,r){e.exports=r.p+"4f683c6881e9f8740f5516a85b9eb9da.js"},70650(e,t,r){e.exports=r.p+"cb0d121a88477f943960f5ad60602c22.js"},32006(e,t,r){e.exports=r.p+"46ed21c8fbddeefacaf10d78887aa22a.js"},90107(e,t,r){e.exports=r.p+"318dcae1cdcd4733986a93e7a5fab7b8.js"},97964(e,t,r){e.exports=r.p+"4d6d9020e7e5c8d8dee7a5e374355f05.js"},26116(e,t,r){e.exports=r.p+"4430c55f023b72fb5e389cee9351b38c.js"},58527(e,t,r){e.exports=r.p+"e63fce237243190962fcc3b12b387e1b.js"},94837(e,t,r){e.exports=r.p+"a496f663a8cf2dc047e12d8a80d76510.js"},22401(e,t,r){e.exports=r.p+"1f5e5fcf6311b2bee3ea3d90352d584a.js"},21218(e,t,r){e.exports=r.p+"0d5aa4cf4cd6ced22d689adc35468925.js"},80008(e,t,r){e.exports=r.p+"65e7cf62ca9df32c18b630f31025a401.js"},50562(e,t,r){e.exports=r.p+"656927386f77b2620f35af391f59d5ab.js"},32805(e,t,r){e.exports=r.p+"e9382a0e67b22188c75e9418de1c9295.js"},76334(e,t,r){e.exports=r.p+"a0e32ba94aa4384823d768802b9486e1.js"},23479(e,t,r){e.exports=r.p+"472ba8f81bf8cac86027cb1be4e3b9cd.js"},32611(e,t,r){e.exports=r.p+"21ce36baab7df3edd2c728ac1a6776b7.js"},53780(e,t,r){e.exports=r.p+"75182a479f7eba2798d943fa230a91ef.js"},71975(e,t,r){e.exports=r.p+"7e0c1151de4aade1c41d42a40530fc7c.js"},18812(e,t,r){e.exports=r.p+"764b59bdd3a89e14f88c9d63020551a1.js"},22364(e,t,r){e.exports=r.p+"843c762c24f7fac628d8c62519a7b308.js"},7936(e,t,r){e.exports=r.p+"bb75a64c7f1e8f7d792e8115710299cb.js"},17287(e,t,r){e.exports=r.p+"a3dfa410d90c00078f4b015410048f34.js"},26852(e,t,r){e.exports=r.p+"7f9a9efc9ab681fcbf6400e2adb368a9.js"},8458(e,t,r){e.exports=r.p+"23602ad4c88f0f19e7a0a12454ebf556.js"},3437(e,t,r){e.exports=r.p+"7f79d4bde67c8013b187889b63e25bce.js"},6467(e,t,r){e.exports=r.p+"0144de97a3c256f81447e7e7135780e5.js"},78345(e,t,r){e.exports=r.p+"cc715c90d57b30965fc297a12746d6b5.js"},88805(e,t,r){e.exports=r.p+"79455ab9a6cd507f5314141cc965093a.js"},47732(e,t,r){e.exports=r.p+"269732f4c5f6e82ea3246548a9631b47.js"},77484(e,t,r){e.exports=r.p+"03a5f5b2b97a8fc289399d92fba810d0.js"},96822(e,t,r){e.exports=r.p+"31c610efb1d25afc90853b52ba4cb089.js"},69070(e,t,r){e.exports=r.p+"16c2e1b50af4ba05edaa03c8c9e9d18c.js"},90631(e,t,r){e.exports=r.p+"a6eb87af5cd7ae7e4fcba8ec606ec4ba.js"},6716(e,t,r){e.exports=r.p+"a2242e107926b9274a7f57b52fba4a29.js"},28022(e,t,r){e.exports=r.p+"96b8d8b5efd11741639659c63a485c27.js"},88603(e,t,r){e.exports=r.p+"5cd4e1282f4409600b942819b7aa4f21.js"},47255(e,t,r){e.exports=r.p+"20545e6680e996248f667158904a6a9b.js"},15503(e,t,r){e.exports=r.p+"32cf6d8a099c0a653928cbc9a05af5da.js"},24988(e,t,r){e.exports=r.p+"11e3a2a8fb5bcb9d19298a80cafd3f5a.js"},23557(e,t,r){e.exports=r.p+"0973bb38b2e3efd2a879fd8e81d50fce.js"},43270(e,t,r){e.exports=r.p+"4f03709d8b1d52a622f0676f7a299510.js"},32196(e,t,r){e.exports=r.p+"7a4e3546b63a5296028f4268f96b82b3.js"},85073(e,t,r){e.exports=r.p+"a3a941911290b143d26ceb5e776e1d18.js"},15252(e,t,r){e.exports=r.p+"a83211eadd86ef80416334e72774ab11.js"},85529(e,t,r){e.exports=r.p+"c4c991b8f5eb242f1e220e5f568fdfbc.js"},82286(e,t,r){e.exports=r.p+"f6dc1ef066da7f1c3e5c5fc1462f7be0.js"},97869(e,t,r){e.exports=r.p+"60190285b6c2243e14184b9e57d48dbb.js"},96213(e,t,r){e.exports=r.p+"25be9f866b93e4ffa34f07a4fde632d4.js"},31250(e,t,r){e.exports=r.p+"7e7131507a20f96834597eb2de3e880a.js"},86249(e,t,r){e.exports=r.p+"5a741aab715866cb4d9a55e89dfc8420.js"},76210(e,t,r){e.exports=r.p+"a66a34e3af97cd404f0cf6a5ded342c5.js"},83635(e,t,r){e.exports=r.p+"157d1af856797eaa6a6d4517a5335299.js"},79034(e,t,r){e.exports=r.p+"fd00121832e53db8249f7985d80ccd44.js"},13968(e,t,r){e.exports=r.p+"5d312b184c1f4565f51247d3c6dbba90.js"},99820(e,t,r){e.exports=r.p+"2b5729e073775b8fb827fc8e4725e48a.js"},19342(e,t,r){e.exports=r.p+"3b26795ad1700506b62e1171ff6fcd9b.js"},40870(e,t,r){e.exports=r.p+"2b1b8f8b9e8f1e423a69afd121fd7da9.js"},33223(e,t,r){e.exports=r.p+"069a0d6b093e73e820f6a60a91fa614b.js"},36588(e,t,r){e.exports=r.p+"367def81f25c0a08527f9a4e86e70c56.js"},57379(e,t,r){e.exports=r.p+"a8c8aa148991e4ca35ed78cd5ccfcc03.js"},27444(e,t,r){e.exports=r.p+"a4d0588d199cb1afffb42e57ea40fa86.js"},27538(e,t,r){e.exports=r.p+"0bf319cb891a35363be356125cf61925.js"},45143(e,t,r){e.exports=r.p+"2287e0a9970175f8e26f811b688d2d36.js"},47411(e,t,r){e.exports=r.p+"60ede8d7ffdf4c05f2ce51b6d8d2be68.js"},58852(e,t,r){e.exports=r.p+"1c24a68cb472146022d0806ea2505cfb.js"},80097(e,t,r){e.exports=r.p+"24f97ddd76026815674affbc50ad6169.js"},7233(e,t,r){e.exports=r.p+"25718a469574ade47e23567d8c543169.js"},42605(e,t,r){e.exports=r.p+"b934b22e8f8a8b1ba81dbc2cf058b0cd.js"},84742(e,t,r){e.exports=r.p+"9fd3f255cfd09016ec7f4896bc51864c.js"},78205(e,t,r){e.exports=r.p+"4db8b05f109448d519f60cbb920dc38e.js"},42199(e,t,r){e.exports=r.p+"0e579f8a92c87ee13f03bbb00bfd6965.js"},1588(e,t,r){e.exports=r.p+"84abf03cc94d264bb38020b4ac5f76e1.js"},7439(e,t,r){e.exports=r.p+"f69b43eccd9faed6d9182fac0b2a176d.js"},28957(e,t,r){e.exports=r.p+"732e6b65765e6a792f04be1fa30993a5.js"},96324(e,t,r){e.exports=r.p+"57e14488b13e50ebdb5fdfc7880da683.js"},43273(e,t,r){e.exports=r.p+"ab237eed5fd16ab99c06f0d28d465edb.js"},27821(e,t,r){e.exports=r.p+"bb5476e5e0c5368b031ba774c0f23999.js"},10238(e,t,r){e.exports=r.p+"90812d89181b698975cbb081adcbbcb0.js"},20120(e,t,r){e.exports=r.p+"228ca80abf1ae030cbfe7faaec61913f.js"},52015(e,t,r){e.exports=r.p+"4f2451dd2095d05141a5c24fab1594e1.js"},82984(e,t,r){e.exports=r.p+"c9e94edb706994da8aee83c3593cb2d0.js"},3678(e,t,r){e.exports=r.p+"01b769b06e3967d7382e74f2c443ca6e.js"},13017(e,t,r){e.exports=r.p+"41a77c181e7d3172f53496cb25166d13.js"},37806(e,t,r){e.exports=r.p+"60d2bacc2e51eabc2bb0afa982fffb56.js"},57993(e,t,r){e.exports=r.p+"2302902e10c4afab56e1b864c96070cb.js"},83291(e,t,r){e.exports=r.p+"e37ac12436bcd0536ec98ae8470a1228.js"},45722(e,t,r){e.exports=r.p+"4c1bdecbedd36a5765de184ac056822a.js"},66493(e,t,r){e.exports=r.p+"b02d982ccb1011197a5a24800b178a0a.js"},31231(e,t,r){e.exports=r.p+"879d6bc1ca1dde95a9a98dc7a2ab0d06.js"},82578(e,t,r){e.exports=r.p+"b8b6bd460e7da0ba8f3b2218327966ee.js"},33851(e,t,r){e.exports=r.p+"2f055ac4066041b9008dd6aebf9df34b.js"},89585(e,t,r){e.exports=r.p+"d542dda7308361c34af2afb9b70d755a.js"},25026(e,t,r){e.exports=r.p+"a4bedde07e392f8ebf64341b61f75df2.js"},98571(e,t,r){e.exports=r.p+"77aaca51c1c32acaf32656d45f4dc017.js"},21472(e,t,r){e.exports=r.p+"725da29f1643c2263a437c08a1454aea.js"},27105(e,t,r){e.exports=r.p+"efc14cdf19554635e477781704353ec2.js"},50500(e,t,r){e.exports=r.p+"eaa55a522fb2cb2f0287711f42344984.js"},20723(e,t,r){e.exports=r.p+"b808fb222140a85b23ebbe0fffa906d9.js"},6016(e,t,r){e.exports=r.p+"38105097fc2497d628f398be7db5f6e8.js"},30830(e,t,r){e.exports=r.p+"e874d975c9128dc6eb9a513d088bed9f.js"},74476(e,t,r){e.exports=r.p+"b3f1431b9e6d9e6632a93c2cd89f945b.js"},4390(e,t,r){e.exports=r.p+"e7e1a807af3160b342e0a3550cf8f7c5.js"},50401(e,t,r){e.exports=r.p+"3e93259f04cf0b4b52cc237cfc21cb05.js"},23849(e,t,r){e.exports=r.p+"48e9351c5623d4da657ce7d5d0267ea6.js"},73241(e,t,r){e.exports=r.p+"9827973b533de05b338533a0211d97d9.js"},78435(e,t,r){e.exports=r.p+"bb5bab7a675544fe31ddb7f4a77dffb9.js"},69592(e,t,r){e.exports=r.p+"a2746fc96d535b19c120d4b87dc86ef1.js"},34856(e,t,r){e.exports=r.p+"23bb1a9f279e7a732bfd405350aab114.js"},10539(e,t,r){e.exports=r.p+"b1e349371cb9c226905c846706ad8b93.js"},4314(e,t,r){e.exports=r.p+"c8803facc1e76ecd4b6ba756118f1a6d.js"},84960(e,t,r){e.exports=r.p+"1c57b3481f295105588972ffa1305521.js"},26051(e,t,r){e.exports=r.p+"87bce6f50196688852142c679227b1b9.js"},55233(e,t,r){e.exports=r.p+"6c67587c2093ac3a19da9f2196e040b7.js"},42565(e,t,r){e.exports=r.p+"5a496ae20cc576bef1d35972548207cf.js"},3920(e,t,r){e.exports=r.p+"5e55b301888460bd06c8e26d1011e01a.js"},45923(e,t,r){e.exports=r.p+"003671ee2a876e7614cd94390e2255b3.js"},94887(e,t,r){e.exports=r.p+"3ea020c57c2bbf457a8497df313b2e5c.js"},19358(e,t,r){e.exports=r.p+"64d6924350bd7706850cdc0dcc76ccf6.js"},77869(e,t,r){e.exports=r.p+"b1f3f77a9279cdb38846ebe13c3438bc.js"},53284(e,t,r){e.exports=r.p+"d5999827bd3af6b813a871de344b109a.js"},55023(e,t,r){e.exports=r.p+"dc7ab72407b0b44ef5dae159373de53b.js"},54066(e,t,r){e.exports=r.p+"58598705e7012f4ca1eb1dd21d3c59a5.js"},56222(e,t,r){e.exports=r.p+"6a1c347ab79a93f3ac01b08c8ccfc827.js"},43355(e,t,r){e.exports=r.p+"70074e0c785c9a808dea76c7c7d17af3.js"},37714(e,t,r){e.exports=r.p+"1875ecdf54e78b5f07ff1bd944cf794b.js"},41764(e,t,r){e.exports=r.p+"8eede17ae9e4d25c3c17b8a8a7fc3c3d.js"},21816(e,t,r){e.exports=r.p+"eff4371180dfac54de25ed3a0105d82f.js"},75213(e,t,r){e.exports=r.p+"06d958315fc6cdbb28576b03e43203aa.js"},71500(e,t,r){e.exports=r.p+"c51840077c684be0e7e13339f85cd4a9.js"},82366(e,t,r){e.exports=r.p+"c3f345c994392d97785925e790513a9f.js"},31313(e,t,r){e.exports=r.p+"1495a3d68b15b8622c53f6688b64809f.js"},84852(e,t,r){e.exports=r.p+"7e4099fc2d04c7c1cf96892b962ba4ec.js"},6323(e,t,r){e.exports=r.p+"6c0a75dc5671c3f237a79f6e45b9891c.js"},78352(e,t,r){e.exports=r.p+"aa5623ec68d23fedb9c9c115c7d99063.js"},8699(e,t,r){e.exports=r.p+"4ef80ee74467e0297eec3cc03092da01.js"},80956(e,t,r){e.exports=r.p+"f6d7091e70dee6c74956acfef2464d08.js"},56384(e,t,r){e.exports=r.p+"3f896944a97f002f2146e028ff2eac63.js"},39544(e,t,r){e.exports=r.p+"4bf3bc1fbdd26ac698fef1bdf26e3ff4.js"},65317(e,t,r){e.exports=r.p+"70286c33cab463fd576766adecd2d5d9.js"},48725(e,t,r){e.exports=r.p+"1533058f0ce13acdaa8d5bdc7d147bef.js"},78526(e,t,r){e.exports=r.p+"724a16861717b5b4f786d24b56b62614.js"},73445(e,t,r){e.exports=r.p+"03aae8272914723a7bf85b984385032c.js"},77515(e,t,r){e.exports=r.p+"029ed9161a8d24a9c2ba97124020989d.js"},97217(e,t,r){e.exports=r.p+"cb652f200fc3dd740b2e7f678a9272ea.js"},62133(e,t,r){e.exports=r.p+"d43ad5f9bad9a042b49b2592c7639c28.js"},48547(e,t,r){e.exports=r.p+"d78d3b050ea95b068380d975fd413fd7.js"},82033(e,t,r){e.exports=r.p+"4d0ebf4c528cee9b0cdd3e076e06570b.js"},97077(e,t,r){e.exports=r.p+"28785bea435918d49b290d27bf660baa.js"},77485(e,t,r){e.exports=r.p+"38b1d18836e38ee7b4deaeba0c35f7b8.js"},13821(e,t,r){e.exports=r.p+"2dd82c65030101b60dffccedd8741c6e.js"},27941(e,t,r){e.exports=r.p+"47e5776dff3b80ed69ab5947dba33c76.js"},13315(e,t,r){e.exports=r.p+"e61779df91186b23e7adf2d1968b2708.js"},10075(e,t,r){e.exports=r.p+"839e3594798c1942d3c92f9acfaa5f0b.js"},49231(e,t,r){e.exports=r.p+"3567d1ea443427e944a6f189a0898819.js"},61659(e,t,r){e.exports=r.p+"c80e89199aef31e48addb2b35ea96365.js"},91373(e,t,r){e.exports=r.p+"5b6a626249d0bc43e412fffa6a9ee177.js"},85974(e,t,r){e.exports=r.p+"fd9645aaf1f70c8abc562be41bee25fc.js"},35886(e,t,r){e.exports=r.p+"57f4109bd1f06be4dc2bcb8ff7eaf1e5.js"},88673(e,t,r){e.exports=r.p+"cd9a17f94a922c7c88000b1b3cdd67df.js"},25613(e,t,r){e.exports=r.p+"755114145e5b97e5571a160a39e716db.js"},50179(e,t,r){e.exports=r.p+"5e8a4f4320a07ae4bb1d8a5cd621d955.js"},64321(e,t,r){e.exports=r.p+"e9c8f7e13e00284ce126890bf7ac46fd.js"},24688(e,t,r){e.exports=r.p+"e0adad8a8579bf99f3e22f7c214a5c64.js"},17429(e,t,r){e.exports=r.p+"3b190e5159c72fb7e27271956772bcba.js"},98527(e,t,r){e.exports=r.p+"62a96977e725e8bc809dc80afe0fedf1.js"},85184(e,t,r){e.exports=r.p+"8a31266178067a316bb2503147cdb5cb.js"},1902(e,t,r){e.exports=r.p+"a9cb92db2399f7ac97ad55fe79fe5c20.js"},20397(e,t,r){e.exports=r.p+"6d38cef4a006e6cfe54a6117aba7b600.js"},62174(e,t,r){e.exports=r.p+"8d9bb1799d9b98db107e84f10132e17f.js"},34439(e,t,r){e.exports=r.p+"432aff60ba31a74d2120031fdc894775.js"},19766(e,t,r){e.exports=r.p+"e2fe8f0d4fd950b20b30fabaea96b3f8.js"},26296(e,t,r){e.exports=r.p+"b881dca9d9a80f61d87374b4bd5a2dd5.js"},39070(e,t,r){e.exports=r.p+"ffd3b83e8b5878f4785591ff54b1dfff.js"},50666(e,t,r){e.exports=r.p+"88e2feda80ac8cfb28f1dc0ec833b40d.js"},82086(e,t,r){e.exports=r.p+"64a5f4d62507d032038dcd76d15188e1.js"},20107(e,t,r){e.exports=r.p+"aa0eee504d52a12d3a30bbd523afcc34.js"},23993(e,t,r){e.exports=r.p+"cf26dd07f19bcb5b7efbf057a6cfeb8f.js"},37226(e,t,r){e.exports=r.p+"cbdbd623038183a8c068dd24ecd90682.js"},26767(e,t,r){e.exports=r.p+"0972f21af3e75388ef55435c0b3b831d.js"},77115(e,t,r){e.exports=r.p+"4d8cb7033879cb7fcc7a43798e2bde22.js"},6202(e,t,r){e.exports=r.p+"58aab872dbdb5e1607076e1935130e03.js"},54563(e,t,r){e.exports=r.p+"ecdb4966f685f3e44b1f28fae46827a3.js"},28251(e,t,r){e.exports=r.p+"5d3314103b00c8ea165c6f9f6757f794.js"},50896(e,t,r){e.exports=r.p+"9b5a6ec07bb0a2daade10189696fc399.js"},22001(e,t,r){e.exports=r.p+"e0c565aadda4787ba4ef4456c0a7ee29.js"},8942(e,t,r){e.exports=r.p+"d5f79987405c2169278f8de37bcc9d05.js"},4757(e,t,r){e.exports=r.p+"de0fd4fd7c2d7a4887cbc99eed91f797.js"},46963(e,t,r){e.exports=r.p+"17632e1e19e438f431784dfd77e01773.js"},90266(e,t,r){e.exports=r.p+"663ffb67b9683a2126410325d1a5a152.js"},95783(e,t,r){e.exports=r.p+"e2b38a8393be2cf23f3894ace3efb1c3.js"},39554(e,t,r){e.exports=r.p+"27730a0bdc6f430cc85049a46a73a029.js"},98796(e,t,r){e.exports=r.p+"0f147528a6f36ca40c8b3ec796429f58.js"},79639(e,t,r){e.exports=r.p+"15f3800d33b854ba476c9daf1b9e0326.js"},64833(e,t,r){e.exports=r.p+"211511e7b374f57ad31acaf49dbdccb1.js"},86276(e,t,r){e.exports=r.p+"54560f13b36626237959e93b7771a484.js"},3008(e,t,r){e.exports=r.p+"582e24f5ba929e358fadfc7be4c18025.js"},10603(e,t,r){e.exports=r.p+"37ee3b5201ae2e2dc5dc8b1b20ad900e.js"},21665(e,t,r){e.exports=r.p+"cf3f6b1c74c72cb5d02870022dbc9f94.js"},10528(e,t,r){e.exports=r.p+"5ce650c06c385f9d15621e54c60457c0.js"},80395(e,t,r){e.exports=r.p+"9696a4229fb787eeb25b26f1274b75ee.js"},95171(e,t,r){e.exports=r.p+"cf188b3f83735389d47bb12fc9f7069a.js"},7328(e,t,r){e.exports=r.p+"ba6b8b3e06cd9d0aee9c69278ee84647.js"},53644(e,t,r){e.exports=r.p+"130340e2c62b9e858f186dab5f491e55.js"},67256(e,t,r){e.exports=r.p+"6faa9e5f2a0122d2333fa450337a09b0.js"},84399(e,t,r){e.exports=r.p+"2fc0239242a898632ca8aa451cb930c2.js"},86879(e,t,r){e.exports=r.p+"92f4aab5c66f6269c7054c8fbcb3de13.js"},52583(e,t,r){e.exports=r.p+"a569591af2f834ec4b58f43ab7742186.js"},57970(e,t,r){e.exports=r.p+"63596b4896732fb322ab0496b4be1e74.js"},50771(e,t,r){e.exports=r.p+"5352ecd8e5f1a2637b48e18cc406edb1.js"},79442(e,t,r){e.exports=r.p+"07397bd479cbc34bc04576b4f15bdf18.js"},18636(e,t,r){e.exports=r.p+"5fedbf948ed123687f77167fac1faf8b.js"},43607(e,t,r){e.exports=r.p+"a709bba98acec5da3ea6258e245514cb.js"},9104(e,t,r){e.exports=r.p+"25eda4bb98e40a82cfd5b4bf9fbc06ec.js"},72051(e,t,r){e.exports=r.p+"3b6e7dc98c47eeafd851ca5072db4be6.js"},78525(e,t,r){e.exports=r.p+"cbdc4ca43a8c940a6c3f59a8b6f17df5.js"},20687(e,t,r){e.exports=r.p+"432a5982ba3ddf958381d780e1e9a8e2.js"},57678(e,t,r){e.exports=r.p+"3c5b59a666c5d39d9ba9cc054d36a410.js"},42207(e,t,r){e.exports=r.p+"13eda3507db9cbfb400f46b9b3ff6553.js"},46707(e,t,r){e.exports=r.p+"894edcaf39c3c95818e3949d737ed459.js"},34616(e,t,r){e.exports=r.p+"0a1d9862d917663419ac2dd2e8193267.js"},20014(e,t,r){e.exports=r.p+"51f903c5ce5284a63196247cffb5ca40.js"},89140(e,t,r){e.exports=r.p+"e4917fa7632b01d28e99304d32d989f7.js"},90816(e,t,r){e.exports=r.p+"2e841e8b77c2a2c00fd71940632bc1e1.js"},86305(e,t,r){e.exports=r.p+"805cb6232d7a9fa46025d48a43622ecf.js"},39501(e,t,r){e.exports=r.p+"283970c76db99e2d0d90f0e7c45494f9.js"},2677(e,t,r){e.exports=r.p+"10132993df2cf9c9423b53a8a44379ab.js"},36593(e,t,r){e.exports=r.p+"1736cea368ae85240f34289307fdf67f.js"},24414(e,t,r){e.exports=r.p+"cf9c7cbfc2b609b9ae59daeab82719c4.js"},14315(e,t,r){e.exports=r.p+"119f6c45ea400e3c27e1ce172e4c881d.js"},33983(e,t,r){e.exports=r.p+"d5a6140d581e5c4eb200259ce372f40b.js"},83156(e,t,r){e.exports=r.p+"a533e643002830be2da76c9527265860.js"},4054(e,t,r){e.exports=r.p+"83387cb17a7680f59240e7b399e3ac2b.js"},23688(e,t,r){e.exports=r.p+"37172facd8a534a38f378ca2a9c7c11b.js"},73007(e,t,r){e.exports=r.p+"02174460fe8ff6a6bc19db86543b9600.js"},86114(e,t,r){e.exports=r.p+"c64d6e1e72024bb5d3d3e9bfc19d183d.js"},79447(e,t,r){e.exports=r.p+"54a10f3bddad1e6da452fee7124fe846.js"},49089(e,t,r){e.exports=r.p+"24a3ff38afde257888d755ece9bfd704.js"},16250(e,t,r){e.exports=r.p+"078dd0bd08c93b1512e3d1b777591b21.js"},53241(e,t,r){e.exports=r.p+"170487867de05784a96608617bdd544d.js"},78448(e,t,r){e.exports=r.p+"5861dfe4f2c7823623e82d0619c5bf06.js"},76505(e,t,r){e.exports=r.p+"2272c6632c52c3e402ab27b8045ab8f1.js"},45812(e,t,r){e.exports=r.p+"03980cb12dacd26148c22bb61fce440f.js"},25432(e,t,r){e.exports=r.p+"58c35e5c73bbc1664bbd67c570342aa0.js"},44363(e,t,r){e.exports=r.p+"fd5bc50b18c9f46380cbe5ec1ac2127b.js"},79408(e,t,r){e.exports=r.p+"714763ddd9bd466c95df7b042900bb87.js"},75753(e,t,r){e.exports=r.p+"4e389cce6fb8f78845fab249bce43c0b.js"},64422(e,t,r){e.exports=r.p+"17dc98279d24649d3ca77cbce8c44e83.js"},4383(e,t,r){e.exports=r.p+"a1c8660c5bcc6b6a43a7fb3c351174d9.js"},20505(e,t,r){e.exports=r.p+"a4d638b976f02f35740be031f996e088.js"},64517(e,t,r){e.exports=r.p+"b306285dfd802d091e788de0f96b8cb2.js"},79691(e,t,r){e.exports=r.p+"ddbc961769cd2ff4d4a7a136168ebf4c.js"},40265(e,t,r){e.exports=r.p+"3b544bb2c5a4e7b225a4b50235a0fd6d.js"},22258(e,t,r){e.exports=r.p+"1034e3807d1bcf55cb564491950237ab.js"},86715(e,t,r){e.exports=r.p+"d83cda12aee0c87c8b381a1234bf7798.js"},42540(e,t,r){e.exports=r.p+"9ed8c3550b5c3c1e878d0692f0338cb7.js"},26229(e,t,r){e.exports=r.p+"5f3ce6efab3c679ec1ad25ab0b3f6b2f.js"},63529(e,t,r){e.exports=r.p+"db8ca5cfb6fe4aaef215f116f6991784.js"},27256(e,t,r){e.exports=r.p+"53e3600928916423671f3388e2d67844.js"},66376(e,t,r){e.exports=r.p+"dc8240db39815020378555a4d80571c3.js"},13743(e,t,r){e.exports=r.p+"1b15b9f88acaf59b96e59c6b5f32da12.js"},4930(e,t,r){e.exports=r.p+"894052ca1f8f35cc1cf7cfb29ef75027.js"},43956(e,t,r){e.exports=r.p+"191feb6103c36b202bc01ba262916cdf.js"},42718(e,t,r){e.exports=r.p+"33b4e371d4983ab56f4db08627119f0b.js"},31671(e,t,r){e.exports=r.p+"b1170472ae4b50e3b0070eb991e502fe.js"},40042(e,t,r){e.exports=r.p+"cb4380c2fd4e67769f509b2be529d7b2.js"},55188(e,t,r){e.exports=r.p+"9807cf1e443a7440371904b6525f37eb.js"},39189(e,t,r){e.exports=r.p+"9b1fd9cf4206cc32e84150c49707d811.js"},25374(e,t,r){e.exports=r.p+"d7d616d4aa8fd3f51d681242853dcde9.js"},8448(e,t,r){e.exports=r.p+"e6ad50b520736b595970c9e07029c3f1.js"},71429(e,t,r){e.exports=r.p+"49582665262ff6179b9f3a98adf7ed5c.js"},88528(e,t,r){e.exports=r.p+"7080d2a1db1608264a6d9d9fbaf2cce8.js"},76424(e,t,r){e.exports=r.p+"ef87482c92662e8b69a21f47588474ea.js"},66809(e,t,r){e.exports=r.p+"f326f2f263b1498fedbe1d07d7254d10.js"},24337(e,t,r){e.exports=r.p+"962969a46fefcace3305abd4d6e14a2e.js"},63964(e,t,r){e.exports=r.p+"b33ef9b4202539d3690251cb8213a034.js"},37191(e,t,r){e.exports=r.p+"d85853bab3b213652aee023adecfb690.js"},17607(e,t,r){e.exports=r.p+"80ddbf4f0fdde4ddba57130e61043017.js"},79714(e,t,r){e.exports=r.p+"8ed58ed9c7e1cb1ae1f2830d29011ffb.js"},46059(e,t,r){e.exports=r.p+"c4e58637b4d14c303e29d3ce4b4a210f.js"},42772(e,t,r){e.exports=r.p+"59cc05504a1c823b6d4796bf6b430822.js"},4878(e,t,r){e.exports=r.p+"b20cd9acf45420fcacfd923754185663.js"},60953(e,t,r){e.exports=r.p+"a41ce517e26d17d855b7224af9ee433b.js"},81210(e,t,r){e.exports=r.p+"cb4bb785934eeca9b408e892ae6b73b7.js"},36804(e,t,r){e.exports=r.p+"8ed5aba33ead1f94e97d5c35a5e93434.js"},25019(e,t,r){e.exports=r.p+"019e34e85139cfc611bf23efa096c980.js"},3915(e,t,r){e.exports=r.p+"0bd45b2d490c48c31619072a4fb0eaea.js"},29127(e,t,r){e.exports=r.p+"6b4b87a54f673cfbb82be45329441bef.js"},5806(e,t,r){e.exports=r.p+"328cbf598e9711b0a87c19437b02f80d.js"},14161(e,t,r){e.exports=r.p+"3a395ae85f6a58001cb48cc5a4e6360b.js"},14184(e,t,r){e.exports=r.p+"83e8c44ee2a064e0eac31dbd3c876493.js"},99836(e,t,r){e.exports=r.p+"be75b76e74c78535966ec8aaa7d46bec.js"},62459(e,t,r){e.exports=r.p+"9920e03a65566d728a73c7bf18bc5741.js"},97061(e,t,r){e.exports=r.p+"ee5d36473f84db2af26d82efd69a38ec.js"},62889(e,t,r){e.exports=r.p+"d4f5981ee5a73d8a6e19112f2ffcb72c.js"},25876(e,t,r){e.exports=r.p+"cf909ad6e321c2f98750f5c3581556f8.js"},5166(e,t,r){e.exports=r.p+"a52f9ac0e3d582ed7e488aa1dfc33eda.js"},60359(e,t,r){e.exports=r.p+"1ff1389501159e4846a5133e3b8992d8.js"},45153(e,t,r){e.exports=r.p+"6250c7594cd66ca91184b5beca293e06.js"},59989(e,t,r){e.exports=r.p+"0fa30731c46fe8b6a54f9752ad0ed7e0.js"},88788(e,t,r){e.exports=r.p+"ecff3d4bbf59ef41230960af46098e74.js"},2892(e,t,r){e.exports=r.p+"4db989de49617370db449991af03f578.js"},2416(e,t,r){e.exports=r.p+"983fccb9f00748c487e889f6c83aa367.js"},81495(e,t,r){e.exports=r.p+"8a5127228870aafabfff6111d29313d6.js"},91212(e,t,r){e.exports=r.p+"91beb08737a1bbf071f351fb0acdbf3c.js"},94422(e,t,r){e.exports=r.p+"bd309bb3f23f2bfbcf914f2e71474ab5.js"},76629(e,t,r){e.exports=r.p+"9b4de1346c73ba258736f1a3f00fdc14.js"},25011(e,t,r){e.exports=r.p+"fe9499c0a5444f7f42843fa00fb355cb.js"},91602(e,t,r){e.exports=r.p+"3eefbe1c009cfd730b2ca6f834367c45.js"},91541(e,t,r){e.exports=r.p+"4bee3a46b8378a7b4ef84492f08abd22.js"},3830(e,t,r){e.exports=r.p+"ab0128ab12bcb8729032421b40f5f8dd.js"},80355(e,t,r){e.exports=r.p+"5cebfc2c3495b6294dcb2a99e5174872.js"},47634(e,t,r){e.exports=r.p+"6490772da5aecc6cb9e4c625abc74a96.js"},50807(e,t,r){e.exports=r.p+"3ac8c7749734990e2d9f81eeca219886.js"},41582(e,t,r){e.exports=r.p+"cc65d108f0e7cfb200de1d0bcf115005.js"},14538(e,t,r){e.exports=r.p+"2d2a75e3d01a74b93d07db04df8abe5e.js"},26131(e,t,r){e.exports=r.p+"90f3dc3c18d447104b63c156cb7fddb5.js"},94234(e,t,r){e.exports=r.p+"fd3859a700b456e06c65c0cf6b0af05c.js"},51074(e,t,r){e.exports=r.p+"81318a3530fb35d5178eb7a4a13a606f.js"},77384(e,t,r){e.exports=r.p+"eb0b62e1895dcf7491419aa728f00c38.js"},48651(e,t,r){e.exports=r.p+"79241f85b016a7332f85bb66667459c2.js"},77706(e,t,r){e.exports=r.p+"8f9ce72eeabbf31f2d51f4bcfc66d3b0.js"},32832(e,t,r){e.exports=r.p+"da740c1b29a85b999a6874b59a1baeef.js"},61273(e,t,r){e.exports=r.p+"2a8394955e047270a2a965ec67843989.js"},85504(e,t,r){e.exports=r.p+"6bed1b724e74e6bc80688f42bc824d70.js"},27895(e,t,r){e.exports=r.p+"1ce14f2cad9f3c122cb5ccfcd485ffb4.js"},52055(e,t,r){e.exports=r.p+"42e0ea6351d45d342caab13cb12f9ea4.js"},95493(e,t,r){e.exports=r.p+"ee41eb1fd1d1c87c45e818b5a8a65cf8.js"},23922(e,t,r){e.exports=r.p+"dc932cde2fbfca8e2901fb693968b131.js"},97673(e,t,r){e.exports=r.p+"1d3796180f854b5d8ab435ab0a1c2c11.js"},76073(e,t,r){e.exports=r.p+"678f5201c1917429f334b88078ca4174.js"},87696(e,t,r){e.exports=r.p+"6e40b726d91e9138d9eaef6fd012c740.js"},10445(e,t,r){e.exports=r.p+"9ebb9ac2c9c875649c72722bc585d445.js"},24486(e,t,r){e.exports=r.p+"fb393a7455b47f3d4fc30cf219d5145c.js"},5728(e,t,r){e.exports=r.p+"af6fdb556ee3f9065578bb01f81f6216.js"},61302(e,t,r){e.exports=r.p+"bc27b2d7127da36a976f00f889810836.js"},82727(e,t,r){e.exports=r.p+"7b839a5c1f6d89538928c8a29003bbda.js"},6399(e,t,r){e.exports=r.p+"af1635b600efd13f6059eb6ac9deae12.js"},38333(e,t,r){e.exports=r.p+"c3832579be376308fa819b04e7b0c66f.js"},70528(e,t,r){e.exports=r.p+"44efcea2f84e80cc4092a89796afe886.js"},64105(e,t,r){e.exports=r.p+"5398e3b596fa15df4d84b2aa0464e5c4.js"},68926(e,t,r){e.exports=r.p+"1b399d419893e83d7aea276705c2cd46.js"},1645(e){"use strict";var t=e.exports=function(e,r,i){"function"==typeof r&&(i=r,r={});var o="function"==typeof(i=r.cb||i)?i:i.pre||function(){};!function e(r,i,o,n,s,a,l,c,h,d){if(n&&"object"==typeof n&&!Array.isArray(n)){for(var u in i(n,s,a,l,c,h,d),n){var p=n[u];if(Array.isArray(p)){if(u in t.arrayKeywords)for(var f=0;f<p.length;f++)e(r,i,o,p[f],s+"/"+u+"/"+f,a,s,u,n,f)}else if(u in t.propsKeywords){if(p&&"object"==typeof p)for(var g in p)e(r,i,o,p[g],s+"/"+u+"/"+g.replace(/~/g,"~0").replace(/\//g,"~1"),a,s,u,n,g)}else(u in t.keywords||r.allKeys&&!(u in t.skipKeywords))&&e(r,i,o,p,s+"/"+u,a,s,u,n)}o(n,s,a,l,c,h,d)}}(r,o,i.post||function(){},e,"",e)};t.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},t.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},t.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},t.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},5157(e,t,r){var i,o="__lodash_hash_undefined__",n=1/0,s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/,l=/^\./,c=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,h=/\\(\\)?/g,d=/^\[object .+?Constructor\]$/,u="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,p="object"==typeof self&&self&&self.Object===Object&&self,f=u||p||Function("return this")(),g=Array.prototype,m=Function.prototype,v=Object.prototype,y=f["__core-js_shared__"],b=(i=/[^.]+$/.exec(y&&y.keys&&y.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"",w=m.toString,x=v.hasOwnProperty,$=v.toString,S=RegExp("^"+w.call(x).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),M=f.Symbol,C=g.splice,A=O(f,"Map"),E=O(Object,"create"),k=M?M.prototype:void 0,_=k?k.toString:void 0;function L(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}function T(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}function R(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}function I(e,t){for(var r,i,o=e.length;o--;){if(r=e[o][0],r===(i=t)||r!=r&&i!=i)return o}return -1}function D(e,t){var r,i,o=e.__data__;return("string"==(i=typeof(r=t))||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==r:null===r)?o["string"==typeof t?"string":"hash"]:o.map}function O(e,t){var r,i,o,n=null==e?void 0:e[t];return!(!F(n)||(r=n,b&&b in r))&&("[object Function]"==(o=F(i=n)?$.call(i):"")||"[object GeneratorFunction]"==o||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(n)?S:d).test(function(e){if(null!=e){try{return w.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(n))?n:void 0}L.prototype.clear=function(){this.__data__=E?E(null):{}},L.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},L.prototype.get=function(e){var t=this.__data__;if(E){var r=t[e];return r===o?void 0:r}return x.call(t,e)?t[e]:void 0},L.prototype.has=function(e){var t=this.__data__;return E?void 0!==t[e]:x.call(t,e)},L.prototype.set=function(e,t){return this.__data__[e]=E&&void 0===t?o:t,this},T.prototype.clear=function(){this.__data__=[]},T.prototype.delete=function(e){var t=this.__data__,r=I(t,e);return!(r<0)&&(r==t.length-1?t.pop():C.call(t,r,1),!0)},T.prototype.get=function(e){var t=this.__data__,r=I(t,e);return r<0?void 0:t[r][1]},T.prototype.has=function(e){return I(this.__data__,e)>-1},T.prototype.set=function(e,t){var r=this.__data__,i=I(r,e);return i<0?r.push([e,t]):r[i][1]=t,this},R.prototype.clear=function(){this.__data__={hash:new L,map:new(A||T),string:new L}},R.prototype.delete=function(e){return D(this,e).delete(e)},R.prototype.get=function(e){return D(this,e).get(e)},R.prototype.has=function(e){return D(this,e).has(e)},R.prototype.set=function(e,t){return D(this,e).set(e,t),this};var j=P(function(e){e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(U(e))return _?_.call(e):"";var t=e+"";return"0"==t&&1/e==-n?"-0":t}(t);var t,r=[];return l.test(e)&&r.push(""),e.replace(c,function(e,t,i,o){r.push(i?o.replace(h,"$1"):t||e)}),r});function P(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw TypeError("Expected a function");var r=function(){var i=arguments,o=t?t.apply(this,i):i[0],n=r.cache;if(n.has(o))return n.get(o);var s=e.apply(this,i);return r.cache=n.set(o,s),s};return r.cache=new(P.Cache||R),r}P.Cache=R;var N=Array.isArray;function F(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function U(e){return"symbol"==typeof e||!!e&&"object"==typeof e&&"[object Symbol]"==$.call(e)}e.exports=function(e,t,r){var i=null==e?void 0:function(e,t){var r;t=!function(e,t){if(N(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||U(e))||a.test(e)||!s.test(e)||null!=t&&e in Object(t)}(t,e)?N(r=t)?r:j(r):[t];for(var i=0,o=t.length;null!=e&&i<o;)e=e[function(e){if("string"==typeof e||U(e))return e;var t=e+"";return"0"==t&&1/e==-n?"-0":t}(t[i++])];return i&&i==o?e:void 0}(e,t);return void 0===i?r:i}},18677(e,t,r){e=r.nmd(e);var i,o,n,s="__lodash_hash_undefined__",a="[object Arguments]",l="[object Array]",c="[object Boolean]",h="[object Date]",d="[object Error]",u="[object Function]",p="[object Map]",f="[object Number]",g="[object Object]",m="[object Promise]",v="[object RegExp]",y="[object Set]",b="[object String]",w="[object WeakMap]",x="[object ArrayBuffer]",$="[object DataView]",S=/^\[object .+?Constructor\]$/,M=/^(?:0|[1-9]\d*)$/,C={};C["[object Float32Array]"]=C["[object Float64Array]"]=C["[object Int8Array]"]=C["[object Int16Array]"]=C["[object Int32Array]"]=C["[object Uint8Array]"]=C["[object Uint8ClampedArray]"]=C["[object Uint16Array]"]=C["[object Uint32Array]"]=!0,C[a]=C[l]=C[x]=C[c]=C[$]=C[h]=C[d]=C[u]=C[p]=C[f]=C[g]=C[v]=C[y]=C[b]=C[w]=!1;var A="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,E="object"==typeof self&&self&&self.Object===Object&&self,k=A||E||Function("return this")(),_=t&&!t.nodeType&&t,L=_&&e&&!e.nodeType&&e,T=L&&L.exports===_,R=T&&A.process,I=function(){try{return R&&R.binding&&R.binding("util")}catch(e){}}(),D=I&&I.isTypedArray;function O(e){var t=-1,r=Array(e.size);return e.forEach(function(e,i){r[++t]=[i,e]}),r}function j(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}var P=Array.prototype,N=Function.prototype,F=Object.prototype,U=k["__core-js_shared__"],z=N.toString,W=F.hasOwnProperty,H=(i=/[^.]+$/.exec(U&&U.keys&&U.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"",B=F.toString,V=RegExp("^"+z.call(W).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),G=T?k.Buffer:void 0,K=k.Symbol,Q=k.Uint8Array,Y=F.propertyIsEnumerable,q=P.splice,Z=K?K.toStringTag:void 0,X=Object.getOwnPropertySymbols,J=G?G.isBuffer:void 0,ee=(o=Object.keys,n=Object,function(e){return o(n(e))}),et=eC(k,"DataView"),er=eC(k,"Map"),ei=eC(k,"Promise"),eo=eC(k,"Set"),en=eC(k,"WeakMap"),es=eC(Object,"create"),ea=ek(et),el=ek(er),ec=ek(ei),eh=ek(eo),ed=ek(en),eu=K?K.prototype:void 0,ep=eu?eu.valueOf:void 0;function ef(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}function eg(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}function em(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}function ev(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new em;++t<r;)this.add(e[t])}function ey(e){var t=this.__data__=new eg(e);this.size=t.size}function eb(e,t){for(var r=e.length;r--;)if(e_(e[r][0],t))return r;return -1}function ew(e){var t;return null==e?void 0===e?"[object Undefined]":"[object Null]":Z&&Z in Object(e)?function(e){var t=W.call(e,Z),r=e[Z];try{e[Z]=void 0;var i=!0}catch(e){}var o=B.call(e);return i&&(t?e[Z]=r:delete e[Z]),o}(e):(t=e,B.call(t))}function ex(e){return ej(e)&&ew(e)==a}function e$(e,t,r,i,o,n){var s=1&r,a=e.length,l=t.length;if(a!=l&&!(s&&l>a))return!1;var c=n.get(e);if(c&&n.get(t))return c==t;var h=-1,d=!0,u=2&r?new ev:void 0;for(n.set(e,t),n.set(t,e);++h<a;){var p=e[h],f=t[h];if(i)var g=s?i(f,p,h,t,e,n):i(p,f,h,e,t,n);if(void 0!==g){if(g)continue;d=!1;break}if(u){if(!function(e,t){for(var r=-1,i=null==e?0:e.length;++r<i;)if(t(e[r],r,e))return!0;return!1}(t,function(e,t){if(!u.has(t)&&(p===e||o(p,e,r,i,n)))return u.push(t)})){d=!1;break}}else if(!(p===f||o(p,f,r,i,n))){d=!1;break}}return n.delete(e),n.delete(t),d}function eS(e){var t;return t=eN(e),eT(e)?t:function(e,t){for(var r=-1,i=t.length,o=e.length;++r<i;)e[o+r]=t[r];return e}(t,eA(e))}function eM(e,t){var r,i,o=e.__data__;return("string"==(i=typeof(r=t))||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==r:null===r)?o["string"==typeof t?"string":"hash"]:o.map}function eC(e,t){var r,i=null==e?void 0:e[t];return!(!eO(i)||(r=i,H&&H in r))&&(eI(i)?V:S).test(ek(i))?i:void 0}ef.prototype.clear=function(){this.__data__=es?es(null):{},this.size=0},ef.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t},ef.prototype.get=function(e){var t=this.__data__;if(es){var r=t[e];return r===s?void 0:r}return W.call(t,e)?t[e]:void 0},ef.prototype.has=function(e){var t=this.__data__;return es?void 0!==t[e]:W.call(t,e)},ef.prototype.set=function(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=es&&void 0===t?s:t,this},eg.prototype.clear=function(){this.__data__=[],this.size=0},eg.prototype.delete=function(e){var t=this.__data__,r=eb(t,e);return!(r<0)&&(r==t.length-1?t.pop():q.call(t,r,1),--this.size,!0)},eg.prototype.get=function(e){var t=this.__data__,r=eb(t,e);return r<0?void 0:t[r][1]},eg.prototype.has=function(e){return eb(this.__data__,e)>-1},eg.prototype.set=function(e,t){var r=this.__data__,i=eb(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this},em.prototype.clear=function(){this.size=0,this.__data__={hash:new ef,map:new(er||eg),string:new ef}},em.prototype.delete=function(e){var t=eM(this,e).delete(e);return this.size-=!!t,t},em.prototype.get=function(e){return eM(this,e).get(e)},em.prototype.has=function(e){return eM(this,e).has(e)},em.prototype.set=function(e,t){var r=eM(this,e),i=r.size;return r.set(e,t),this.size+=+(r.size!=i),this},ev.prototype.add=ev.prototype.push=function(e){return this.__data__.set(e,s),this},ev.prototype.has=function(e){return this.__data__.has(e)},ey.prototype.clear=function(){this.__data__=new eg,this.size=0},ey.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},ey.prototype.get=function(e){return this.__data__.get(e)},ey.prototype.has=function(e){return this.__data__.has(e)},ey.prototype.set=function(e,t){var r=this.__data__;if(r instanceof eg){var i=r.__data__;if(!er||i.length<199)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new em(i)}return r.set(e,t),this.size=r.size,this};var eA=X?function(e){return null==e?[]:function(e,t){for(var r=-1,i=null==e?0:e.length,o=0,n=[];++r<i;){var s=e[r];t(s,r,e)&&(n[o++]=s)}return n}(X(e=Object(e)),function(t){return Y.call(e,t)})}:function(){return[]},eE=ew;function ek(e){if(null!=e){try{return z.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function e_(e,t){return e===t||e!=e&&t!=t}(et&&eE(new et(new ArrayBuffer(1)))!=$||er&&eE(new er)!=p||ei&&eE(ei.resolve())!=m||eo&&eE(new eo)!=y||en&&eE(new en)!=w)&&(eE=function(e){var t=ew(e),r=t==g?e.constructor:void 0,i=r?ek(r):"";if(i)switch(i){case ea:return $;case el:return p;case ec:return m;case eh:return y;case ed:return w}return t});var eL=ex(function(){return arguments}())?ex:function(e){return ej(e)&&W.call(e,"callee")&&!Y.call(e,"callee")},eT=Array.isArray,eR=J||function(){return!1};function eI(e){if(!eO(e))return!1;var t=ew(e);return t==u||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function eD(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}function eO(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ej(e){return null!=e&&"object"==typeof e}var eP=D?function(e){return D(e)}:function(e){return ej(e)&&eD(e.length)&&!!C[ew(e)]};function eN(e){return null!=e&&eD(e.length)&&!eI(e)?function(e,t){var r,i,o=eT(e),n=!o&&eL(e),s=!o&&!n&&eR(e),a=!o&&!n&&!s&&eP(e),l=o||n||s||a,c=l?function(e,t){for(var r=-1,i=Array(e);++r<e;)i[r]=t(r);return i}(e.length,String):[],h=c.length;for(var d in e){W.call(e,d)&&!(l&&("length"==d||s&&("offset"==d||"parent"==d)||a&&("buffer"==d||"byteLength"==d||"byteOffset"==d)||(r=d,(i=null==(i=h)?0x1fffffffffffff:i)&&("number"==typeof r||M.test(r))&&r>-1&&r%1==0&&r<i)))&&c.push(d)}return c}(e):function(e){if(r=(t=e)&&t.constructor,t!==("function"==typeof r&&r.prototype||F))return ee(e);var t,r,i=[];for(var o in Object(e))W.call(e,o)&&"constructor"!=o&&i.push(o);return i}(e)}e.exports=function(e,t){return function e(t,r,i,o,n){return t===r||(null!=t&&null!=r&&(ej(t)||ej(r))?function(e,t,r,i,o,n){var s=eT(e),u=eT(t),m=s?l:eE(e),w=u?l:eE(t);m=m==a?g:m,w=w==a?g:w;var S=m==g,M=w==g,C=m==w;if(C&&eR(e)){if(!eR(t))return!1;s=!0,S=!1}if(C&&!S)return n||(n=new ey),s||eP(e)?e$(e,t,r,i,o,n):function(e,t,r,i,o,n,s){switch(r){case $:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case x:if(e.byteLength!=t.byteLength||!n(new Q(e),new Q(t)))break;return!0;case c:case h:case f:return e_(+e,+t);case d:return e.name==t.name&&e.message==t.message;case v:case b:return e==t+"";case p:var a=O;case y:var l=1&i;if(a||(a=j),e.size!=t.size&&!l)break;var u=s.get(e);if(u)return u==t;i|=2,s.set(e,t);var g=e$(a(e),a(t),i,o,n,s);return s.delete(e),g;case"[object Symbol]":if(ep)return ep.call(e)==ep.call(t)}return!1}(e,t,m,r,i,o,n);if(!(1&r)){var A=S&&W.call(e,"__wrapped__"),E=M&&W.call(t,"__wrapped__");if(A||E){var k=A?e.value():e,_=E?t.value():t;return n||(n=new ey),o(k,_,r,i,n)}}return!!C&&(n||(n=new ey),function(e,t,r,i,o,n){var s=1&r,a=eS(e),l=a.length;if(l!=eS(t).length&&!s)return!1;for(var c=l;c--;){var h=a[c];if(!(s?h in t:W.call(t,h)))return!1}var d=n.get(e);if(d&&n.get(t))return d==t;var u=!0;n.set(e,t),n.set(t,e);for(var p=s;++c<l;){var f=e[h=a[c]],g=t[h];if(i)var m=s?i(g,f,h,t,e,n):i(f,g,h,e,t,n);if(!(void 0===m?f===g||o(f,g,r,i,n):m)){u=!1;break}p||(p="constructor"==h)}if(u&&!p){var v=e.constructor,y=t.constructor;v!=y&&"constructor"in e&&"constructor"in t&&!("function"==typeof v&&v instanceof v&&"function"==typeof y&&y instanceof y)&&(u=!1)}return n.delete(e),n.delete(t),u}(e,t,r,i,o,n))}(t,r,i,o,e,n):t!=t&&r!=r)}(e,t)}},71704(e,t,r){"use strict";var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=this&&this.__assign||function(){return(n=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0});var s=r(71841),a=r(39067),l=r(21846),c=r(18677),h=r(53894),d=(0,h.getAceInstance)();t.default=function(e){function t(t){var r=e.call(this,t)||this;return h.editorEvents.forEach(function(e){r[e]=r[e].bind(r)}),r.debounce=h.debounce,r}return o(t,e),t.prototype.isInShadow=function(e){for(var t=e&&e.parentNode;t;){if("[object ShadowRoot]"===t.toString())return!0;t=t.parentNode}return!1},t.prototype.componentDidMount=function(){var e=this,t=this.props,r=t.className,i=t.onBeforeLoad,o=t.onValidate,n=t.mode,s=t.focus,a=t.theme,l=t.fontSize,c=t.lineHeight,u=t.value,p=t.defaultValue,f=t.showGutter,g=t.wrapEnabled,m=t.showPrintMargin,v=t.scrollMargin,y=void 0===v?[0,0,0,0]:v,b=t.keyboardHandler,w=t.onLoad,x=t.commands,$=t.annotations,S=t.markers,M=t.placeholder;this.editor=d.edit(this.refEditor),i&&i(d);for(var C=Object.keys(this.props.editorProps),A=0;A<C.length;A++)this.editor[C[A]]=this.props.editorProps[C[A]];this.props.debounceChangePeriod&&(this.onChange=this.debounce(this.onChange,this.props.debounceChangePeriod)),this.editor.renderer.setScrollMargin(y[0],y[1],y[2],y[3]),this.isInShadow(this.refEditor)&&this.editor.renderer.attachToShadowRoot(),this.editor.getSession().setMode("string"==typeof n?"ace/mode/".concat(n):n),a&&""!==a&&this.editor.setTheme("ace/theme/".concat(a)),this.editor.setFontSize("number"==typeof l?"".concat(l,"px"):l),c&&(this.editor.container.style.lineHeight="number"==typeof c?"".concat(c,"px"):"".concat(c),this.editor.renderer.updateFontSize()),this.editor.getSession().setValue(p||u||""),this.props.navigateToFileEnd&&this.editor.navigateFileEnd(),this.editor.renderer.setShowGutter(f),this.editor.getSession().setUseWrapMode(g),this.editor.setShowPrintMargin(m),this.editor.on("focus",this.onFocus),this.editor.on("blur",this.onBlur),this.editor.on("copy",this.onCopy),this.editor.on("paste",this.onPaste),this.editor.on("change",this.onChange),this.editor.on("input",this.onInput),M&&this.updatePlaceholder(),this.editor.getSession().selection.on("changeSelection",this.onSelectionChange),this.editor.getSession().selection.on("changeCursor",this.onCursorChange),o&&this.editor.getSession().on("changeAnnotation",function(){var t=e.editor.getSession().getAnnotations();e.props.onValidate(t)}),this.editor.session.on("changeScrollTop",this.onScroll),this.editor.getSession().setAnnotations($||[]),S&&S.length>0&&this.handleMarkers(S);var E=this.editor.$options;h.editorOptions.forEach(function(t){E.hasOwnProperty(t)?e.editor.setOption(t,e.props[t]):e.props[t]&&console.warn("ReactAce: editor option ".concat(t," was activated but not found. Did you need to import a related tool or did you possibly mispell the option?"))}),this.handleOptions(this.props),Array.isArray(x)&&x.forEach(function(t){"string"==typeof t.exec?e.editor.commands.bindKey(t.bindKey,t.exec):e.editor.commands.addCommand(t)}),b&&this.editor.setKeyboardHandler("ace/keyboard/"+b),r&&(this.refEditor.className+=" "+r),w&&w(this.editor),this.editor.resize(),s&&this.editor.focus()},t.prototype.componentDidUpdate=function(e){for(var t=this.props,r=0;r<h.editorOptions.length;r++){var i=h.editorOptions[r];t[i]!==e[i]&&this.editor.setOption(i,t[i])}if(t.className!==e.className){var o=this.refEditor.className.trim().split(" ");e.className.trim().split(" ").forEach(function(e){var t=o.indexOf(e);o.splice(t,1)}),this.refEditor.className=" "+t.className+" "+o.join(" ")}var n=this.editor&&null!=t.value&&this.editor.getValue()!==t.value;if(n){this.silent=!0;var s=this.editor.session.selection.toJSON();this.editor.setValue(t.value,t.cursorStart),this.editor.session.selection.fromJSON(s),this.silent=!1}t.placeholder!==e.placeholder&&this.updatePlaceholder(),t.mode!==e.mode&&this.editor.getSession().setMode("string"==typeof t.mode?"ace/mode/".concat(t.mode):t.mode),t.theme!==e.theme&&this.editor.setTheme("ace/theme/"+t.theme),t.keyboardHandler!==e.keyboardHandler&&(t.keyboardHandler?this.editor.setKeyboardHandler("ace/keyboard/"+t.keyboardHandler):this.editor.setKeyboardHandler(null)),t.fontSize!==e.fontSize&&this.editor.setFontSize("number"==typeof t.fontSize?"".concat(t.fontSize,"px"):t.fontSize),t.lineHeight!==e.lineHeight&&(this.editor.container.style.lineHeight="number"==typeof t.lineHeight?"".concat(t.lineHeight,"px"):t.lineHeight,this.editor.renderer.updateFontSize()),t.wrapEnabled!==e.wrapEnabled&&this.editor.getSession().setUseWrapMode(t.wrapEnabled),t.showPrintMargin!==e.showPrintMargin&&this.editor.setShowPrintMargin(t.showPrintMargin),t.showGutter!==e.showGutter&&this.editor.renderer.setShowGutter(t.showGutter),c(t.setOptions,e.setOptions)||this.handleOptions(t),(n||!c(t.annotations,e.annotations))&&this.editor.getSession().setAnnotations(t.annotations||[]),!c(t.markers,e.markers)&&Array.isArray(t.markers)&&this.handleMarkers(t.markers),c(t.scrollMargin,e.scrollMargin)||this.handleScrollMargins(t.scrollMargin),(e.height!==this.props.height||e.width!==this.props.width)&&this.editor.resize(),this.props.focus&&!e.focus&&this.editor.focus()},t.prototype.handleScrollMargins=function(e){void 0===e&&(e=[0,0,0,0]),this.editor.renderer.setScrollMargin(e[0],e[1],e[2],e[3])},t.prototype.componentWillUnmount=function(){this.editor&&(this.editor.destroy(),this.editor=null)},t.prototype.onChange=function(e){if(this.editor&&this.props.onChange&&!this.silent){var t=this.editor.getValue();this.props.onChange(t,e)}},t.prototype.onSelectionChange=function(e){if(this.props.onSelectionChange){var t=this.editor.getSelection();this.props.onSelectionChange(t,e)}},t.prototype.onCursorChange=function(e){if(this.props.onCursorChange){var t=this.editor.getSelection();this.props.onCursorChange(t,e)}},t.prototype.onInput=function(e){this.props.onInput&&this.props.onInput(e),this.props.placeholder&&this.updatePlaceholder()},t.prototype.onFocus=function(e){this.props.onFocus&&this.props.onFocus(e,this.editor)},t.prototype.onBlur=function(e){this.props.onBlur&&this.props.onBlur(e,this.editor)},t.prototype.onCopy=function(e){var t=e.text;this.props.onCopy&&this.props.onCopy(t)},t.prototype.onPaste=function(e){var t=e.text;this.props.onPaste&&this.props.onPaste(t)},t.prototype.onScroll=function(){this.props.onScroll&&this.props.onScroll(this.editor)},t.prototype.handleOptions=function(e){for(var t=Object.keys(e.setOptions),r=0;r<t.length;r++)this.editor.setOption(t[r],e.setOptions[t[r]])},t.prototype.handleMarkers=function(e){var t=this,r=this.editor.getSession().getMarkers(!0);for(var i in r)r.hasOwnProperty(i)&&this.editor.getSession().removeMarker(r[i].id);for(var i in r=this.editor.getSession().getMarkers(!1))r.hasOwnProperty(i)&&"ace_active-line"!==r[i].clazz&&"ace_selected-word"!==r[i].clazz&&this.editor.getSession().removeMarker(r[i].id);e.forEach(function(e){var r=e.startRow,i=e.startCol,o=e.endRow,n=e.endCol,a=e.className,l=e.type,c=e.inFront,h=new s.Range(r,i,o,n);t.editor.getSession().addMarker(h,a,l,void 0!==c&&c)})},t.prototype.updatePlaceholder=function(){var e=this.editor,t=this.props.placeholder,r=!e.session.getValue().length,i=e.renderer.placeholderNode;!r&&i?(e.renderer.scroller.removeChild(e.renderer.placeholderNode),e.renderer.placeholderNode=null):r&&!i?((i=e.renderer.placeholderNode=document.createElement("div")).textContent=t||"",i.className="ace_comment ace_placeholder",i.style.padding="0 9px",i.style.position="absolute",i.style.zIndex="3",e.renderer.scroller.appendChild(i)):r&&i&&(i.textContent=t)},t.prototype.updateRef=function(e){this.refEditor=e},t.prototype.render=function(){var e=this.props,t=e.name,r=e.width,i=e.height,o=e.style,s=n({width:r,height:i},o);return l.createElement("div",{ref:this.updateRef,id:t,style:s})},t.propTypes={mode:a.oneOfType([a.string,a.object]),focus:a.bool,theme:a.string,name:a.string,className:a.string,height:a.string,width:a.string,fontSize:a.oneOfType([a.number,a.string]),lineHeight:a.oneOfType([a.number,a.string]),showGutter:a.bool,onChange:a.func,onCopy:a.func,onPaste:a.func,onFocus:a.func,onInput:a.func,onBlur:a.func,onScroll:a.func,value:a.string,defaultValue:a.string,onLoad:a.func,onSelectionChange:a.func,onCursorChange:a.func,onBeforeLoad:a.func,onValidate:a.func,minLines:a.number,maxLines:a.number,readOnly:a.bool,highlightActiveLine:a.bool,tabSize:a.number,showPrintMargin:a.bool,cursorStart:a.number,debounceChangePeriod:a.number,editorProps:a.object,setOptions:a.object,style:a.object,scrollMargin:a.array,annotations:a.array,markers:a.array,keyboardHandler:a.string,wrapEnabled:a.bool,enableSnippets:a.bool,enableBasicAutocompletion:a.oneOfType([a.bool,a.array]),enableLiveAutocompletion:a.oneOfType([a.bool,a.array]),navigateToFileEnd:a.bool,commands:a.array,placeholder:a.string},t.defaultProps={name:"ace-editor",focus:!1,mode:"",theme:"",height:"500px",width:"500px",fontSize:12,enableSnippets:!1,showGutter:!0,onChange:null,onPaste:null,onLoad:null,onScroll:null,minLines:null,maxLines:null,readOnly:!1,highlightActiveLine:!0,showPrintMargin:!0,tabSize:4,cursorStart:1,editorProps:{},style:{},scrollMargin:[0,0,0,0],setOptions:{},wrapEnabled:!1,enableBasicAutocompletion:!1,enableLiveAutocompletion:!1,placeholder:null,navigateToFileEnd:!0},t}(l.Component)},51856(e,t,r){"use strict";var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0});var n=r(39067),s=r(21846),a=r(53275),l=r(56022);t.default=function(e){function t(t){var r=e.call(this,t)||this;return r.state={value:r.props.value},r.onChange=r.onChange.bind(r),r.diff=r.diff.bind(r),r}return o(t,e),t.prototype.componentDidUpdate=function(){var e=this.props.value;e!==this.state.value&&this.setState({value:e})},t.prototype.onChange=function(e){this.setState({value:e}),this.props.onChange&&this.props.onChange(e)},t.prototype.diff=function(){var e=new l,t=this.state.value[0],r=this.state.value[1];if(0===t.length&&0===r.length)return[];var i=e.diff_main(t,r);e.diff_cleanupSemantic(i);var o=this.generateDiffedLines(i);return this.setCodeMarkers(o)},t.prototype.generateDiffedLines=function(e){var t={left:[],right:[]},r={left:1,right:1};return e.forEach(function(e){var i=e[0],o=e[1],n=o.split("\n").length-1;if(0!==o.length){var s=o[0],a=o[o.length-1],l=0;switch(i){case 0:r.left+=n,r.right+=n;break;case -1:"\n"===s&&(r.left++,n--),0===(l=n)&&t.right.push({startLine:r.right,endLine:r.right}),"\n"===a&&(l-=1),t.left.push({startLine:r.left,endLine:r.left+l}),r.left+=n;break;case 1:"\n"===s&&(r.right++,n--),0===(l=n)&&t.left.push({startLine:r.left,endLine:r.left}),"\n"===a&&(l-=1),t.right.push({startLine:r.right,endLine:r.right+l}),r.right+=n;break;default:throw Error("Diff type was not defined.")}}}),t},t.prototype.setCodeMarkers=function(e){void 0===e&&(e={left:[],right:[]});for(var t=[],r=[],i=[],o=0;o<e.left.length;o++){var n={startRow:e.left[o].startLine-1,endRow:e.left[o].endLine,type:"text",className:"codeMarker"};r.push(n)}for(var o=0;o<e.right.length;o++){var n={startRow:e.right[o].startLine-1,endRow:e.right[o].endLine,type:"text",className:"codeMarker"};i.push(n)}return t[0]=r,t[1]=i,t},t.prototype.render=function(){var e=this.diff();return s.createElement(a.default,{name:this.props.name,className:this.props.className,focus:this.props.focus,orientation:this.props.orientation,splits:this.props.splits,mode:this.props.mode,theme:this.props.theme,height:this.props.height,width:this.props.width,fontSize:this.props.fontSize,showGutter:this.props.showGutter,onChange:this.onChange,onPaste:this.props.onPaste,onLoad:this.props.onLoad,onScroll:this.props.onScroll,minLines:this.props.minLines,maxLines:this.props.maxLines,readOnly:this.props.readOnly,highlightActiveLine:this.props.highlightActiveLine,showPrintMargin:this.props.showPrintMargin,tabSize:this.props.tabSize,cursorStart:this.props.cursorStart,editorProps:this.props.editorProps,style:this.props.style,scrollMargin:this.props.scrollMargin,setOptions:this.props.setOptions,wrapEnabled:this.props.wrapEnabled,enableBasicAutocompletion:this.props.enableBasicAutocompletion,enableLiveAutocompletion:this.props.enableLiveAutocompletion,value:this.state.value,markers:e})},t.propTypes={cursorStart:n.number,editorProps:n.object,enableBasicAutocompletion:n.bool,enableLiveAutocompletion:n.bool,focus:n.bool,fontSize:n.number,height:n.string,highlightActiveLine:n.bool,maxLines:n.number,minLines:n.number,mode:n.string,name:n.string,className:n.string,onLoad:n.func,onPaste:n.func,onScroll:n.func,onChange:n.func,orientation:n.string,readOnly:n.bool,scrollMargin:n.array,setOptions:n.object,showGutter:n.bool,showPrintMargin:n.bool,splits:n.number,style:n.object,tabSize:n.number,theme:n.string,value:n.array,width:n.string,wrapEnabled:n.bool},t.defaultProps={cursorStart:1,editorProps:{},enableBasicAutocompletion:!1,enableLiveAutocompletion:!1,focus:!1,fontSize:12,height:"500px",highlightActiveLine:!0,maxLines:null,minLines:null,mode:"",name:"ace-editor",onLoad:null,onScroll:null,onPaste:null,onChange:null,orientation:"beside",readOnly:!1,scrollMargin:[0,0,0,0],setOptions:{},showGutter:!0,showPrintMargin:!0,splits:2,style:{},tabSize:4,theme:"github",value:["",""],width:"500px",wrapEnabled:!0},t}(s.Component)},53894(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getAceInstance=t.debounce=t.editorEvents=t.editorOptions=void 0,t.editorOptions=["minLines","maxLines","readOnly","highlightActiveLine","tabSize","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets"],t.editorEvents=["onChange","onFocus","onInput","onBlur","onCopy","onPaste","onSelectionChange","onCursorChange","onScroll","handleOptions","updateRef"],t.getAceInstance=function(){var e;return"u"<typeof window?(r.g.window={},e=r(71841),delete r.g.window):window.ace?(e=window.ace).acequire=window.ace.require||window.ace.acequire:e=r(71841),e},t.debounce=function(e,t){var r=null;return function(){var i=this,o=arguments;clearTimeout(r),r=setTimeout(function(){e.apply(i,o)},t)}}},56271(e,t,r){"use strict";var i=r(71704);r(51856).default,r(53275).default,t.default=i.default},53275(e,t,r){"use strict";var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=this&&this.__assign||function(){return(n=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0});var s=r(53894),a=(0,s.getAceInstance)(),l=r(71841),c=r(53828),h=r(39067),d=r(21846),u=r(18677),p=r(5157);t.default=function(e){function t(t){var r=e.call(this,t)||this;return s.editorEvents.forEach(function(e){r[e]=r[e].bind(r)}),r.debounce=s.debounce,r}return o(t,e),t.prototype.isInShadow=function(e){for(var t=e&&e.parentNode;t;){if("[object ShadowRoot]"===t.toString())return!0;t=t.parentNode}return!1},t.prototype.componentDidMount=function(){var e=this,t=this.props,r=t.className,i=t.onBeforeLoad,o=t.mode,n=t.focus,l=t.theme,h=t.fontSize,d=t.value,u=t.defaultValue,f=t.cursorStart,g=t.showGutter,m=t.wrapEnabled,v=t.showPrintMargin,y=t.scrollMargin,b=void 0===y?[0,0,0,0]:y,w=t.keyboardHandler,x=t.onLoad,$=t.commands,S=t.annotations,M=t.markers,C=t.splits;this.editor=a.edit(this.refEditor),this.isInShadow(this.refEditor)&&this.editor.renderer.attachToShadowRoot(),this.editor.setTheme("ace/theme/".concat(l)),i&&i(a);var A=Object.keys(this.props.editorProps),E=new c.Split(this.editor.container,"ace/theme/".concat(l),C);this.editor.env.split=E,this.splitEditor=E.getEditor(0),this.split=E,this.editor.setShowPrintMargin(!1),this.editor.renderer.setShowGutter(!1);var k=this.splitEditor.$options;this.props.debounceChangePeriod&&(this.onChange=this.debounce(this.onChange,this.props.debounceChangePeriod)),E.forEach(function(t,r){for(var i=0;i<A.length;i++)t[A[i]]=e.props.editorProps[A[i]];var n=p(u,r),c=p(d,r,"");t.session.setUndoManager(new a.UndoManager),t.setTheme("ace/theme/".concat(l)),t.renderer.setScrollMargin(b[0],b[1],b[2],b[3]),t.getSession().setMode("ace/mode/".concat(o)),t.setFontSize(h),t.renderer.setShowGutter(g),t.getSession().setUseWrapMode(m),t.setShowPrintMargin(v),t.on("focus",e.onFocus),t.on("blur",e.onBlur),t.on("input",e.onInput),t.on("copy",e.onCopy),t.on("paste",e.onPaste),t.on("change",e.onChange),t.getSession().selection.on("changeSelection",e.onSelectionChange),t.getSession().selection.on("changeCursor",e.onCursorChange),t.session.on("changeScrollTop",e.onScroll),t.setValue(void 0===n?c:n,f);var y=p(S,r,[]),x=p(M,r,[]);t.getSession().setAnnotations(y),x&&x.length>0&&e.handleMarkers(x,t);for(var i=0;i<s.editorOptions.length;i++){var C=s.editorOptions[i];k.hasOwnProperty(C)?t.setOption(C,e.props[C]):e.props[C]&&console.warn("ReaceAce: editor option ".concat(C," was activated but not found. Did you need to import a related tool or did you possibly mispell the option?"))}e.handleOptions(e.props,t),Array.isArray($)&&$.forEach(function(e){"string"==typeof e.exec?t.commands.bindKey(e.bindKey,e.exec):t.commands.addCommand(e)}),w&&t.setKeyboardHandler("ace/keyboard/"+w)}),r&&(this.refEditor.className+=" "+r),n&&this.splitEditor.focus();var _=this.editor.env.split;_.setOrientation("below"===this.props.orientation?_.BELOW:_.BESIDE),_.resize(!0),x&&x(_)},t.prototype.componentDidUpdate=function(e){var t=this,r=this.props,i=this.editor.env.split;if(r.splits!==e.splits&&i.setSplits(r.splits),r.orientation!==e.orientation&&i.setOrientation("below"===r.orientation?i.BELOW:i.BESIDE),i.forEach(function(i,o){r.mode!==e.mode&&i.getSession().setMode("ace/mode/"+r.mode),r.keyboardHandler!==e.keyboardHandler&&(r.keyboardHandler?i.setKeyboardHandler("ace/keyboard/"+r.keyboardHandler):i.setKeyboardHandler(null)),r.fontSize!==e.fontSize&&i.setFontSize(r.fontSize),r.wrapEnabled!==e.wrapEnabled&&i.getSession().setUseWrapMode(r.wrapEnabled),r.showPrintMargin!==e.showPrintMargin&&i.setShowPrintMargin(r.showPrintMargin),r.showGutter!==e.showGutter&&i.renderer.setShowGutter(r.showGutter);for(var n=0;n<s.editorOptions.length;n++){var a=s.editorOptions[n];r[a]!==e[a]&&i.setOption(a,r[a])}u(r.setOptions,e.setOptions)||t.handleOptions(r,i);var l=p(r.value,o,"");if(i.getValue()!==l){t.silent=!0;var c=i.session.selection.toJSON();i.setValue(l,r.cursorStart),i.session.selection.fromJSON(c),t.silent=!1}var h=p(r.annotations,o,[]);u(h,p(e.annotations,o,[]))||i.getSession().setAnnotations(h);var d=p(r.markers,o,[]);!u(d,p(e.markers,o,[]))&&Array.isArray(d)&&t.handleMarkers(d,i)}),r.className!==e.className){var o=this.refEditor.className.trim().split(" ");e.className.trim().split(" ").forEach(function(e){var t=o.indexOf(e);o.splice(t,1)}),this.refEditor.className=" "+r.className+" "+o.join(" ")}r.theme!==e.theme&&i.setTheme("ace/theme/"+r.theme),r.focus&&!e.focus&&this.splitEditor.focus(),(r.height!==this.props.height||r.width!==this.props.width)&&this.editor.resize()},t.prototype.componentWillUnmount=function(){this.editor.destroy(),this.editor=null},t.prototype.onChange=function(e){if(this.props.onChange&&!this.silent){var t=[];this.editor.env.split.forEach(function(e){t.push(e.getValue())}),this.props.onChange(t,e)}},t.prototype.onSelectionChange=function(e){if(this.props.onSelectionChange){var t=[];this.editor.env.split.forEach(function(e){t.push(e.getSelection())}),this.props.onSelectionChange(t,e)}},t.prototype.onCursorChange=function(e){if(this.props.onCursorChange){var t=[];this.editor.env.split.forEach(function(e){t.push(e.getSelection())}),this.props.onCursorChange(t,e)}},t.prototype.onFocus=function(e){this.props.onFocus&&this.props.onFocus(e)},t.prototype.onInput=function(e){this.props.onInput&&this.props.onInput(e)},t.prototype.onBlur=function(e){this.props.onBlur&&this.props.onBlur(e)},t.prototype.onCopy=function(e){this.props.onCopy&&this.props.onCopy(e)},t.prototype.onPaste=function(e){this.props.onPaste&&this.props.onPaste(e)},t.prototype.onScroll=function(){this.props.onScroll&&this.props.onScroll(this.editor)},t.prototype.handleOptions=function(e,t){for(var r=Object.keys(e.setOptions),i=0;i<r.length;i++)t.setOption(r[i],e.setOptions[r[i]])},t.prototype.handleMarkers=function(e,t){var r=t.getSession().getMarkers(!0);for(var i in r)r.hasOwnProperty(i)&&t.getSession().removeMarker(r[i].id);for(var i in r=t.getSession().getMarkers(!1))r.hasOwnProperty(i)&&t.getSession().removeMarker(r[i].id);e.forEach(function(e){var r=e.startRow,i=e.startCol,o=e.endRow,n=e.endCol,s=e.className,a=e.type,c=e.inFront,h=new l.Range(r,i,o,n);t.getSession().addMarker(h,s,a,void 0!==c&&c)})},t.prototype.updateRef=function(e){this.refEditor=e},t.prototype.render=function(){var e=this.props,t=e.name,r=e.width,i=e.height,o=e.style,s=n({width:r,height:i},o);return d.createElement("div",{ref:this.updateRef,id:t,style:s})},t.propTypes={className:h.string,debounceChangePeriod:h.number,defaultValue:h.arrayOf(h.string),focus:h.bool,fontSize:h.oneOfType([h.number,h.string]),height:h.string,mode:h.string,name:h.string,onBlur:h.func,onChange:h.func,onCopy:h.func,onFocus:h.func,onInput:h.func,onLoad:h.func,onPaste:h.func,onScroll:h.func,orientation:h.string,showGutter:h.bool,splits:h.number,theme:h.string,value:h.arrayOf(h.string),width:h.string,onSelectionChange:h.func,onCursorChange:h.func,onBeforeLoad:h.func,minLines:h.number,maxLines:h.number,readOnly:h.bool,highlightActiveLine:h.bool,tabSize:h.number,showPrintMargin:h.bool,cursorStart:h.number,editorProps:h.object,setOptions:h.object,style:h.object,scrollMargin:h.array,annotations:h.array,markers:h.array,keyboardHandler:h.string,wrapEnabled:h.bool,enableBasicAutocompletion:h.oneOfType([h.bool,h.array]),enableLiveAutocompletion:h.oneOfType([h.bool,h.array]),commands:h.array},t.defaultProps={name:"ace-editor",focus:!1,orientation:"beside",splits:2,mode:"",theme:"",height:"500px",width:"500px",value:[],fontSize:12,showGutter:!0,onChange:null,onPaste:null,onLoad:null,onScroll:null,minLines:null,maxLines:null,readOnly:!1,highlightActiveLine:!0,showPrintMargin:!0,tabSize:4,cursorStart:1,editorProps:{},style:{},scrollMargin:[0,0,0,0],setOptions:{},wrapEnabled:!1,enableBasicAutocompletion:!1,enableLiveAutocompletion:!1},t}(d.Component)},2862(e,t){(function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];if(!(t.length>1))return t[0];t[0]=t[0].slice(0,-1);for(var i=t.length-1,o=1;o<i;++o)t[o]=t[o].slice(1,-1);return t[i]=t[i].slice(1),t.join("")}function r(e){return"(?:"+e+")"}function i(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function o(e){return e.toUpperCase()}function n(e){var i="[A-Za-z]",o="[0-9]",n=t(o,"[A-Fa-f]"),s=r(r("%[EFef]"+n+"%"+n+n+"%"+n+n)+"|"+r("%[89A-Fa-f]"+n+"%"+n+n)+"|"+r("%"+n+n)),a="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",l=t("[\\:\\/\\?\\#\\[\\]\\@]",a),c=e?"[\\uE000-\\uF8FF]":"[]",h=t(i,o,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),d=r(i+t(i,o,"[\\+\\-\\.]")+"*"),u=r(r(s+"|"+t(h,a,"[\\:]"))+"*"),p=(r(r("25[0-5]")+"|"+r("2[0-4]"+o)+"|"+r("1"+o+o)+"|"+r("[1-9]"+o)+"|"+o),r(r("25[0-5]")+"|"+r("2[0-4]"+o)+"|"+r("1"+o+o)+"|"+r("0?[1-9]"+o)+"|0?0?"+o)),f=r(p+"\\."+p+"\\."+p+"\\."+p),g=r(n+"{1,4}"),m=r(r(g+"\\:"+g)+"|"+f),v=r(r(g+"\\:")+"{6}"+m),y=r("\\:\\:"+r(g+"\\:")+"{5}"+m),b=r(r(g)+"?\\:\\:"+r(g+"\\:")+"{4}"+m),w=r(r(r(g+"\\:")+"{0,1}"+g)+"?\\:\\:"+r(g+"\\:")+"{3}"+m),x=r(r(r(g+"\\:")+"{0,2}"+g)+"?\\:\\:"+r(g+"\\:")+"{2}"+m),$=r(r(r(g+"\\:")+"{0,3}"+g)+"?\\:\\:"+g+"\\:"+m),S=r(r(r(g+"\\:")+"{0,4}"+g)+"?\\:\\:"+m),M=r(r(r(g+"\\:")+"{0,5}"+g)+"?\\:\\:"+g),C=r(r(r(g+"\\:")+"{0,6}"+g)+"?\\:\\:"),A=r([v,y,b,w,x,$,S,M,C].join("|")),E=r(r(h+"|"+s)+"+"),k=(r(A+"\\%25"+E),r(A+r("\\%25|\\%(?!"+n+"{2})")+E)),_=r("[vV]"+n+"+\\."+t(h,a,"[\\:]")+"+"),L=r("\\["+r(k+"|"+A+"|"+_)+"\\]"),T=r(r(s+"|"+t(h,a))+"*"),R=r(L+"|"+f+"(?!"+T+")|"+T),I=r(o+"*"),D=r(r(u+"@")+"?"+R+r("\\:"+I)+"?"),O=r(s+"|"+t(h,a,"[\\:\\@]")),j=r(O+"*"),P=r(O+"+"),N=r(r(s+"|"+t(h,a,"[\\@]"))+"+"),F=r(r("\\/"+j)+"*"),U=r("\\/"+r(P+F)+"?"),z=r(N+F),W=r(P+F),H="(?!"+O+")",B=(r(F+"|"+U+"|"+z+"|"+W+"|"+H),r(r(O+"|"+t("[\\/\\?]",c))+"*")),V=r(r(O+"|[\\/\\?]")+"*"),G=r(r("\\/\\/"+D+F)+"|"+U+"|"+W+"|"+H),K=r(d+"\\:"+G+r("\\?"+B)+"?"+r("\\#"+V)+"?"),Q=r(r("\\/\\/"+D+F)+"|"+U+"|"+z+"|"+H),Y=r(Q+r("\\?"+B)+"?"+r("\\#"+V)+"?");return r(K+"|"+Y),r(d+"\\:"+G+r("\\?"+B)+"?"),r(r("\\/\\/("+r("("+u+")@")+"?("+R+")"+r("\\:("+I+")")+"?)")+"?("+F+"|"+U+"|"+W+"|"+H+")"),r("\\?("+B+")"),r("\\#("+V+")"),r(r("\\/\\/("+r("("+u+")@")+"?("+R+")"+r("\\:("+I+")")+"?)")+"?("+F+"|"+U+"|"+z+"|"+H+")"),r("\\?("+B+")"),r("\\#("+V+")"),r(r("\\/\\/("+r("("+u+")@")+"?("+R+")"+r("\\:("+I+")")+"?)")+"?("+F+"|"+U+"|"+W+"|"+H+")"),r("\\?("+B+")"),r("\\#("+V+")"),r("("+u+")@"),r("\\:("+I+")"),{NOT_SCHEME:RegExp(t("[^]",i,o,"[\\+\\-\\.]"),"g"),NOT_USERINFO:RegExp(t("[^\\%\\:]",h,a),"g"),NOT_HOST:RegExp(t("[^\\%\\[\\]\\:]",h,a),"g"),NOT_PATH:RegExp(t("[^\\%\\/\\:\\@]",h,a),"g"),NOT_PATH_NOSCHEME:RegExp(t("[^\\%\\/\\@]",h,a),"g"),NOT_QUERY:RegExp(t("[^\\%]",h,a,"[\\:\\@\\/\\?]",c),"g"),NOT_FRAGMENT:RegExp(t("[^\\%]",h,a,"[\\:\\@\\/\\?]"),"g"),ESCAPE:RegExp(t("[^]",h,a),"g"),UNRESERVED:RegExp(h,"g"),OTHER_CHARS:RegExp(t("[^\\%]",h,l),"g"),PCT_ENCODED:RegExp(s,"g"),IPV4ADDRESS:RegExp("^("+f+")$"),IPV6ADDRESS:RegExp("^\\[?("+A+")"+r(r("\\%25|\\%(?!"+n+"{2})")+"("+E+")")+"?\\]?$")}}var s=n(!1),a=n(!0),l=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],i=!0,o=!1,n=void 0;try{for(var s,a=e[Symbol.iterator]();!(i=(s=a.next()).done)&&(r.push(s.value),!t||r.length!==t);i=!0);}catch(e){o=!0,n=e}finally{try{!i&&a.return&&a.return()}finally{if(o)throw n}}return r}(e,t);throw TypeError("Invalid attempt to destructure non-iterable instance")},c=/^xn--/,h=/[^\0-\x7E]/,d=/[\x2E\u3002\uFF0E\uFF61]/g,u={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=Math.floor,f=String.fromCharCode;function g(e){throw RangeError(u[e])}function m(e,t){var r=e.split("@"),i="";return r.length>1&&(i=r[0]+"@",e=r[1]),i+(function(e,t){for(var r=[],i=e.length;i--;)r[i]=t(e[i]);return r})((e=e.replace(d,".")).split("."),t).join(".")}var v=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},y=function(e,t,r){var i=0;for(e=r?p(e/700):e>>1,e+=p(e/t);e>455;i+=36)e=p(e/35);return p(i+36*e/(e+38))},b=function(e){var t=[],r=e.length,i=0,o=128,n=72,s=e.lastIndexOf("-");s<0&&(s=0);for(var a=0;a<s;++a)e.charCodeAt(a)>=128&&g("not-basic"),t.push(e.charCodeAt(a));for(var l=s>0?s+1:0;l<r;){for(var c=i,h=1,d=36;;d+=36){l>=r&&g("invalid-input");var u,f=(u=e.charCodeAt(l++))-48<10?u-22:u-65<26?u-65:u-97<26?u-97:36;(f>=36||f>p((0x7fffffff-i)/h))&&g("overflow"),i+=f*h;var m=d<=n?1:d>=n+26?26:d-n;if(f<m)break;var v=36-m;h>p(0x7fffffff/v)&&g("overflow"),h*=v}var b=t.length+1;n=y(i-c,b,0==c),p(i/b)>0x7fffffff-o&&g("overflow"),o+=p(i/b),i%=b,t.splice(i++,0,o)}return String.fromCodePoint.apply(String,t)},w=function(e){var t=[],r=(e=function(e){for(var t=[],r=0,i=e.length;r<i;){var o=e.charCodeAt(r++);if(o>=55296&&o<=56319&&r<i){var n=e.charCodeAt(r++);(64512&n)==56320?t.push(((1023&o)<<10)+(1023&n)+65536):(t.push(o),r--)}else t.push(o)}return t}(e)).length,i=128,o=0,n=72,s=!0,a=!1,l=void 0;try{for(var c,h=e[Symbol.iterator]();!(s=(c=h.next()).done);s=!0){var d=c.value;d<128&&t.push(f(d))}}catch(e){a=!0,l=e}finally{try{!s&&h.return&&h.return()}finally{if(a)throw l}}var u=t.length,m=u;for(u&&t.push("-");m<r;){var b=0x7fffffff,w=!0,x=!1,$=void 0;try{for(var S,M=e[Symbol.iterator]();!(w=(S=M.next()).done);w=!0){var C=S.value;C>=i&&C<b&&(b=C)}}catch(e){x=!0,$=e}finally{try{!w&&M.return&&M.return()}finally{if(x)throw $}}var A=m+1;b-i>p((0x7fffffff-o)/A)&&g("overflow"),o+=(b-i)*A,i=b;var E=!0,k=!1,_=void 0;try{for(var L,T=e[Symbol.iterator]();!(E=(L=T.next()).done);E=!0){var R=L.value;if(R<i&&++o>0x7fffffff&&g("overflow"),R==i){for(var I=o,D=36;;D+=36){var O=D<=n?1:D>=n+26?26:D-n;if(I<O)break;var j=I-O,P=36-O;t.push(f(v(O+j%P,0))),I=p(j/P)}t.push(f(v(I,0))),n=y(o,A,m==u),o=0,++m}}}catch(e){k=!0,_=e}finally{try{!E&&T.return&&T.return()}finally{if(k)throw _}}++o,++i}return t.join("")},x=function(e){return m(e,function(e){return h.test(e)?"xn--"+w(e):e})},$=function(e){return m(e,function(e){return c.test(e)?b(e.slice(4).toLowerCase()):e})},S={};function M(e){var t=e.charCodeAt(0);return t<16?"%0"+t.toString(16).toUpperCase():t<128?"%"+t.toString(16).toUpperCase():t<2048?"%"+(t>>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function C(e){for(var t="",r=0,i=e.length;r<i;){var o=parseInt(e.substr(r+1,2),16);o<128?(t+=String.fromCharCode(o),r+=3):o>=194&&o<224?(i-r>=6?t+=String.fromCharCode((31&o)<<6|63&parseInt(e.substr(r+4,2),16)):t+=e.substr(r,6),r+=6):o>=224?(i-r>=9?t+=String.fromCharCode((15&o)<<12|(63&parseInt(e.substr(r+4,2),16))<<6|63&parseInt(e.substr(r+7,2),16)):t+=e.substr(r,9),r+=9):(t+=e.substr(r,3),r+=3)}return t}function A(e,t){function r(e){var r=C(e);return r.match(t.UNRESERVED)?r:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,r).replace(t.NOT_USERINFO,M).replace(t.PCT_ENCODED,o)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_HOST,M).replace(t.PCT_ENCODED,o)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,r).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,M).replace(t.PCT_ENCODED,o)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,r).replace(t.NOT_QUERY,M).replace(t.PCT_ENCODED,o)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,r).replace(t.NOT_FRAGMENT,M).replace(t.PCT_ENCODED,o)),e}function E(e){return e.replace(/^0*(.*)/,"$1")||"0"}function k(e,t){var r=l(e.match(t.IPV4ADDRESS)||[],2)[1];return r?r.split(".").map(E).join("."):e}function _(e,t){var r=l(e.match(t.IPV6ADDRESS)||[],3),i=r[1],o=r[2];if(!i)return e;for(var n=l(i.toLowerCase().split("::").reverse(),2),s=n[0],a=n[1],c=a?a.split(":").map(E):[],h=s.split(":").map(E),d=t.IPV4ADDRESS.test(h[h.length-1]),u=d?7:8,p=h.length-u,f=Array(u),g=0;g<u;++g)f[g]=c[g]||h[p+g]||"";d&&(f[u-1]=k(f[u-1],t));var m=f.reduce(function(e,t,r){if(!t||"0"===t){var i=e[e.length-1];i&&i.index+i.length===r?i.length++:e.push({index:r,length:1})}return e},[]).sort(function(e,t){return t.length-e.length})[0],v=void 0;if(m&&m.length>1){var y=f.slice(0,m.index),b=f.slice(m.index+m.length);v=y.join(":")+"::"+b.join(":")}else v=f.join(":");return o&&(v+="%"+o),v}var L=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,T=void 0==="".match(/(){0}/)[1];function R(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={},i=!1!==t.iri?a:s;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var o=e.match(L);if(o){T?(r.scheme=o[1],r.userinfo=o[3],r.host=o[4],r.port=parseInt(o[5],10),r.path=o[6]||"",r.query=o[7],r.fragment=o[8],isNaN(r.port)&&(r.port=o[5])):(r.scheme=o[1]||void 0,r.userinfo=-1!==e.indexOf("@")?o[3]:void 0,r.host=-1!==e.indexOf("//")?o[4]:void 0,r.port=parseInt(o[5],10),r.path=o[6]||"",r.query=-1!==e.indexOf("?")?o[7]:void 0,r.fragment=-1!==e.indexOf("#")?o[8]:void 0,isNaN(r.port)&&(r.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?o[4]:void 0)),r.host&&(r.host=_(k(r.host,i),i)),void 0!==r.scheme||void 0!==r.userinfo||void 0!==r.host||void 0!==r.port||r.path||void 0!==r.query?void 0===r.scheme?r.reference="relative":void 0===r.fragment?r.reference="absolute":r.reference="uri":r.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==r.reference&&(r.error=r.error||"URI is not a "+t.reference+" reference.");var n=S[(t.scheme||r.scheme||"").toLowerCase()];if(t.unicodeSupport||n&&n.unicodeSupport)A(r,i);else{if(r.host&&(t.domainHost||n&&n.domainHost))try{r.host=x(r.host.replace(i.PCT_ENCODED,C).toLowerCase())}catch(e){r.error=r.error||"Host's domain name can not be converted to ASCII via punycode: "+e}A(r,s)}n&&n.parse&&n.parse(r,t)}else r.error=r.error||"URI can not be parsed.";return r}var I=/^\.\.?\//,D=/^\/\.(\/|$)/,O=/^\/\.\.(\/|$)/,j=/^\/?(?:.|\n)*?(?=\/|$)/;function P(e){for(var t=[];e.length;)if(e.match(I))e=e.replace(I,"");else if(e.match(D))e=e.replace(D,"/");else if(e.match(O))e=e.replace(O,"/"),t.pop();else if("."===e||".."===e)e="";else{var r=e.match(j);if(r){var i=r[0];e=e.slice(i.length),t.push(i)}else throw Error("Unexpected dot segment condition")}return t.join("")}function N(e){var t,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=i.iri?a:s,n=[],l=S[(i.scheme||e.scheme||"").toLowerCase()];if(l&&l.serialize&&l.serialize(e,i),e.host){if(o.IPV6ADDRESS.test(e.host));else if(i.domainHost||l&&l.domainHost)try{e.host=i.iri?$(e.host):x(e.host.replace(o.PCT_ENCODED,C).toLowerCase())}catch(t){e.error=e.error||"Host's domain name can not be converted to "+(i.iri?"Unicode":"ASCII")+" via punycode: "+t}}A(e,o),"suffix"!==i.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var c=(t=!1!==i.iri?a:s,r=[],void 0!==e.userinfo&&(r.push(e.userinfo),r.push("@")),void 0!==e.host&&r.push(_(k(String(e.host),t),t).replace(t.IPV6ADDRESS,function(e,t,r){return"["+t+(r?"%25"+r:"")+"]"})),("number"==typeof e.port||"string"==typeof e.port)&&(r.push(":"),r.push(String(e.port))),r.length?r.join(""):void 0);if(void 0!==c&&("suffix"!==i.reference&&n.push("//"),n.push(c),e.path&&"/"!==e.path.charAt(0)&&n.push("/")),void 0!==e.path){var h=e.path;i.absolutePath||l&&l.absolutePath||(h=P(h)),void 0===c&&(h=h.replace(/^\/\//,"/%2F")),n.push(h)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function F(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments[3],o={};return i||(e=R(N(e,r),r),t=R(N(t,r),r)),!(r=r||{}).tolerant&&t.scheme?(o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=P(t.path||""),o.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=P(t.path||""),o.query=t.query):(t.path?("/"===t.path.charAt(0)?o.path=P(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:o.path=t.path:o.path="/"+t.path,o.path=P(o.path)),o.query=t.query):(o.path=e.path,void 0!==t.query?o.query=t.query:o.query=e.query),o.userinfo=e.userinfo,o.host=e.host,o.port=e.port),o.scheme=e.scheme),o.fragment=t.fragment,o}function U(e,t){return e&&e.toString().replace(t&&t.iri?a.PCT_ENCODED:s.PCT_ENCODED,C)}var z={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var r="https"===String(e.scheme).toLowerCase();return(e.port===(r?443:80)||""===e.port)&&(e.port=void 0),e.path||(e.path="/"),e}},W={scheme:"https",domainHost:z.domainHost,parse:z.parse,serialize:z.serialize};function H(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var B={scheme:"ws",domainHost:!0,parse:function(e,t){return e.secure=H(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e},serialize:function(e,t){if((e.port===(H(e)?443:80)||""===e.port)&&(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var r=l(e.resourceName.split("?"),2),i=r[0],o=r[1];e.path=i&&"/"!==i?i:void 0,e.query=o,e.resourceName=void 0}return e.fragment=void 0,e}},V={scheme:"wss",domainHost:B.domainHost,parse:B.parse,serialize:B.serialize},G={},K="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",Q="[0-9A-Fa-f]",Y=r(r("%[EFef]"+Q+"%"+Q+Q+"%"+Q+Q)+"|"+r("%[89A-Fa-f]"+Q+"%"+Q+Q)+"|"+r("%"+Q+Q)),q=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),Z=RegExp(K,"g"),X=RegExp(Y,"g"),J=RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',q),"g"),ee=RegExp(t("[^]",K,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g");function et(e){var t=C(e);return t.match(Z)?t:e}var er={scheme:"mailto",parse:function(e,t){var r=e.to=e.path?e.path.split(","):[];if(e.path=void 0,e.query){for(var i=!1,o={},n=e.query.split("&"),s=0,a=n.length;s<a;++s){var l=n[s].split("=");switch(l[0]){case"to":for(var c=l[1].split(","),h=0,d=c.length;h<d;++h)r.push(c[h]);break;case"subject":e.subject=U(l[1],t);break;case"body":e.body=U(l[1],t);break;default:i=!0,o[U(l[0],t)]=U(l[1],t)}}i&&(e.headers=o)}e.query=void 0;for(var u=0,p=r.length;u<p;++u){var f=r[u].split("@");if(f[0]=U(f[0]),t.unicodeSupport)f[1]=U(f[1],t).toLowerCase();else try{f[1]=x(U(f[1],t).toLowerCase())}catch(t){e.error=e.error||"Email address's domain name can not be converted to ASCII via punycode: "+t}r[u]=f.join("@")}return e},serialize:function(e,t){var r,i=null!=(r=e.to)?r instanceof Array?r:"number"!=typeof r.length||r.split||r.setInterval||r.call?[r]:Array.prototype.slice.call(r):[];if(i){for(var n=0,s=i.length;n<s;++n){var a=String(i[n]),l=a.lastIndexOf("@"),c=a.slice(0,l).replace(X,et).replace(X,o).replace(J,M),h=a.slice(l+1);try{h=t.iri?$(h):x(U(h,t).toLowerCase())}catch(r){e.error=e.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+r}i[n]=c+"@"+h}e.path=i.join(",")}var d=e.headers=e.headers||{};e.subject&&(d.subject=e.subject),e.body&&(d.body=e.body);var u=[];for(var p in d)d[p]!==G[p]&&u.push(p.replace(X,et).replace(X,o).replace(ee,M)+"="+d[p].replace(X,et).replace(X,o).replace(ee,M));return u.length&&(e.query=u.join("&")),e}},ei=/^([^\:]+)\:(.*)/,eo={scheme:"urn",parse:function(e,t){var r=e.path&&e.path.match(ei),i=e;if(r){var o=t.scheme||i.scheme||"urn",n=r[1].toLowerCase(),s=r[2],a=S[o+":"+(t.nid||n)];i.nid=n,i.nss=s,i.path=void 0,a&&(i=a.parse(i,t))}else i.error=i.error||"URN can not be parsed.";return i},serialize:function(e,t){var r=t.scheme||e.scheme||"urn",i=e.nid,o=S[r+":"+(t.nid||i)];o&&(e=o.serialize(e,t));var n=e,s=e.nss;return n.path=(i||t.nid)+":"+s,n}},en=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,es={scheme:"urn:uuid",parse:function(e,t){return e.uuid=e.nss,e.nss=void 0,t.tolerant||e.uuid&&e.uuid.match(en)||(e.error=e.error||"UUID is not valid."),e},serialize:function(e,t){return e.nss=(e.uuid||"").toLowerCase(),e}};S[z.scheme]=z,S[W.scheme]=W,S[B.scheme]=B,S[V.scheme]=V,S[er.scheme]=er,S[eo.scheme]=eo,S[es.scheme]=es,e.SCHEMES=S,e.pctEncChar=M,e.pctDecChars=C,e.parse=R,e.removeDotSegments=P,e.serialize=N,e.resolveComponents=F,e.resolve=function(e,t,r){var i=function(e,t){if(t)for(var r in t)e[r]=t[r];return e}({scheme:"null"},r);return N(F(R(e,i),R(t,i),i,!0),i)},e.normalize=function(e,t){return"string"==typeof e?e=N(R(e,t),t):"object"===i(e)&&(e=R(N(e,t),t)),e},e.equal=function(e,t,r){return"string"==typeof e?e=N(R(e,r),r):"object"===i(e)&&(e=N(e,r)),"string"==typeof t?t=N(R(t,r),r):"object"===i(t)&&(t=N(t,r)),e===t},e.escapeComponent=function(e,t){return e&&e.toString().replace(t&&t.iri?a.ESCAPE:s.ESCAPE,M)},e.unescapeComponent=U,Object.defineProperty(e,"__esModule",{value:!0})})(t)},8633(e){"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON Schema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},2707(e){"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')}}]);