@transcend-io/cli 9.0.1 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +26 -34
  3. package/dist/RateCounter-DFL_mnk2.mjs +2 -0
  4. package/dist/RateCounter-DFL_mnk2.mjs.map +1 -0
  5. package/dist/RequestDataSilo-_Iv44M9u.mjs +51 -0
  6. package/dist/RequestDataSilo-_Iv44M9u.mjs.map +1 -0
  7. package/dist/app-By_zDIkK.mjs +131 -0
  8. package/dist/app-By_zDIkK.mjs.map +1 -0
  9. package/dist/approvePrivacyRequests-1cguqGqq.mjs +2 -0
  10. package/dist/approvePrivacyRequests-1cguqGqq.mjs.map +1 -0
  11. package/dist/assessment-BDywVaGR.mjs +284 -0
  12. package/dist/assessment-BDywVaGR.mjs.map +1 -0
  13. package/dist/bin/bash-complete.mjs +1 -1
  14. package/dist/bin/bash-complete.mjs.map +1 -1
  15. package/dist/bin/cli.mjs +1 -1
  16. package/dist/bin/cli.mjs.map +1 -1
  17. package/dist/bin/deprecated-command.mjs +1 -1
  18. package/dist/bin/deprecated-command.mjs.map +1 -1
  19. package/dist/bluebird-CUitXgsY.mjs +2 -0
  20. package/dist/bluebird-CUitXgsY.mjs.map +1 -0
  21. package/dist/buildXdiSyncEndpoint-BMaMHO7Z.mjs +9 -0
  22. package/dist/buildXdiSyncEndpoint-BMaMHO7Z.mjs.map +1 -0
  23. package/dist/bulkRestartRequests-DEPSHov-.mjs +2 -0
  24. package/dist/bulkRestartRequests-DEPSHov-.mjs.map +1 -0
  25. package/dist/bulkRetryEnrichers-BLkcFKXC.mjs +2 -0
  26. package/dist/bulkRetryEnrichers-BLkcFKXC.mjs.map +1 -0
  27. package/dist/cancelPrivacyRequests-C8MZQvsq.mjs +2 -0
  28. package/dist/cancelPrivacyRequests-C8MZQvsq.mjs.map +1 -0
  29. package/dist/codecs-BE3Wmoh8.mjs +2 -0
  30. package/dist/codecs-BE3Wmoh8.mjs.map +1 -0
  31. package/dist/codecs-Dx_vGxsl.mjs +2 -0
  32. package/dist/codecs-Dx_vGxsl.mjs.map +1 -0
  33. package/dist/{command-Bzyj3M2G.mjs → command-BUnCUxva.mjs} +2 -2
  34. package/dist/command-BUnCUxva.mjs.map +1 -0
  35. package/dist/consentManagersToBusinessEntities-BDgOFga7.mjs +5 -0
  36. package/dist/consentManagersToBusinessEntities-BDgOFga7.mjs.map +1 -0
  37. package/dist/constants-AFtS5Nad.mjs +4 -0
  38. package/dist/constants-AFtS5Nad.mjs.map +1 -0
  39. package/dist/constants-CeMiHaHx.mjs +2 -0
  40. package/dist/constants-CeMiHaHx.mjs.map +1 -0
  41. package/dist/constants-lIvXgkdp.mjs +2 -0
  42. package/dist/constants-lIvXgkdp.mjs.map +1 -0
  43. package/dist/{context-bkKpii_t.mjs → context-CdSyuBlf.mjs} +1 -1
  44. package/dist/context-CdSyuBlf.mjs.map +1 -0
  45. package/dist/{pooling-CazydwlD.mjs → createExtraKeyHandler-C_0EVj10.mjs} +5 -5
  46. package/dist/createExtraKeyHandler-C_0EVj10.mjs.map +1 -0
  47. package/dist/createPreferenceAccessTokens-6WLr6z-l.mjs +10 -0
  48. package/dist/createPreferenceAccessTokens-6WLr6z-l.mjs.map +1 -0
  49. package/dist/createSombraGotInstance-CahOgD6V.mjs +10 -0
  50. package/dist/createSombraGotInstance-CahOgD6V.mjs.map +1 -0
  51. package/dist/{dataFlowsToDataSilos-RAhfPV0l.mjs → dataFlowsToDataSilos-NhvBw1iy.mjs} +1 -1
  52. package/dist/dataFlowsToDataSilos-NhvBw1iy.mjs.map +1 -0
  53. package/dist/dataSilo-DrFetFXw.mjs +302 -0
  54. package/dist/dataSilo-DrFetFXw.mjs.map +1 -0
  55. package/dist/dataSubject-y_aXI0pa.mjs +92 -0
  56. package/dist/dataSubject-y_aXI0pa.mjs.map +1 -0
  57. package/dist/{done-input-validation-CcZtaz03.mjs → done-input-validation-DLR0-MJ7.mjs} +1 -1
  58. package/dist/{done-input-validation-CcZtaz03.mjs.map → done-input-validation-DLR0-MJ7.mjs.map} +1 -1
  59. package/dist/downloadPrivacyRequestFiles-B2yduagB.mjs +2 -0
  60. package/dist/downloadPrivacyRequestFiles-B2yduagB.mjs.map +1 -0
  61. package/dist/enums-CyFTrzXY.mjs.map +1 -1
  62. package/dist/extractClientError-DPjv09EH.mjs +2 -0
  63. package/dist/extractClientError-DPjv09EH.mjs.map +1 -0
  64. package/dist/extractErrorMessage-CPnTsT1S.mjs +2 -0
  65. package/dist/extractErrorMessage-CPnTsT1S.mjs.map +1 -0
  66. package/dist/fetchAllActions-C0l3wjQV.mjs +832 -0
  67. package/dist/fetchAllActions-C0l3wjQV.mjs.map +1 -0
  68. package/dist/fetchAllDataFlows-AQ9j_NRa.mjs +2 -0
  69. package/dist/fetchAllDataFlows-AQ9j_NRa.mjs.map +1 -0
  70. package/dist/fetchAllPreferenceTopics-Bn9PG-rO.mjs +36 -0
  71. package/dist/fetchAllPreferenceTopics-Bn9PG-rO.mjs.map +1 -0
  72. package/dist/fetchAllPurposes-CykSkZRY.mjs +29 -0
  73. package/dist/fetchAllPurposes-CykSkZRY.mjs.map +1 -0
  74. package/dist/fetchAllPurposesAndPreferences-Dog6N9L2.mjs +2 -0
  75. package/dist/fetchAllPurposesAndPreferences-Dog6N9L2.mjs.map +1 -0
  76. package/dist/fetchAllRequestEnrichers-q34mRuE5.mjs +42 -0
  77. package/dist/fetchAllRequestEnrichers-q34mRuE5.mjs.map +1 -0
  78. package/dist/fetchAllRequestIdentifiers-YP-geTV4.mjs +10 -0
  79. package/dist/fetchAllRequestIdentifiers-YP-geTV4.mjs.map +1 -0
  80. package/dist/fetchAllRequests-DEPTEUbi.mjs +2 -0
  81. package/dist/fetchAllRequests-DEPTEUbi.mjs.map +1 -0
  82. package/dist/fetchApiKeys-DkBco7W0.mjs +33 -0
  83. package/dist/fetchApiKeys-DkBco7W0.mjs.map +1 -0
  84. package/dist/fetchCatalogs-CBk871k6.mjs +12 -0
  85. package/dist/fetchCatalogs-CBk871k6.mjs.map +1 -0
  86. package/dist/fetchConsentManagerId-DHDA5Py9.mjs +321 -0
  87. package/dist/fetchConsentManagerId-DHDA5Py9.mjs.map +1 -0
  88. package/dist/fetchIdentifiers-DjqjUnaw.mjs +54 -0
  89. package/dist/fetchIdentifiers-DjqjUnaw.mjs.map +1 -0
  90. package/dist/fetchRequestDataSilo-CF6XOTQ-.mjs +2 -0
  91. package/dist/fetchRequestDataSilo-CF6XOTQ-.mjs.map +1 -0
  92. package/dist/fetchRequestFilesForRequest-DrHGOdih.mjs +33 -0
  93. package/dist/fetchRequestFilesForRequest-DrHGOdih.mjs.map +1 -0
  94. package/dist/generateCrossAccountApiKeys-F11uqpc5.mjs +33 -0
  95. package/dist/generateCrossAccountApiKeys-F11uqpc5.mjs.map +1 -0
  96. package/dist/impl--Lmj1RHh2.mjs +2 -0
  97. package/dist/impl--Lmj1RHh2.mjs.map +1 -0
  98. package/dist/impl-0ooudQ_J2.mjs +4 -0
  99. package/dist/impl-0ooudQ_J2.mjs.map +1 -0
  100. package/dist/{impl-BYBNi68b.mjs → impl-1U4QBT_L.mjs} +2 -2
  101. package/dist/impl-1U4QBT_L.mjs.map +1 -0
  102. package/dist/impl-2FbPcOv_2.mjs +2 -0
  103. package/dist/impl-2FbPcOv_2.mjs.map +1 -0
  104. package/dist/impl-ArGeiHuz.mjs +2 -0
  105. package/dist/impl-ArGeiHuz.mjs.map +1 -0
  106. package/dist/impl-B8iVBYdg.mjs +2 -0
  107. package/dist/impl-B8iVBYdg.mjs.map +1 -0
  108. package/dist/impl-BWjBYTQZ.mjs +2 -0
  109. package/dist/impl-BWjBYTQZ.mjs.map +1 -0
  110. package/dist/impl-Bc8Es_bT.mjs +7 -0
  111. package/dist/impl-Bc8Es_bT.mjs.map +1 -0
  112. package/dist/impl-BkyC7nnu.mjs +2 -0
  113. package/dist/impl-BkyC7nnu.mjs.map +1 -0
  114. package/dist/impl-BpUksm1b2.mjs +2 -0
  115. package/dist/impl-BpUksm1b2.mjs.map +1 -0
  116. package/dist/impl-BzupMfJi.mjs +12 -0
  117. package/dist/impl-BzupMfJi.mjs.map +1 -0
  118. package/dist/impl-C05tQHSq.mjs +2 -0
  119. package/dist/impl-C05tQHSq.mjs.map +1 -0
  120. package/dist/impl-CMX0qQr_2.mjs +2 -0
  121. package/dist/impl-CMX0qQr_2.mjs.map +1 -0
  122. package/dist/impl-CWHnw3oX.mjs +2 -0
  123. package/dist/impl-CWHnw3oX.mjs.map +1 -0
  124. package/dist/impl-CXK-D84c.mjs +4 -0
  125. package/dist/impl-CXK-D84c.mjs.map +1 -0
  126. package/dist/impl-CdoTu8TH.mjs +2 -0
  127. package/dist/impl-CdoTu8TH.mjs.map +1 -0
  128. package/dist/impl-CeLfAnyA2.mjs +2 -0
  129. package/dist/impl-CeLfAnyA2.mjs.map +1 -0
  130. package/dist/impl-Cgg_bv7j.mjs +2 -0
  131. package/dist/impl-Cgg_bv7j.mjs.map +1 -0
  132. package/dist/impl-CoLIqiH-2.mjs +2 -0
  133. package/dist/impl-CoLIqiH-2.mjs.map +1 -0
  134. package/dist/impl-Cq_RqK0_2.mjs +2 -0
  135. package/dist/impl-Cq_RqK0_2.mjs.map +1 -0
  136. package/dist/{impl-CZP2l3Ds.mjs → impl-Cwj9LeEI.mjs} +3 -3
  137. package/dist/impl-Cwj9LeEI.mjs.map +1 -0
  138. package/dist/impl-CyJBbyuF.mjs +2 -0
  139. package/dist/impl-CyJBbyuF.mjs.map +1 -0
  140. package/dist/impl-D-cp0CYr.mjs +2 -0
  141. package/dist/impl-D-cp0CYr.mjs.map +1 -0
  142. package/dist/impl-D-ldjJzl2.mjs +2 -0
  143. package/dist/impl-D-ldjJzl2.mjs.map +1 -0
  144. package/dist/impl-D6nwGrO8.mjs +2 -0
  145. package/dist/impl-D6nwGrO8.mjs.map +1 -0
  146. package/dist/impl-DGRuk3AB.mjs +2 -0
  147. package/dist/impl-DGRuk3AB.mjs.map +1 -0
  148. package/dist/impl-DXWN22xV.mjs +2 -0
  149. package/dist/impl-DXWN22xV.mjs.map +1 -0
  150. package/dist/impl-DZnSlfwn2.mjs +2 -0
  151. package/dist/impl-DZnSlfwn2.mjs.map +1 -0
  152. package/dist/impl-DcC8_dCy.mjs +2 -0
  153. package/dist/impl-DcC8_dCy.mjs.map +1 -0
  154. package/dist/impl-Dfc_yQML2.mjs +2 -0
  155. package/dist/impl-Dfc_yQML2.mjs.map +1 -0
  156. package/dist/impl-DgyjJ8RY2.mjs +2 -0
  157. package/dist/impl-DgyjJ8RY2.mjs.map +1 -0
  158. package/dist/impl-DhIyASha.mjs +2 -0
  159. package/dist/impl-DhIyASha.mjs.map +1 -0
  160. package/dist/impl-Dny1LX9A.mjs +2 -0
  161. package/dist/impl-Dny1LX9A.mjs.map +1 -0
  162. package/dist/impl-G1brwI4o.mjs +2 -0
  163. package/dist/impl-G1brwI4o.mjs.map +1 -0
  164. package/dist/impl-KV3yZaHz2.mjs +2 -0
  165. package/dist/impl-KV3yZaHz2.mjs.map +1 -0
  166. package/dist/impl-Rt3C_fDF.mjs +2 -0
  167. package/dist/impl-Rt3C_fDF.mjs.map +1 -0
  168. package/dist/impl-VHp2K2bg.mjs +2 -0
  169. package/dist/impl-VHp2K2bg.mjs.map +1 -0
  170. package/dist/impl-Zr8uLP_n.mjs +2 -0
  171. package/dist/impl-Zr8uLP_n.mjs.map +1 -0
  172. package/dist/impl-dEQtD5uE.mjs +2 -0
  173. package/dist/impl-dEQtD5uE.mjs.map +1 -0
  174. package/dist/impl-dlRlTYAQ.mjs +2 -0
  175. package/dist/impl-dlRlTYAQ.mjs.map +1 -0
  176. package/dist/impl-f4UPMoS_2.mjs +2 -0
  177. package/dist/impl-f4UPMoS_2.mjs.map +1 -0
  178. package/dist/impl-ph0q6K3i.mjs +2 -0
  179. package/dist/impl-ph0q6K3i.mjs.map +1 -0
  180. package/dist/impl-r8tHyAHB.mjs +2 -0
  181. package/dist/impl-r8tHyAHB.mjs.map +1 -0
  182. package/dist/impl-y1I9Muyc2.mjs +2 -0
  183. package/dist/impl-y1I9Muyc2.mjs.map +1 -0
  184. package/dist/index.d.mts +44 -32
  185. package/dist/index.d.mts.map +1 -0
  186. package/dist/index.mjs +78 -4
  187. package/dist/index.mjs.map +1 -1
  188. package/dist/inquirer-BgNcicZ4.mjs +2 -0
  189. package/dist/inquirer-BgNcicZ4.mjs.map +1 -0
  190. package/dist/listFiles-qzyQMaYH.mjs +2 -0
  191. package/dist/listFiles-qzyQMaYH.mjs.map +1 -0
  192. package/dist/{logger-Bj782ZYD.mjs → logger-B-LXIf3U.mjs} +1 -1
  193. package/dist/{logger-Bj782ZYD.mjs.map → logger-B-LXIf3U.mjs.map} +1 -1
  194. package/dist/makeGraphQLRequest-G078PsEL.mjs +2 -0
  195. package/dist/makeGraphQLRequest-G078PsEL.mjs.map +1 -0
  196. package/dist/markRequestDataSiloIdsCompleted-DmAz-R0M.mjs +2 -0
  197. package/dist/markRequestDataSiloIdsCompleted-DmAz-R0M.mjs.map +1 -0
  198. package/dist/markSilentPrivacyRequests-s7_aBROE.mjs +2 -0
  199. package/dist/markSilentPrivacyRequests-s7_aBROE.mjs.map +1 -0
  200. package/dist/mergeTranscendInputs-C64BJsse.mjs +2 -0
  201. package/dist/mergeTranscendInputs-C64BJsse.mjs.map +1 -0
  202. package/dist/notifyPrivacyRequestsAdditionalTime-BvXIXZYu.mjs +2 -0
  203. package/dist/notifyPrivacyRequestsAdditionalTime-BvXIXZYu.mjs.map +1 -0
  204. package/dist/package-BjNQxHlz.mjs +2 -0
  205. package/dist/package-BjNQxHlz.mjs.map +1 -0
  206. package/dist/parquetToCsvOneFile-DZVKXrjn.mjs +6 -0
  207. package/dist/parquetToCsvOneFile-DZVKXrjn.mjs.map +1 -0
  208. package/dist/parseAttributesFromString-CZStzJc0.mjs +2 -0
  209. package/dist/parseAttributesFromString-CZStzJc0.mjs.map +1 -0
  210. package/dist/pullAllDatapoints-DiMWp8a7.mjs +45 -0
  211. package/dist/pullAllDatapoints-DiMWp8a7.mjs.map +1 -0
  212. package/dist/pullChunkedCustomSiloOutstandingIdentifiers-DgWgggQt.mjs +2 -0
  213. package/dist/pullChunkedCustomSiloOutstandingIdentifiers-DgWgggQt.mjs.map +1 -0
  214. package/dist/pullConsentManagerMetrics-pFRPXTHJ.mjs +2 -0
  215. package/dist/pullConsentManagerMetrics-pFRPXTHJ.mjs.map +1 -0
  216. package/dist/pullManualEnrichmentIdentifiersToCsv-DA_4rIzW.mjs +2 -0
  217. package/dist/pullManualEnrichmentIdentifiersToCsv-DA_4rIzW.mjs.map +1 -0
  218. package/dist/pullTranscendConfiguration-D2cYlu6V.mjs +80 -0
  219. package/dist/pullTranscendConfiguration-D2cYlu6V.mjs.map +1 -0
  220. package/dist/pullUnstructuredSubDataPointRecommendations-C4aVhH-W.mjs +38 -0
  221. package/dist/pullUnstructuredSubDataPointRecommendations-C4aVhH-W.mjs.map +1 -0
  222. package/dist/pushCronIdentifiersFromCsv-C34TB9tG.mjs +2 -0
  223. package/dist/pushCronIdentifiersFromCsv-C34TB9tG.mjs.map +1 -0
  224. package/dist/pushManualEnrichmentIdentifiersFromCsv-CGS9E3Ft.mjs +2 -0
  225. package/dist/pushManualEnrichmentIdentifiersFromCsv-CGS9E3Ft.mjs.map +1 -0
  226. package/dist/readCsv-CyOL7eCc.mjs +2 -0
  227. package/dist/readCsv-CyOL7eCc.mjs.map +1 -0
  228. package/dist/{readTranscendYaml-DhKG1ViI.mjs → readTranscendYaml-D-J1ilS0.mjs} +2 -2
  229. package/dist/readTranscendYaml-D-J1ilS0.mjs.map +1 -0
  230. package/dist/removeUnverifiedRequestIdentifiers-pGGOFbfE.mjs +35 -0
  231. package/dist/removeUnverifiedRequestIdentifiers-pGGOFbfE.mjs.map +1 -0
  232. package/dist/request-CAsR6CMY.mjs +117 -0
  233. package/dist/request-CAsR6CMY.mjs.map +1 -0
  234. package/dist/retryRequestDataSilos-DXwN5uPw.mjs +2 -0
  235. package/dist/retryRequestDataSilos-DXwN5uPw.mjs.map +1 -0
  236. package/dist/skipPreflightJobs-BNQhuPZ8.mjs +2 -0
  237. package/dist/skipPreflightJobs-BNQhuPZ8.mjs.map +1 -0
  238. package/dist/skipRequestDataSilos-C39ji4lO.mjs +2 -0
  239. package/dist/skipRequestDataSilos-C39ji4lO.mjs.map +1 -0
  240. package/dist/splitCsvToList-BRq_CIfd.mjs +2 -0
  241. package/dist/splitCsvToList-BRq_CIfd.mjs.map +1 -0
  242. package/dist/streamPrivacyRequestsToCsv-C8lquiyd.mjs +2 -0
  243. package/dist/streamPrivacyRequestsToCsv-C8lquiyd.mjs.map +1 -0
  244. package/dist/syncCodePackages-BHgjfXCI.mjs +232 -0
  245. package/dist/syncCodePackages-BHgjfXCI.mjs.map +1 -0
  246. package/dist/syncCookies-CiLtxDFf.mjs +2 -0
  247. package/dist/syncCookies-CiLtxDFf.mjs.map +1 -0
  248. package/dist/syncDataFlows-DmBUs3G_.mjs +2 -0
  249. package/dist/syncDataFlows-DmBUs3G_.mjs.map +1 -0
  250. package/dist/syncTemplates-BNu1_dmW.mjs +23 -0
  251. package/dist/syncTemplates-BNu1_dmW.mjs.map +1 -0
  252. package/dist/time-Bl_c3W8U.mjs +2 -0
  253. package/dist/time-Bl_c3W8U.mjs.map +1 -0
  254. package/dist/types-B4CVJCpj.mjs +2 -0
  255. package/dist/types-B4CVJCpj.mjs.map +1 -0
  256. package/dist/updateConsentManagerVersionToLatest-BBMN94Hs.mjs +2 -0
  257. package/dist/updateConsentManagerVersionToLatest-BBMN94Hs.mjs.map +1 -0
  258. package/dist/uploadConsents-BbR7_sSt.mjs +2 -0
  259. package/dist/uploadConsents-BbR7_sSt.mjs.map +1 -0
  260. package/dist/uploadCookiesFromCsv-BKZx_E_2.mjs +2 -0
  261. package/dist/uploadCookiesFromCsv-BKZx_E_2.mjs.map +1 -0
  262. package/dist/uploadDataFlowsFromCsv-CJFVLvCJ.mjs +2 -0
  263. package/dist/uploadDataFlowsFromCsv-CJFVLvCJ.mjs.map +1 -0
  264. package/dist/uploadPrivacyRequestsFromCsv-BmP1JluQ.mjs +17 -0
  265. package/dist/uploadPrivacyRequestsFromCsv-BmP1JluQ.mjs.map +1 -0
  266. package/dist/uploadSiloDiscoveryResults-XpDp2u35.mjs +20 -0
  267. package/dist/uploadSiloDiscoveryResults-XpDp2u35.mjs.map +1 -0
  268. package/dist/validateTranscendAuth-1W1IylqE.mjs +2 -0
  269. package/dist/validateTranscendAuth-1W1IylqE.mjs.map +1 -0
  270. package/dist/withPreferenceRetry-Cb5S310L.mjs +2 -0
  271. package/dist/withPreferenceRetry-Cb5S310L.mjs.map +1 -0
  272. package/dist/writeCsv-B51ulrVl.mjs +6 -0
  273. package/dist/writeCsv-B51ulrVl.mjs.map +1 -0
  274. package/package.json +34 -53
  275. package/dist/api-keys-CxvKdj2v.mjs +0 -2
  276. package/dist/api-keys-CxvKdj2v.mjs.map +0 -1
  277. package/dist/app-BKMxG7RO.mjs +0 -131
  278. package/dist/app-BKMxG7RO.mjs.map +0 -1
  279. package/dist/buildAIIntegrationType-Bk0EbFKV.mjs +0 -2
  280. package/dist/buildAIIntegrationType-Bk0EbFKV.mjs.map +0 -1
  281. package/dist/code-scanning-Cx1kpssH.mjs +0 -4
  282. package/dist/code-scanning-Cx1kpssH.mjs.map +0 -1
  283. package/dist/codecs-TR6p48v3.mjs +0 -2
  284. package/dist/codecs-TR6p48v3.mjs.map +0 -1
  285. package/dist/command-Bzyj3M2G.mjs.map +0 -1
  286. package/dist/consent-manager-c4bgQF1N.mjs +0 -12
  287. package/dist/consent-manager-c4bgQF1N.mjs.map +0 -1
  288. package/dist/constants-CnLQtIBn.mjs +0 -2
  289. package/dist/constants-CnLQtIBn.mjs.map +0 -1
  290. package/dist/context-bkKpii_t.mjs.map +0 -1
  291. package/dist/cron-BvxWyvDu.mjs +0 -2
  292. package/dist/cron-BvxWyvDu.mjs.map +0 -1
  293. package/dist/data-inventory-CkS_kmus.mjs +0 -75
  294. package/dist/data-inventory-CkS_kmus.mjs.map +0 -1
  295. package/dist/dataFlowsToDataSilos-RAhfPV0l.mjs.map +0 -1
  296. package/dist/impl-8dOatHnF.mjs +0 -2
  297. package/dist/impl-8dOatHnF.mjs.map +0 -1
  298. package/dist/impl-Ah-1lwzr.mjs +0 -2
  299. package/dist/impl-Ah-1lwzr.mjs.map +0 -1
  300. package/dist/impl-B5lTeRbn.mjs +0 -2
  301. package/dist/impl-B5lTeRbn.mjs.map +0 -1
  302. package/dist/impl-B6UhzQcY2.mjs +0 -2
  303. package/dist/impl-B6UhzQcY2.mjs.map +0 -1
  304. package/dist/impl-BFf_CotE2.mjs +0 -2
  305. package/dist/impl-BFf_CotE2.mjs.map +0 -1
  306. package/dist/impl-BGQ0EGS0.mjs +0 -2
  307. package/dist/impl-BGQ0EGS0.mjs.map +0 -1
  308. package/dist/impl-BYBNi68b.mjs.map +0 -1
  309. package/dist/impl-B__p3_wC.mjs +0 -2
  310. package/dist/impl-B__p3_wC.mjs.map +0 -1
  311. package/dist/impl-BcayRe6a.mjs +0 -2
  312. package/dist/impl-BcayRe6a.mjs.map +0 -1
  313. package/dist/impl-BkYKsEVG2.mjs +0 -2
  314. package/dist/impl-BkYKsEVG2.mjs.map +0 -1
  315. package/dist/impl-Bl2yVgh0.mjs +0 -4
  316. package/dist/impl-Bl2yVgh0.mjs.map +0 -1
  317. package/dist/impl-BmAMgEEM.mjs +0 -12
  318. package/dist/impl-BmAMgEEM.mjs.map +0 -1
  319. package/dist/impl-BsttzxTN2.mjs +0 -2
  320. package/dist/impl-BsttzxTN2.mjs.map +0 -1
  321. package/dist/impl-BtnySmbi.mjs +0 -2
  322. package/dist/impl-BtnySmbi.mjs.map +0 -1
  323. package/dist/impl-BwX-evfW2.mjs +0 -4
  324. package/dist/impl-BwX-evfW2.mjs.map +0 -1
  325. package/dist/impl-C-wzeAib2.mjs +0 -2
  326. package/dist/impl-C-wzeAib2.mjs.map +0 -1
  327. package/dist/impl-C61PYfk12.mjs +0 -2
  328. package/dist/impl-C61PYfk12.mjs.map +0 -1
  329. package/dist/impl-CAuNpuF2.mjs +0 -2
  330. package/dist/impl-CAuNpuF2.mjs.map +0 -1
  331. package/dist/impl-CSKrBIuV.mjs +0 -2
  332. package/dist/impl-CSKrBIuV.mjs.map +0 -1
  333. package/dist/impl-CZP2l3Ds.mjs.map +0 -1
  334. package/dist/impl-CiJ8hE5W2.mjs +0 -2
  335. package/dist/impl-CiJ8hE5W2.mjs.map +0 -1
  336. package/dist/impl-Cj3H-m2Z.mjs +0 -2
  337. package/dist/impl-Cj3H-m2Z.mjs.map +0 -1
  338. package/dist/impl-CkY0wfCz.mjs +0 -2
  339. package/dist/impl-CkY0wfCz.mjs.map +0 -1
  340. package/dist/impl-Cm8pUfBU2.mjs +0 -2
  341. package/dist/impl-Cm8pUfBU2.mjs.map +0 -1
  342. package/dist/impl-CpzS9LVu2.mjs +0 -2
  343. package/dist/impl-CpzS9LVu2.mjs.map +0 -1
  344. package/dist/impl-CwfamZ1c.mjs +0 -2
  345. package/dist/impl-CwfamZ1c.mjs.map +0 -1
  346. package/dist/impl-D81et1Yb2.mjs +0 -2
  347. package/dist/impl-D81et1Yb2.mjs.map +0 -1
  348. package/dist/impl-D92PTNk3.mjs +0 -2
  349. package/dist/impl-D92PTNk3.mjs.map +0 -1
  350. package/dist/impl-DTXDVeo6.mjs +0 -2
  351. package/dist/impl-DTXDVeo6.mjs.map +0 -1
  352. package/dist/impl-DWoysXup.mjs +0 -2
  353. package/dist/impl-DWoysXup.mjs.map +0 -1
  354. package/dist/impl-DX3JHZ4v2.mjs +0 -2
  355. package/dist/impl-DX3JHZ4v2.mjs.map +0 -1
  356. package/dist/impl-DhuUrzxQ.mjs +0 -2
  357. package/dist/impl-DhuUrzxQ.mjs.map +0 -1
  358. package/dist/impl-DqMYLKjU.mjs +0 -2
  359. package/dist/impl-DqMYLKjU.mjs.map +0 -1
  360. package/dist/impl-DqQ6CIj0.mjs +0 -2
  361. package/dist/impl-DqQ6CIj0.mjs.map +0 -1
  362. package/dist/impl-Duaq6iWI2.mjs +0 -2
  363. package/dist/impl-Duaq6iWI2.mjs.map +0 -1
  364. package/dist/impl-O5gz8qcm.mjs +0 -2
  365. package/dist/impl-O5gz8qcm.mjs.map +0 -1
  366. package/dist/impl-PH0AoC7i.mjs +0 -2
  367. package/dist/impl-PH0AoC7i.mjs.map +0 -1
  368. package/dist/impl-S8p6toVb2.mjs +0 -2
  369. package/dist/impl-S8p6toVb2.mjs.map +0 -1
  370. package/dist/impl-X2MSb8Ij.mjs +0 -2
  371. package/dist/impl-X2MSb8Ij.mjs.map +0 -1
  372. package/dist/impl-bo95wZIU2.mjs +0 -2
  373. package/dist/impl-bo95wZIU2.mjs.map +0 -1
  374. package/dist/impl-cfdCesro.mjs +0 -2
  375. package/dist/impl-cfdCesro.mjs.map +0 -1
  376. package/dist/impl-iZoXu4nV.mjs +0 -2
  377. package/dist/impl-iZoXu4nV.mjs.map +0 -1
  378. package/dist/impl-lebl6Zek2.mjs +0 -2
  379. package/dist/impl-lebl6Zek2.mjs.map +0 -1
  380. package/dist/impl-p0YN9e2e.mjs +0 -2
  381. package/dist/impl-p0YN9e2e.mjs.map +0 -1
  382. package/dist/manual-enrichment-B6lW5kAX.mjs +0 -2
  383. package/dist/manual-enrichment-B6lW5kAX.mjs.map +0 -1
  384. package/dist/mergeTranscendInputs-Coj_e2N3.mjs +0 -2
  385. package/dist/mergeTranscendInputs-Coj_e2N3.mjs.map +0 -1
  386. package/dist/pooling-CazydwlD.mjs.map +0 -1
  387. package/dist/preference-management-8gj7aSJB.mjs +0 -7
  388. package/dist/preference-management-8gj7aSJB.mjs.map +0 -1
  389. package/dist/readTranscendYaml-DhKG1ViI.mjs.map +0 -1
  390. package/dist/syncConfigurationToTranscend-VJd0PnaZ.mjs +0 -3010
  391. package/dist/syncConfigurationToTranscend-VJd0PnaZ.mjs.map +0 -1
  392. package/dist/uploadConsents-C1S-BNzw.mjs +0 -2
  393. package/dist/uploadConsents-C1S-BNzw.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":["JSONSchema4TypeName","JSONSchema4Type","JSONSchema4Object","JSONSchema4Array","key","Array","JSONSchema4Version","JSONSchema4","id","$ref","$schema","title","description","default","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","items","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","definitions","k","properties","patternProperties","dependencies","enum","type","allOf","anyOf","oneOf","not","extends","format","JSONSchema6TypeName","JSONSchema6Type","JSONSchema6Object","JSONSchema6Array","JSONSchema6Version","JSONSchema6Definition","JSONSchema6","$id","contains","propertyNames","const","examples","JSONSchema7TypeName","JSONSchema7Type","JSONSchema7Object","JSONSchema7Array","JSONSchema7Version","JSONSchema7Definition","JSONSchema7","$comment","$defs","if","then","else","contentMediaType","contentEncoding","readOnly","writeOnly","ValidationResult","ValidationError","valid","errors","property","message","validate","instance","schema","checkPropertyChange","value","mustBeValid","result","name","version","description","homepage","license","author","repository","type","url","directory","bin","__transcend_bash_complete","transcend","files","type_1","sideEffects","main","types","exports","default","publishConfig","access","scripts","start","build","typecheck","test","docgen","genfiles","dependencies","JSONStream","bluebird","colors","fuzzysearch","got","graphql","inquirer","jsonwebtoken","ms","semver","undici","devDependencies","doctoc","fdir","shellcheck","tsdown","tsx","typescript","vitest","engines","node","__json_default_export"],"sources":["../src/codecs.ts","../src/enums.ts","../src/lib/readTranscendYaml.ts","../src/lib/graphql/syncConfigurationToTranscend.ts","../src/lib/mergeTranscendInputs.ts","../src/lib/requests/fuzzyMatchColumns.ts","../src/lib/requests/constants.ts","../src/lib/requests/mapEnumValues.ts","../src/lib/requests/splitCsvToList.ts","../src/lib/requests/parseAttributesFromString.ts","../src/lib/requests/readCsv.ts","../src/lib/requests/getUniqueValuesForColumn.ts","../src/lib/requests/filterRows.ts","../src/lib/requests/markSilentPrivacyRequests.ts","../src/lib/requests/mapCsvColumnsToApi.ts","../src/lib/requests/mapRequestEnumValues.ts","../src/lib/graphql/addMessagesToPromptRun.ts","../src/lib/graphql/buildTranscendGraphQLClient.ts","../src/lib/graphql/createSombraGotInstance.ts","../src/lib/graphql/createTranscendConsentGotInstance.ts","../src/lib/graphql/deployConsentManager.ts","../src/lib/graphql/fetchActiveSiloDiscoPlugin.ts","../src/lib/graphql/fetchAllActionItems.ts","../src/lib/graphql/fetchAllActions.ts","../src/lib/graphql/fetchAllAgentFiles.ts","../../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../src/lib/graphql/fetchAllAgentFunctions.ts","../src/lib/graphql/fetchAllAgents.ts","../src/lib/graphql/fetchAllAssessments.ts","../src/lib/graphql/fetchAllAssessmentTemplates.ts","../src/lib/graphql/createPreferenceAccessTokens.ts","../src/lib/graphql/fetchAllAttributeKeys.ts","../src/lib/graphql/fetchAllAttributes.ts","../src/lib/graphql/fetchAllBusinessEntities.ts","../src/lib/graphql/fetchAllCookies.ts","../src/lib/graphql/fetchAllDataCategories.ts","../src/lib/graphql/fetchAllDataFlows.ts","../src/lib/graphql/fetchAllMessages.ts","../src/lib/graphql/fetchAllPolicies.ts","../src/lib/graphql/fetchApiKeys.ts","../src/lib/graphql/fetchDataSubjects.ts","../src/lib/graphql/syncDataSilos.ts","../src/lib/graphql/formatAttributeValues.ts","../src/lib/graphql/fetchAllPreferenceTopics.ts","../src/lib/graphql/fetchAllPrivacyCenters.ts","../src/lib/graphql/formatRegions.ts","../src/lib/graphql/fetchAllProcessingActivities.ts","../src/lib/graphql/fetchAllProcessingPurposes.ts","../src/lib/graphql/fetchAllPurposes.ts","../src/lib/graphql/fetchAllPurposesAndPreferences.ts","../src/lib/graphql/fetchAllRequestEnrichers.ts","../src/lib/graphql/fetchAllRequestIdentifierMetadata.ts","../src/lib/graphql/fetchAllRequestIdentifiers.ts","../src/lib/graphql/fetchAllRequests.ts","../src/lib/graphql/fetchAllTeams.ts","../src/lib/graphql/fetchAllUsers.ts","../src/lib/graphql/fetchAllVendors.ts","../src/lib/graphql/fetchCatalogs.ts","../src/lib/graphql/fetchConsentManagerId.ts","../src/lib/graphql/fetchIdentifiers.ts","../src/lib/graphql/fetchPrivacyCenterId.ts","../src/lib/graphql/fetchPromptGroups.ts","../src/lib/graphql/fetchPromptPartials.ts","../src/lib/graphql/fetchPrompts.ts","../src/lib/graphql/fetchPromptThreads.ts","../src/lib/graphql/fetchRequestDataSilo.ts","../src/lib/graphql/fetchRequestDataSiloActiveCount.ts","../src/lib/graphql/fetchRequestFilesForRequest.ts","../src/lib/graphql/gqls/dataPoint.ts","../src/lib/graphql/gqls/entry.ts","../src/lib/graphql/gqls/dataSilo.ts","../src/lib/graphql/gqls/enricher.ts","../src/lib/graphql/gqls/catalog.ts","../src/lib/graphql/gqls/identifier.ts","../src/lib/graphql/gqls/dataSubject.ts","../src/lib/graphql/gqls/repository.ts","../src/lib/graphql/gqls/apiKey.ts","../src/lib/graphql/gqls/preferenceAccessTokens.ts","../src/lib/graphql/gqls/siloDiscovery.ts","../src/lib/graphql/gqls/template.ts","../src/lib/graphql/gqls/organization.ts","../src/lib/graphql/gqls/attributeKey.ts","../src/lib/graphql/gqls/softwareDevelopmentKit.ts","../src/lib/graphql/gqls/codePackage.ts","../src/lib/graphql/gqls/promptThread.ts","../src/lib/graphql/gqls/policy.ts","../src/lib/graphql/gqls/request.ts","../src/lib/graphql/gqls/message.ts","../src/lib/graphql/gqls/RequestEnricher.ts","../src/lib/graphql/gqls/assessment.ts","../src/lib/graphql/gqls/purpose.ts","../src/lib/graphql/gqls/preferenceTopic.ts","../src/lib/graphql/gqls/assessmentTemplate.ts","../src/lib/graphql/gqls/prompt.ts","../src/lib/graphql/gqls/RequestDataSilo.ts","../src/lib/graphql/gqls/team.ts","../src/lib/graphql/gqls/RequestIdentifier.ts","../src/lib/graphql/gqls/user.ts","../src/lib/graphql/gqls/requestFile.ts","../src/lib/graphql/gqls/promptRun.ts","../src/lib/graphql/gqls/actionItemCollection.ts","../src/lib/graphql/gqls/attribute.ts","../src/lib/graphql/gqls/consentManager.ts","../src/lib/graphql/gqls/consentManagerMetrics.ts","../src/lib/graphql/gqls/businessEntity.ts","../src/lib/graphql/gqls/action.ts","../src/lib/graphql/gqls/actionItem.ts","../src/lib/graphql/gqls/privacyCenter.ts","../src/lib/graphql/gqls/auth.ts","../src/lib/graphql/gqls/largeLanguageModel.ts","../src/lib/graphql/gqls/agent.ts","../src/lib/graphql/gqls/agentFile.ts","../src/lib/graphql/gqls/agentFunction.ts","../src/lib/graphql/gqls/vendor.ts","../src/lib/graphql/gqls/dataCategory.ts","../src/lib/graphql/gqls/processingPurpose.ts","../src/lib/graphql/gqls/processingActivity.ts","../src/lib/graphql/gqls/sombraVersion.ts","../src/lib/graphql/gqls/siloDiscoveryResult.ts","../src/lib/graphql/loginUser.ts","../src/lib/graphql/makeGraphQLRequest.ts","../src/lib/graphql/manageApiKeys.ts","../src/lib/graphql/parseAssessmentDisplayLogic.ts","../src/lib/graphql/parseAssessmentRiskLogic.ts","../src/lib/graphql/pullTranscendConfiguration.ts","../src/lib/graphql/reportPromptRun.ts","../src/lib/graphql/retryRequestEnricher.ts","../src/lib/graphql/setResourceAttributes.ts","../src/lib/graphql/syncAction.ts","../src/lib/graphql/fetchAllActionItemCollections.ts","../src/lib/graphql/syncActionItemCollections.ts","../src/lib/graphql/syncActionItems.ts","../src/lib/graphql/syncAgentFiles.ts","../src/lib/graphql/syncAgentFunctions.ts","../src/lib/graphql/syncAgents.ts","../src/lib/graphql/syncAttribute.ts","../src/lib/graphql/syncBusinessEntities.ts","../src/lib/graphql/fetchAllCodePackages.ts","../src/lib/graphql/syncCodePackages.ts","../src/lib/graphql/syncConsentManager.ts","../src/lib/graphql/syncCookies.ts","../src/lib/graphql/syncDataCategories.ts","../src/lib/graphql/syncDataFlows.ts","../src/lib/graphql/syncDataSubject.ts","../src/lib/graphql/syncEnrichers.ts","../src/lib/graphql/syncIdentifier.ts","../src/lib/graphql/syncIntlMessages.ts","../src/lib/graphql/syncPartitions.ts","../src/lib/graphql/syncPolicies.ts","../src/lib/graphql/syncPrivacyCenter.ts","../src/lib/graphql/syncProcessingActivities.ts","../src/lib/graphql/syncProcessingPurposes.ts","../src/lib/graphql/syncPrompts.ts","../src/lib/graphql/fetchAllRepositories.ts","../src/lib/graphql/syncRepositories.ts","../src/lib/graphql/fetchAllSoftwareDevelopmentKits.ts","../src/lib/graphql/syncSoftwareDevelopmentKits.ts","../src/lib/graphql/syncTemplates.ts","../src/lib/graphql/syncVendors.ts","../src/lib/code-scanning/findFilesToScan.ts","../src/lib/graphql/uploadSiloDiscoveryResults.ts","../src/lib/graphql/fetchAllSiloDiscoveryResults.ts","../src/lib/requests/mapColumnsToAttributes.ts","../src/lib/requests/mapColumnsToIdentifiers.ts","../src/lib/requests/mapCsvRowsToRequestInputs.ts","../src/lib/requests/downloadPrivacyRequestFiles.ts","../src/lib/requests/submitPrivacyRequest.ts","../src/lib/requests/approvePrivacyRequests.ts","../src/lib/requests/notifyPrivacyRequestsAdditionalTime.ts","../src/lib/requests/cancelPrivacyRequests.ts","../src/lib/requests/getFileMetadataForPrivacyRequests.ts","../src/lib/requests/streamPrivacyRequestFiles.ts","../src/lib/requests/extractClientError.ts","../src/lib/requests/uploadPrivacyRequestsFromCsv.ts","../src/lib/requests/bulkRestartRequests.ts","../src/lib/requests/restartPrivacyRequest.ts","../src/lib/requests/skipPreflightJobs.ts","../src/lib/requests/bulkRetryEnrichers.ts","../src/lib/requests/retryRequestDataSilos.ts","../src/lib/requests/formatRequestForCsv.ts","../src/lib/requests/pullPrivacyRequests.ts","../src/lib/requests/streamPrivacyRequestsToCsv.ts","../src/lib/requests/skipRequestDataSilos.ts","../src/lib/requests/removeUnverifiedRequestIdentifiers.ts","../package.json.d.ts","../src/constants.ts","../src/lib/consent-manager/updateConsentManagerVersionToLatest.ts","../src/lib/consent-manager/uploadDataFlowsFromCsv.ts","../src/lib/consent-manager/uploadCookiesFromCsv.ts","../src/lib/consent-manager/pullConsentManagerMetrics.ts","../src/lib/consent-manager/buildXdiSyncEndpoint.ts","../src/lib/consent-manager/consentManagersToBusinessEntities.ts","../src/lib/consent-manager/domainToHost.ts","../src/lib/consent-manager/createConsentToken.ts","../src/lib/consent-manager/types.ts","../src/lib/consent-manager/uploadConsents.ts","../src/lib/helpers/buildAIIntegrationType.ts","../src/lib/helpers/buildEnabledRouteType.ts","../src/lib/helpers/inquirer.ts","../src/lib/helpers/parseVariablesFromString.ts","../src/lib/helpers/getErrorStatus.ts","../src/lib/helpers/extractErrorMessage.ts","../src/lib/helpers/sleepPromise.ts","../src/lib/helpers/splitInHalf.ts","../src/lib/helpers/retrySamePromise.ts","../src/lib/helpers/limitRecords.ts","../src/lib/helpers/RateCounter.ts","../src/lib/helpers/readSafe.ts","../src/context.ts","../src/lib/helpers/collectParquetFilesOrExit.ts","../src/lib/helpers/parquetToCsvOneFile.ts","../src/lib/helpers/time.ts","../src/lib/helpers/writeCsv.ts","../src/lib/cron/pullCronPageOfIdentifiers.ts","../src/lib/cron/pushCronIdentifiersFromCsv.ts","../src/lib/cron/markCronIdentifierCompleted.ts","../src/lib/cron/markRequestDataSiloIdsCompleted.ts","../src/lib/cron/pullChunkedCustomSiloOutstandingIdentifiers.ts","../src/lib/api-keys/generateCrossAccountApiKeys.ts","../src/lib/api-keys/validateTranscendAuth.ts","../src/lib/api-keys/listFiles.ts","../src/lib/api-keys/listDirectories.ts","../src/lib/graphql/fetchLargeLanguageModels.ts","../src/lib/ai/TranscendPromptManager.ts","../src/lib/ai/removeLinks.ts","../src/lib/ai/filterNullishValuesFromObject.ts","../src/lib/ai/getGitFilesThatChanged.ts","../src/lib/data-inventory/pullAllDatapoints.ts","../src/lib/data-inventory/pullUnstructuredSubDataPointRecommendations.ts","../src/lib/manual-enrichment/pullManualEnrichmentIdentifiersToCsv.ts","../src/lib/manual-enrichment/pushManualEnrichmentIdentifiersFromCsv.ts","../src/lib/manual-enrichment/enrichPrivacyRequest.ts"],"x_google_ignoreList":[25],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;cA4Ea,aAAA,EAAa,CAAA,CAAA,KAAA;yCAGxB,CAAA,CAAA,OAAA;AAAA;;KAGU,aAAA,GAAgB,CAAA,CAAE,MAAA,QAAc,aAAA;AAAA,cAE/B,aAAA,EAAa,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;KAcd,aAAA,GAAgB,CAAA,CAAE,MAAA,QAAc,aAAA;;;;;AAhB5C;;;;cA0Ba,WAAA,EAAW,CAAA,CAAA,KAAA;EA1BM,+CA6B5B,CAAA,CAAA,OAAA;AAAA;;KAGU,WAAA,GAAc,CAAA,CAAE,MAAA,QAAc,WAAA;;;;;;;cAQ7B,SAAA,EAAS,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;EAtCI,oDAAA;;;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4Dd,SAAA,GAAY,CAAA,CAAE,MAAA,QAAc,SAAA;;;;;;;;;;;;;cAc3B,aAAA,EAAa,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwRvB,mBAAA,GAAsB,CAAA,CAAE,MAAA,QAAc,mBAAA;AAAA,cAErC,WAAA,EAAW,CAAA,CAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAQZ,WAAA,GAAc,CAAA,CAAE,MAAA,QAAc,WAAA;;;;;;cAO7B,uBAAA,EAAuB,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkExB,uBAAA,GAA0B,CAAA,CAAE,MAAA,QAAc,uBAAA;;;;;;cAOzC,2BAAA,EAA2B,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;KAwB5B,2BAAA,GAA8B,CAAA,CAAE,MAAA,QAAc,2BAAA;;;;cAK7C,cAAA,EAAc,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;KAcf,cAAA,GAAiB,CAAA,CAAE,MAAA,QAAc,cAAA;;;;;;cAOhC,gBAAA,EAAgB,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwBjB,gBAAA,GAAmB,CAAA,CAAE,MAAA,QAAc,gBAAA;;;;;;cAOlC,eAAA,EAAe,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;;;KAkBhB,eAAA,GAAkB,CAAA,CAAE,MAAA,QAAc,eAAA;;;;;;cAOjC,gBAAA,EAAgB,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkBjB,gBAAA,GAAmB,CAAA,CAAE,MAAA,QAAc,gBAAA;;;;;;cAOlC,WAAA,EAAW,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwBZ,WAAA,GAAc,CAAA,CAAE,MAAA,QAAc,WAAA;;;;;;cAO7B,eAAA,EAAe,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgChB,eAAA,GAAkB,CAAA,CAAE,MAAA,QAAc,eAAA;;;;;;cAOjC,aAAA,EAAa,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyCd,aAAA,GAAgB,CAAA,CAAE,MAAA,QAAc,aAAA;AAAA,cAE/B,WAAA,EAAW,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyCZ,WAAA,GAAc,CAAA,CAAE,MAAA,QAAc,WAAA;AAAA,cAE7B,4BAAA,EAA4B,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4C7B,4BAAA,GAA+B,CAAA,CAAE,MAAA,QAAc,4BAAA;AAAA,cAE9C,cAAA,EAAc,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;KAYf,cAAA,GAAiB,CAAA,CAAE,MAAA,QAAc,cAAA;AAAA,cAEhC,mBAAA,EAAmB,CAAA,CAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwCpB,mBAAA,GAAsB,CAAA,CAAE,MAAA,QAAc,mBAAA;;;;cAKrC,kBAAA,EAAkB,CAAA,CAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiDnB,kBAAA,GAAqB,CAAA,CAAE,MAAA,QAAc,kBAAA;;;;cAKpC,WAAA,EAAW,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkBZ,WAAA,GAAc,CAAA,CAAE,MAAA,QAAc,WAAA;;;;cAK7B,gBAAA,EAAgB,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkBjB,gBAAA,GAAmB,CAAA,CAAE,MAAA,QAAc,gBAAA;;;;;;;;;cAUlC,aAAA,EAAa,CAAA,CAAA,aAAA,EAAA,CAAA,CAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0BzB,wBAAA,GAA2B,CAAA,CAAE,MAAA,QAAc,wBAAA;AAAA,cAE1C,cAAA,EAAc,CAAA,CAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KoKJ7C,mBAAA,GAAsB,CAAA,CAAE,MAAA,QAAc,mBAAA;;;;;;;;;iBAUlC,wBAAA,CACd,eAAA,UACA,cAAA,EAAgB,cAAA,EAChB,uBAAA;;;;;;;;;;;iBAmCc,yBAAA,CACd,aAAA,EAAe,WAAA,IACf,KAAA,EAAO,cAAA,QAAsB,eAAA;EAE3B,aAAA;EACA,iBAAA;EACA,gBAAA;EACA,oBAAA;EACA;AAAA;6BAGA,uBAAA;EAEA,aAAA,EAAe,aAAA;EAEf,iBAAA,EAAmB,iBAAA;EAEnB,gBAAA,EAAkB,gBAAA;EAElB,oBAAA,EAAsB,YAAA;AAAA,KAEtB,MAAA,kBAAwB,mBAAA;;;;;;;;;iBCzHN,2BAAA,CAAA;EACpB,IAAA;EACA,UAAA;EACA,UAAA;EACA,eAAA;EACA,UAAA;EACA,cAAA;EACA,eAAA;EACA,cAAA;EACA,QAAA;EACA,WAAA;EACA,YAAA;EACA;AAAA;iDAGA,UAAA;EAEA,IAAA;EAEA,UAAA;EAEA,WAAA;EAEA,QAAA,GAAW,aAAA,IrK2BA;EqKzBX,UAAA;EAEA,eAAA,GAAkB,IAAA,ErKuBM;EqKrBxB,cAAA,GAAiB,IAAA;EAEjB,eAAA,GAAkB,IAAA;EAElB,cAAA,GAAiB,IAAA;EAEjB,YAAA,WrKqBuB;EqKnBvB,oBAAA;AAAA,IACE,OAAA;;;cClDS,sBAAA,EAAsB,CAAA,CAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}