mxcad 1.0.39 → 1.0.41
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.
- package/README.md +3 -55
- package/dist/fonts/hztxt.shx +0 -0
- package/dist/fonts/txt.shx +0 -0
- package/dist/mxcad.d.ts +144 -93
- package/dist/mxcad.es.js +1941 -51
- package/dist/mxcad.umd.js +38 -74
- package/dist/wasm/2d/mxdrawassembly_min.wasm +0 -0
- package/dist/wasm/2d/mxdrawassemblyinit.js +532 -0
- package/dist/wasm/3d/mxdraw3d_min.js +22 -0
- package/package.json +34 -14
- package/dist/mxcad.es.d.ts +0 -3
- package/dist/mxdraw3d_min.a2ae27fc.mjs +0 -8644
- package/dist/mxdrawassembly_min.wasm +0 -0
- package/dist/mxdrawassemblyinit.js +0 -457
- /package/dist/{mxdrawassembly_min.worker.js → wasm/2d/mxdrawassembly_min.worker.js} +0 -0
- /package/dist/{mxdraw3d_min.wasm → wasm/3d/mxdraw3d_min.wasm} +0 -0
package/dist/mxcad.umd.js
CHANGED
|
@@ -1,74 +1,38 @@
|
|
|
1
|
-
(function(
|
|
2
|
-
\u6307\u5B9A\u63D2\u5165\u4F4D\u7F6E:`);let
|
|
3
|
-
\u6307\u5B9A\u5706\u7684\u534A\u5F84:`),
|
|
4
|
-
\u6307\u5B9A\u5706\u7684\u76F4\u5F84:`),
|
|
5
|
-
\u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E00\u4E2A\u70B9:`),
|
|
6
|
-
\u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E8C\u4E2A\u70B9:`)),
|
|
7
|
-
\u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E09\u4E2A\u70B9:`)),
|
|
8
|
-
\u6307\u5B9A\u5706\u76F4\u5F84\u7684\u7B2C\u4E00\u4E2A\u7AEF\u70B9:`),
|
|
9
|
-
\u6307\u5B9A\u5706\u76F4\u5F84\u7684\u7B2C\u4E8C\u4E2A\u7AEF\u70B9:`)),
|
|
10
|
-
\u6307\u5B9A\u5BF9\u8C61\u4E0E\u5706\u7684\u7B2C\u4E00\u4E2A\u5207\u70B9:`),
|
|
11
|
-
\u6307\u5B9A\u5706\u7684\u5706\u5FC3\u6216[\u4E09\u70B9(3P)/\u4E24\u70B9(2P)/\u5207\u70B9\u3001\u5207\u70B9\u3001\u534A\u5F84(T)]:`),g.setKeyWords("3P 2P T"),g.goWhile(V=>{if(V===R.MrxDbgUiPrBaseReturn.kKeyWord&&(g.isKeyWordPicked("3P")?p="3P":g.isKeyWordPicked("2P")?p="2P":g.isKeyWordPicked("T")&&(p="T")),T(V))return{exit:!0};if(j(V))return{exit:!0};if(X(V))return{exit:!0};if(Ce(V))return{exit:!0}},V=>{V===R.MrxDbgUiPrBaseReturn.kCancel&&R.MxFun.getCurrentDraw().addMxEntity(o)})}R.store.events.on("MxDbEntityRegister",()=>{R.MxFun.addCommand("Mx_Circle",Jr)});var $r;(function(g){g[g.kNormal=0]="kNormal",g[g.kRect=1]="kRect",g[g.kCross=2]="kCross"})($r||($r={}));class VD{z="D2BBB6A18140C6DF814181428143CDF2D5C9C8FDC9CFCFC2D8A2B2BBD3EB8144D8A4B3F38145D7A8C7D2D8A7CAC08146C7F0B1FBD2B5B4D4B6ABCBBFD8A9814781488149B6AA814AC1BDD1CF814BC9A5D8AD814CB8F6D1BEE3DCD6D0814D814EB7E1814FB4AE8150C1D98151D8BC8152CDE8B5A4CEAAD6F78153C0F6BED9D8AF815481558156C4CB8157BEC38158D8B1C3B4D2E58159D6AECEDAD5A7BAF5B7A6C0D6815AC6B9C5D2C7C7815BB9D4815CB3CBD2D2815D815ED8BFBEC5C6F2D2B2CFB0CFE7815F816081618162CAE981638164D8C081658166816781688169816AC2F2C2D2816BC8E9816C816D816E816F817081718172817381748175C7AC8176817781788179817A817B817CC1CB817DD3E8D5F9817ECAC2B6FED8A1D3DABFF78180D4C6BBA5D8C1CEE5BEAE81818182D8A88183D1C7D0A9818481858186D8BDD9EFCDF6BFBA8187BDBBBAA5D2E0B2FABAE0C4B68188CFEDBEA9CDA4C1C18189818A818BC7D7D9F1818CD9F4818D818E818F8190C8CBD8E9819181928193D2DACAB2C8CAD8ECD8EAD8C6BDF6C6CDB3F08194D8EBBDF1BDE98195C8D4B4D381968197C2D88198B2D6D7D0CACBCBFBD5CCB8B6CFC98199819A819BD9DAD8F0C7AA819CD8EE819DB4FAC1EED2D4819E819FD8ED81A0D2C7D8EFC3C781A181A281A3D1F681A4D6D9D8F281A5D8F5BCFEBCDB81A681A781A8C8CE81A9B7DD81AAB7C281ABC6F381AC81AD81AE81AF81B081B181B2D8F8D2C181B381B4CEE9BCBFB7FCB7A5D0DD81B581B681B781B881B9D6DAD3C5BBEFBBE1D8F181BA81BBC9A1CEB0B4AB81BCD8F381BDC9CBD8F6C2D7D8F781BE81BFCEB1D8F981C081C181C2B2AEB9C081C3D9A381C4B0E981C5C1E681C6C9EC81C7CBC581C8CBC6D9A481C981CA81CB81CC81CDB5E881CE81CFB5AB81D081D181D281D381D481D5CEBBB5CDD7A1D7F4D3D381D6CCE581D7BACE81D8D9A2D9DCD3E0D8FDB7F0D7F7D8FED8FAD9A1C4E381D981DAD3B6D8F4D9DD81DBD8FB81DCC5E581DD81DEC0D081DF81E0D1F0B0DB81E181E2BCD1D9A681E3D9A581E481E581E681E7D9ACD9AE81E8D9ABCAB981E981EA81EBD9A9D6B681EC81ED81EEB3DED9A881EFC0FD81F0CACC81F1D9AA81F2D9A781F381F4D9B081F581F6B6B181F781F881F9B9A981FAD2C081FB81FCCFC081FD81FEC2C28240BDC4D5ECB2E0C7C8BFEBD9AD8241D9AF8242CEEABAEE82438244824582468247C7D682488249824A824B824C824D824E824F8250B1E3825182528253B4D9B6EDD9B48254825582568257BFA182588259825AD9DEC7CEC0FED9B8825B825C825D825E825FCBD7B7FD8260D9B58261D9B7B1A3D3E1D9B98262D0C58263D9B682648265D9B18266D9B2C1A9D9B382678268BCF3D0DEB8A98269BEE3826AD9BD826B826C826D826ED9BA826FB0B3827082718272D9C28273827482758276827782788279827A827B827C827D827E8280D9C4B1B68281D9BF82828283B5B98284BEF3828582868287CCC8BAF2D2D08288D9C38289828ABDE8828BB3AB828C828D828ED9C5BEEB828FD9C6D9BBC4DF8290D9BED9C1D9C0829182928293829482958296829782988299829A829BD5AE829CD6B5829DC7E3829E829F82A082A1D9C882A282A382A4BCD9D9CA82A582A682A7D9BC82A8D9CBC6AB82A982AA82AB82AC82ADD9C982AE82AF82B082B1D7F682B2CDA382B382B482B582B682B782B882B982BABDA182BB82BC82BD82BE82BF82C0D9CC82C182C282C382C482C582C682C782C882C9C5BCCDB582CA82CB82CCD9CD82CD82CED9C7B3A5BFFE82CF82D082D182D2B8B582D382D4C0FC82D582D682D782D8B0F882D982DA82DB82DC82DD82DE82DF82E082E182E282E382E482E582E682E782E882E982EA82EB82EC82EDB4F682EED9CE82EFD9CFB4A2D9D082F082F1B4DF82F282F382F482F582F6B0C182F782F882F982FA82FB82FC82FDD9D1C9B582FE8340834183428343834483458346834783488349834A834B834C834D834E834F83508351CFF1835283538354835583568357D9D283588359835AC1C5835B835C835D835E835F836083618362836383648365D9D6C9AE8366836783688369D9D5D9D4D9D7836A836B836C836DCBDB836EBDA9836F8370837183728373C6A7837483758376837783788379837A837B837C837DD9D3D9D8837E83808381D9D9838283838384838583868387C8E583888389838A838B838C838D838E838F839083918392839383948395C0DC8396839783988399839A839B839C839D839E839F83A083A183A283A383A483A583A683A783A883A983AA83AB83AC83AD83AE83AF83B083B183B2B6F9D8A3D4CA83B3D4AAD0D6B3E4D5D783B4CFC8B9E283B5BFCB83B6C3E283B783B883B9B6D283BA83BBCDC3D9EED9F083BC83BD83BEB5B383BFB6B583C083C183C283C383C4BEA483C583C6C8EB83C783C8C8AB83C983CAB0CBB9ABC1F9D9E283CBC0BCB9B283CCB9D8D0CBB1F8C6E4BEDFB5E4D7C883CDD1F8BCE6CADE83CE83CFBCBDD9E6D8E783D083D1C4DA83D283D3B8D4C8BD83D483D5B2E1D4D983D683D783D883D9C3B083DA83DBC3E1DAA2C8DF83DCD0B483DDBEFCC5A983DE83DF83E0B9DA83E1DAA383E2D4A9DAA483E383E483E583E683E7D9FBB6AC83E883E9B7EBB1F9D9FCB3E5BEF683EABFF6D2B1C0E483EB83EC83EDB6B3D9FED9FD83EE83EFBEBB83F083F183F2C6E083F3D7BCDAA183F4C1B983F5B5F2C1E883F683F7BCF583F8B4D583F983FA83FB83FC83FD83FE844084418442C1DD8443C4FD84448445BCB8B7B284468447B7EF84488449844A844B844C844DD9EC844EC6BE844FBFADBBCB84508451B5CA8452DBC9D0D78453CDB9B0BCB3F6BBF7DBCABAAF8454D4E4B5B6B5F3D8D6C8D084558456B7D6C7D0D8D78457BFAF84588459DBBBD8D8845A845BD0CCBBAE845C845D845EEBBEC1D0C1F5D4F2B8D5B4B4845FB3F584608461C9BE846284638464C5D0846584668467C5D9C0FB8468B1F08469D8D9B9CE846AB5BD846B846CD8DA846D846ED6C6CBA2C8AFC9B2B4CCBFCC846FB9F48470D8DBD8DCB6E7BCC1CCEA847184728473847484758476CFF78477D8DDC7B084788479B9D0BDA3847A847BCCDE847CC6CA847D847E848084818482D8E08483D8DE84848485D8DF848684878488B0FE8489BEE7848ACAA3BCF4848B848C848D848EB8B1848F8490B8EE849184928493849484958496849784988499849AD8E2849BBDCB849CD8E4D8E3849D849E849F84A084A1C5FC84A284A384A484A584A684A784A8D8E584A984AAD8E684AB84AC84AD84AE84AF84B084B1C1A684B2C8B0B0ECB9A6BCD3CEF1DBBDC1D384B384B484B584B6B6AFD6FAC5ACBDD9DBBEDBBF84B784B884B9C0F8BEA2C0CD84BA84BB84BC84BD84BE84BF84C084C184C284C3DBC0CAC684C484C584C6B2AA84C784C884C9D3C284CAC3E384CBD1AB84CC84CD84CE84CFDBC284D0C0D584D184D284D3DBC384D4BFB184D584D684D784D884D984DAC4BC84DB84DC84DD84DEC7DA84DF84E084E184E284E384E484E584E684E784E884E9DBC484EA84EB84EC84ED84EE84EF84F084F1D9E8C9D784F284F384F4B9B4CEF0D4C884F584F684F784F8B0FCB4D284F9D0D984FA84FB84FC84FDD9E984FEDECBD9EB8540854185428543D8B0BBAFB1B18544B3D7D8CE85458546D4D185478548BDB3BFEF8549CFBB854A854BD8D0854C854D854EB7CB854F85508551D8D185528553855485558556855785588559855A855BC6A5C7F8D2BD855C855DD8D2C4E4855ECAAE855FC7A78560D8A68561C9FDCEE7BBDCB0EB856285638564BBAAD0AD8565B1B0D7E4D7BF8566B5A5C2F4C4CF85678568B2A98569B2B7856AB1E5DFB2D5BCBFA8C2ACD8D5C2B1856BD8D4CED4856CDAE0856DCEC0856E856FD8B4C3AED3A1CEA38570BCB4C8B4C2D18571BEEDD0B68572DAE18573857485758576C7E485778578B3A78579B6F2CCFCC0FA857A857BC0F7857CD1B9D1E1D8C7857D857E85808581858285838584B2DE85858586C0E58587BAF185888589D8C8858AD4AD858B858CCFE1D8C9858DD8CACFC3858EB3F8BEC7858F859085918592D8CB8593859485958596859785988599DBCC859A859B859C859DC8A5859E859F85A0CFD885A1C8FEB2CE85A285A385A485A585A6D3D6B2E6BCB0D3D1CBABB7B485A785A885A9B7A285AA85ABCAE585ACC8A1CADCB1E4D0F085ADC5D185AE85AF85B0DBC5B5FE85B185B2BFDAB9C5BEE4C1ED85B3DFB6DFB5D6BBBDD0D5D9B0C8B6A3BFC9CCA8DFB3CAB7D3D285B4D8CFD2B6BAC5CBBECCBE85B5DFB7B5F0DFB485B685B785B8D3F585B9B3D4B8F785BADFBA85BBBACFBCAAB5F585BCCDACC3FBBAF3C0F4CDC2CFF2DFB8CFC585BDC2C0DFB9C2F085BE85BF85C0BEFD85C1C1DFCDCCD2F7B7CDDFC185C2DFC485C385C4B7F1B0C9B6D6B7D485C5BAACCCFDBFD4CBB1C6F485C6D6A8DFC585C7CEE2B3B385C885C9CEFCB4B585CACEC7BAF085CBCEE185CCD1BD85CD85CEDFC085CF85D0B4F485D1B3CA85D2B8E6DFBB85D385D485D585D6C4C585D7DFBCDFBDDFBEC5BBDFBFDFC2D4B1DFC385D8C7BACED885D985DA85DB85DC85DDC4D885DEDFCA85DFDFCF85E0D6DC85E185E285E385E485E585E685E785E8DFC9DFDACEB685E9BAC7DFCEDFC8C5DE85EA85EBC9EBBAF4C3FC85EC85EDBED785EEDFC685EFDFCD85F0C5D885F185F285F385F4D5A6BACD85F5BECCD3BDB8C085F6D6E485F7DFC7B9BEBFA785F885F9C1FCDFCBDFCC85FADFD085FB85FC85FD85FE8640DFDBDFE58641DFD7DFD6D7C9DFE3DFE4E5EBD2A7DFD28642BFA98643D4DB8644BFC8DFD4864586468647CFCC86488649DFDD864AD1CA864BDFDEB0A7C6B7DFD3864CBAE5864DB6DFCDDBB9FED4D5864E864FDFDFCFECB0A5DFE7DFD1D1C6DFD5DFD8DFD9DFDC8650BBA98651DFE0DFE18652DFE2DFE6DFE8D3B486538654865586568657B8E7C5B6DFEAC9DAC1A8C4C486588659BFDECFF8865A865B865CD5DCDFEE865D865E865F866086618662B2B88663BADFDFEC8664DBC18665D1E48666866786688669CBF4B4BD866AB0A6866B866C866D866E866FDFF1CCC6DFF286708671DFED867286738674867586768677DFE986788679867A867BDFEB867CDFEFDFF0BBBD867D867EDFF386808681DFF48682BBA38683CADBCEA8E0A7B3AA8684E0A6868586868687E0A186888689868A868BDFFE868CCDD9DFFC868DDFFA868EBFD0D7C4868FC9CC86908691DFF8B0A186928693869486958696DFFD869786988699869ADFFBE0A2869B869C869D869E869FE0A886A086A186A286A3B7C886A486A5C6A1C9B6C0B2DFF586A686A7C5BE86A8D8C4DFF9C4F686A986AA86AB86AC86AD86AEE0A3E0A4E0A5D0A586AF86B0E0B4CCE486B1E0B186B2BFA6E0AFCEB9E0ABC9C686B386B4C0AEE0AEBAEDBAB0E0A986B586B686B7DFF686B8E0B386B986BAE0B886BB86BC86BDB4ADE0B986BE86BFCFB2BAC886C0E0B086C186C286C386C486C586C686C7D0FA86C886C986CA86CB86CC86CD86CE86CF86D0E0AC86D1D4FB86D2DFF786D3C5E786D4E0AD86D5D3F786D6E0B6E0B786D786D886D986DA86DBE0C4D0E186DC86DD86DEE0BC86DF86E0E0C9E0CA86E186E286E3E0BEE0AAC9A4E0C186E4E0B286E586E686E786E886E9CAC8E0C386EAE0B586EBCECB86ECCBC3E0CDE0C6E0C286EDE0CB86EEE0BAE0BFE0C086EF86F0E0C586F186F2E0C7E0C886F3E0CC86F4E0BB86F586F686F786F886F9CBD4E0D586FAE0D6E0D286FB86FC86FD86FE87408741E0D0BCCE87428743E0D18744B8C2D8C587458746874787488749874A874B874CD0EA874D874EC2EF874F8750E0CFE0BD875187528753E0D4E0D387548755E0D78756875787588759E0DCE0D8875A875B875CD6F6B3B0875DD7EC875ECBBB875F8760E0DA8761CEFB876287638764BAD987658766876787688769876A876B876C876D876E876F8770E0E1E0DDD2AD87718772877387748775E0E287768777E0DBE0D9E0DF87788779E0E0877A877B877C877D877EE0DE8780E0E4878187828783C6F7D8ACD4EBE0E6CAC98784878587868787E0E587888789878A878BB8C1878C878D878E878FE0E7E0E887908791879287938794879587968797E0E9E0E387988799879A879B879C879D879EBABFCCE7879F87A087A1E0EA87A287A387A487A587A687A787A887A987AA87AB87AC87AD87AE87AF87B0CFF987B187B287B387B487B587B687B787B887B987BA87BBE0EB87BC87BD87BE87BF87C087C187C2C8C287C387C487C587C6BDC087C787C887C987CA87CB87CC87CD87CE87CF87D087D187D287D3C4D287D487D587D687D787D887D987DA87DB87DCE0EC87DD87DEE0ED87DF87E0C7F4CBC487E1E0EEBBD8D8B6D2F2E0EFCDC587E2B6DA87E387E487E587E687E787E8E0F187E9D4B087EA87EBC0A7B4D187EC87EDCEA7E0F087EE87EF87F0E0F2B9CC87F187F2B9FACDBCE0F387F387F487F5C6D4E0F487F6D4B287F7C8A6E0F6E0F587F887F987FA87FB87FC87FD87FE8840884188428843884488458846884788488849E0F7884A884BCDC1884C884D884ECAA5884F885088518852D4DADBD7DBD98853DBD8B9E7DBDCDBDDB5D888548855DBDA8856885788588859885ADBDBB3A1DBDF885B885CBBF8885DD6B7885EDBE0885F886088618862BEF988638864B7BB8865DBD0CCAEBFB2BBB5D7F8BFD38866886788688869886ABFE9886B886CBCE1CCB3DBDEB0D3CEEBB7D8D7B9C6C2886D886EC0A4886FCCB98870DBE7DBE1C6BADBE38871DBE88872C5F7887388748875DBEA88768877DBE9BFC088788879887ADBE6DBE5887B887C887D887E8880B4B9C0ACC2A2DBE2DBE48881888288838884D0CDDBED88858886888788888889C0DDDBF2888A888B888C888D888E888F8890B6E28891889288938894DBF3DBD2B9B8D4ABDBEC8895BFD1DBF08896DBD18897B5E68898DBEBBFE58899889A889BDBEE889CDBF1889D889E889FDBF988A088A188A288A388A488A588A688A788A8B9A1B0A388A988AA88AB88AC88AD88AE88AFC2F188B088B1B3C7DBEF88B288B3DBF888B4C6D2DBF488B588B6DBF5DBF7DBF688B788B8DBFE88B9D3F2B2BA88BA88BB88BCDBFD88BD88BE88BF88C088C188C288C388C4DCA488C5DBFB88C688C788C888C9DBFA88CA88CB88CCDBFCC5E0BBF988CD88CEDCA388CF88D0DCA588D1CCC388D288D388D4B6D1DDC088D588D688D7DCA188D8DCA288D988DA88DBC7B588DC88DD88DEB6E988DF88E088E1DCA788E288E388E488E5DCA688E6DCA9B1A488E788E8B5CC88E988EA88EB88EC88EDBFB088EE88EF88F088F188F2D1DF88F388F488F588F6B6C288F788F888F988FA88FB88FC88FD88FE894089418942894389448945DCA88946894789488949894A894B894CCBFAEBF3894D894E894FCBDC89508951CBFE895289538954CCC189558956895789588959C8FB895A895B895C895D895E895FDCAA89608961896289638964CCEEDCAB89658966896789688969896A896B896C896D896E896F897089718972897389748975DBD38976DCAFDCAC8977BEB38978CAFB8979897A897BDCAD897C897D897E89808981898289838984C9CAC4B989858986898789888989C7BDDCAE898A898B898CD4F6D0E6898D898E898F89908991899289938994C4ABB6D589958996899789988999899A899B899C899D899E899F89A089A189A289A389A489A589A6DBD489A789A889A989AAB1DA89AB89AC89ADDBD589AE89AF89B089B189B289B389B489B589B689B789B8DBD689B989BA89BBBABE89BC89BD89BE89BF89C089C189C289C389C489C589C689C789C889C9C8C089CA89CB89CC89CD89CE89CFCABFC8C989D0D7B389D1C9F989D289D3BFC789D489D5BAF889D689D7D2BC89D889D989DA89DB89DC89DD89DE89DFE2BA89E0B4A689E189E2B1B889E389E489E589E689E7B8B489E8CFC489E989EA89EB89ECD9E7CFA6CDE289ED89EED9EDB6E089EFD2B989F089F1B9BB89F289F389F489F5E2B9E2B789F6B4F389F7CCECCCABB7F289F8D8B2D1EBBABB89F9CAA789FA89FBCDB789FC89FDD2C4BFE4BCD0B6E189FEDEC58A408A418A428A43DEC6DBBC8A44D1D98A458A46C6E6C4CEB7EE8A47B7DC8A488A49BFFCD7E08A4AC6F58A4B8A4CB1BCDEC8BDB1CCD7DECA8A4DDEC98A4E8A4F8A508A518A52B5EC8A53C9DD8A548A55B0C28A568A578A588A598A5A8A5B8A5C8A5D8A5E8A5F8A608A618A62C5AEC5AB8A63C4CC8A64BCE9CBFD8A658A668A67BAC38A688A698A6AE5F9C8E7E5FACDFD8A6BD7B1B8BEC2E88A6CC8D18A6D8A6EE5FB8A6F8A708A718A72B6CABCCB8A738A74D1FDE6A18A75C3EE8A768A778A788A79E6A48A7A8A7B8A7C8A7DE5FEE6A5CDD78A7E8A80B7C1E5FCE5FDE6A38A818A82C4DDE6A88A838A84E6A78A858A868A878A888A898A8AC3C38A8BC6DE8A8C8A8DE6AA8A8E8A8F8A908A918A928A938A94C4B78A958A968A97E6A2CABC8A988A998A9A8A9BBDE3B9C3E6A6D0D5CEAF8A9C8A9DE6A9E6B08A9ED2A68A9FBDAAE6AD8AA08AA18AA28AA38AA4E6AF8AA5C0D18AA68AA7D2CC8AA88AA98AAABCA78AAB8AAC8AAD8AAE8AAF8AB08AB18AB28AB38AB48AB58AB6E6B18AB7D2F68AB88AB98ABAD7CB8ABBCDFE8ABCCDDEC2A6E6ABE6ACBDBFE6AEE6B38ABD8ABEE6B28ABF8AC08AC18AC2E6B68AC3E6B88AC48AC58AC68AC7C4EF8AC88AC98ACAC4C88ACB8ACCBEEAC9EF8ACD8ACEE6B78ACFB6F08AD08AD18AD2C3E48AD38AD48AD58AD68AD78AD88AD9D3E9E6B48ADAE6B58ADBC8A28ADC8ADD8ADE8ADF8AE0E6BD8AE18AE28AE3E6B98AE48AE58AE68AE78AE8C6C58AE98AEACDF1E6BB8AEB8AEC8AED8AEE8AEF8AF08AF18AF28AF38AF4E6BC8AF58AF68AF78AF8BBE98AF98AFA8AFB8AFC8AFD8AFE8B40E6BE8B418B428B438B44E6BA8B458B46C0B78B478B488B498B4A8B4B8B4C8B4D8B4E8B4FD3A4E6BFC9F4E6C38B508B51E6C48B528B538B548B55D0F68B568B578B588B598B5A8B5B8B5C8B5D8B5E8B5F8B608B618B628B638B648B658B668B67C3BD8B688B698B6A8B6B8B6C8B6D8B6EC3C4E6C28B6F8B708B718B728B738B748B758B768B778B788B798B7A8B7B8B7CE6C18B7D8B7E8B808B818B828B838B84E6C7CFB18B85EBF48B868B87E6CA8B888B898B8A8B8B8B8CE6C58B8D8B8EBCDEC9A98B8F8B908B918B928B938B94BCB58B958B96CFD38B978B988B998B9A8B9BE6C88B9CE6C98B9DE6CE8B9EE6D08B9F8BA08BA1E6D18BA28BA38BA4E6CBB5D58BA5E6CC8BA68BA7E6CF8BA88BA9C4DB8BAAE6C68BAB8BAC8BAD8BAE8BAFE6CD8BB08BB18BB28BB38BB48BB58BB68BB78BB88BB98BBA8BBB8BBC8BBD8BBE8BBF8BC08BC18BC28BC38BC48BC58BC6E6D28BC78BC88BC98BCA8BCB8BCC8BCD8BCE8BCF8BD08BD18BD2E6D4E6D38BD38BD48BD58BD68BD78BD88BD98BDA8BDB8BDC8BDD8BDE8BDF8BE08BE18BE28BE38BE48BE58BE68BE78BE88BE98BEA8BEB8BECE6D58BEDD9F88BEE8BEFE6D68BF08BF18BF28BF38BF48BF58BF68BF7E6D78BF88BF98BFA8BFB8BFC8BFD8BFE8C408C418C428C438C448C458C468C47D7D3E6DD8C48E6DEBFD7D4D08C49D7D6B4E6CBEFE6DAD8C3D7CED0A28C4AC3CF8C4B8C4CE6DFBCBEB9C2E6DBD1A78C4D8C4EBAA2C2CF8C4FD8AB8C508C518C52CAEBE5EE8C53E6DC8C54B7F58C558C568C578C58C8E68C598C5AC4F58C5B8C5CE5B2C4FE8C5DCBFCE5B3D5AC8C5ED3EECAD8B0B28C5FCBCECDEA8C608C61BAEA8C628C638C64E5B58C65E5B48C66D7DAB9D9D6E6B6A8CDF0D2CBB1A6CAB58C67B3E8C9F3BFCDD0FBCAD2E5B6BBC28C688C698C6ACFDCB9AC8C6B8C6C8C6D8C6ED4D78C6F8C70BAA6D1E7CFFCBCD28C71E5B7C8DD8C728C738C74BFEDB1F6CBDE8C758C76BCC58C77BCC4D2FAC3DCBFDC8C788C798C7A8C7BB8BB8C7C8C7D8C7EC3C28C80BAAED4A28C818C828C838C848C858C868C878C888C89C7DEC4AFB2EC8C8AB9D18C8B8C8CE5BBC1C88C8D8C8ED5AF8C8F8C908C918C928C93E5BC8C94E5BE8C958C968C978C988C998C9A8C9BB4E7B6D4CBC2D1B0B5BC8C9C8C9DCAD98C9EB7E28C9F8CA0C9E48CA1BDAB8CA28CA3CEBED7F08CA48CA58CA68CA7D0A18CA8C9D98CA98CAAB6FBE6D8BCE28CABB3BE8CACC9D08CADE6D9B3A28CAE8CAF8CB08CB1DECC8CB2D3C8DECD8CB3D2A28CB48CB58CB68CB7DECE8CB88CB98CBA8CBBBECD8CBC8CBDDECF8CBE8CBF8CC0CAACD2FCB3DFE5EAC4E1BEA1CEB2C4F2BED6C6A8B2E38CC18CC2BED38CC38CC4C7FCCCEBBDECCEDD8CC58CC6CABAC6C1E5ECD0BC8CC78CC88CC9D5B98CCA8CCB8CCCE5ED8CCD8CCE8CCF8CD0CAF48CD1CDC0C2C58CD2E5EF8CD3C2C4E5F08CD48CD58CD68CD78CD88CD98CDAE5F8CDCD8CDBC9BD8CDC8CDD8CDE8CDF8CE08CE18CE2D2D9E1A88CE38CE48CE58CE6D3EC8CE7CBEAC6F18CE88CE98CEA8CEB8CECE1AC8CED8CEE8CEFE1A7E1A98CF08CF1E1AAE1AF8CF28CF3B2ED8CF4E1ABB8DAE1ADE1AEE1B0B5BAE1B18CF58CF68CF78CF88CF9E1B3E1B88CFA8CFB8CFC8CFD8CFED1D28D40E1B6E1B5C1EB8D418D428D43E1B78D44D4C08D45E1B28D46E1BAB0B68D478D488D498D4AE1B48D4BBFF98D4CE1B98D4D8D4EE1BB8D4F8D508D518D528D538D54E1BE8D558D568D578D588D598D5AE1BC8D5B8D5C8D5D8D5E8D5F8D60D6C58D618D628D638D648D658D668D67CFBF8D688D69E1BDE1BFC2CD8D6AB6EB8D6BD3F88D6C8D6DC7CD8D6E8D6FB7E58D708D718D728D738D748D758D768D778D788D79BEFE8D7A8D7B8D7C8D7D8D7E8D80E1C0E1C18D818D82E1C7B3E78D838D848D858D868D878D88C6E98D898D8A8D8B8D8C8D8DB4DE8D8ED1C28D8F8D908D918D92E1C88D938D94E1C68D958D968D978D988D99E1C58D9AE1C3E1C28D9BB1C08D9C8D9D8D9ED5B8E1C48D9F8DA08DA18DA28DA3E1CB8DA48DA58DA68DA78DA88DA98DAA8DABE1CCE1CA8DAC8DAD8DAE8DAF8DB08DB18DB28DB3EFFA8DB48DB5E1D3E1D2C7B68DB68DB78DB88DB98DBA8DBB8DBC8DBD8DBE8DBF8DC0E1C98DC18DC2E1CE8DC3E1D08DC48DC58DC68DC78DC88DC98DCA8DCB8DCC8DCD8DCEE1D48DCFE1D1E1CD8DD08DD1E1CF8DD28DD38DD48DD5E1D58DD68DD78DD88DD98DDA8DDB8DDC8DDD8DDE8DDF8DE08DE18DE2E1D68DE38DE48DE58DE68DE78DE88DE98DEA8DEB8DEC8DED8DEE8DEF8DF08DF18DF28DF38DF48DF58DF68DF78DF8E1D78DF98DFA8DFBE1D88DFC8DFD8DFE8E408E418E428E438E448E458E468E478E488E498E4A8E4B8E4C8E4D8E4E8E4F8E508E518E528E538E548E55E1DA8E568E578E588E598E5A8E5B8E5C8E5D8E5E8E5F8E608E618E62E1DB8E638E648E658E668E678E688E69CEA18E6A8E6B8E6C8E6D8E6E8E6F8E708E718E728E738E748E758E76E7DD8E77B4A8D6DD8E788E79D1B2B3B28E7A8E7BB9A4D7F3C7C9BEDEB9AE8E7CCED78E7D8E7EB2EEDBCF8E80BCBAD2D1CBC8B0CD8E818E82CFEF8E838E848E858E868E87D9E3BDED8E888E89B1D2CAD0B2BC8E8ACBA7B7AB8E8BCAA68E8C8E8D8E8ECFA38E8F8E90E0F8D5CAE0FB8E918E92E0FAC5C1CCFB8E93C1B1E0F9D6E3B2AFD6C4B5DB8E948E958E968E978E988E998E9A8E9BB4F8D6A18E9C8E9D8E9E8E9F8EA0CFAFB0EF8EA18EA2E0FC8EA38EA48EA58EA68EA7E1A1B3A38EA88EA9E0FDE0FEC3B18EAA8EAB8EAC8EADC3DD8EAEE1A2B7F98EAF8EB08EB18EB28EB38EB4BBCF8EB58EB68EB78EB88EB98EBA8EBBE1A3C4BB8EBC8EBD8EBE8EBF8EC0E1A48EC18EC2E1A58EC38EC4E1A6B4B18EC58EC68EC78EC88EC98ECA8ECB8ECC8ECD8ECE8ECF8ED08ED18ED28ED3B8C9C6BDC4EA8ED4B2A28ED5D0D28ED6E7DBBBC3D3D7D3C48ED7B9E3E2CF8ED88ED98EDAD7AF8EDBC7ECB1D38EDC8EDDB4B2E2D18EDE8EDF8EE0D0F2C2AEE2D08EE1BFE2D3A6B5D7E2D2B5EA8EE2C3EDB8FD8EE3B8AE8EE4C5D3B7CFE2D48EE58EE68EE78EE8E2D3B6C8D7F98EE98EEA8EEB8EEC8EEDCDA58EEE8EEF8EF08EF18EF2E2D88EF3E2D6CAFCBFB5D3B9E2D58EF48EF58EF68EF7E2D78EF88EF98EFA8EFB8EFC8EFD8EFE8F408F418F42C1AEC0C88F438F448F458F468F478F48E2DBE2DAC0AA8F498F4AC1CE8F4B8F4C8F4D8F4EE2DC8F4F8F508F518F528F538F548F558F568F578F588F598F5AE2DD8F5BE2DE8F5C8F5D8F5E8F5F8F608F618F628F638F64DBC88F65D1D3CDA28F668F67BDA88F688F698F6ADEC3D8A5BFAADBCDD2ECC6FAC5AA8F6B8F6C8F6DDEC48F6EB1D7DFAE8F6F8F708F71CABD8F72DFB18F73B9AD8F74D2FD8F75B8A5BAEB8F768F77B3DA8F788F798F7AB5DCD5C58F7B8F7C8F7D8F7EC3D6CFD2BBA18F80E5F3E5F28F818F82E5F48F83CDE48F84C8F58F858F868F878F888F898F8A8F8BB5AFC7BF8F8CE5F68F8D8F8E8F8FECB08F908F918F928F938F948F958F968F978F988F998F9A8F9B8F9C8F9D8F9EE5E68F9FB9E9B5B18FA0C2BCE5E8E5E7E5E98FA18FA28FA38FA4D2CD8FA58FA68FA7E1EAD0CE8FA8CDAE8FA9D1E58FAA8FABB2CAB1EB8FACB1F2C5ED8FAD8FAED5C3D3B08FAFE1DC8FB08FB18FB2E1DD8FB3D2DB8FB4B3B9B1CB8FB58FB68FB7CDF9D5F7E1DE8FB8BEB6B4FD8FB9E1DFBADCE1E0BBB2C2C9E1E18FBA8FBB8FBCD0EC8FBDCDBD8FBE8FBFE1E28FC0B5C3C5C7E1E38FC18FC2E1E48FC38FC48FC58FC6D3F98FC78FC88FC98FCA8FCB8FCCE1E58FCDD1AD8FCE8FCFE1E6CEA28FD08FD18FD28FD38FD48FD5E1E78FD6B5C28FD78FD88FD98FDAE1E8BBD58FDB8FDC8FDD8FDE8FDFD0C4E2E0B1D8D2E48FE08FE1E2E18FE28FE3BCC9C8CC8FE4E2E3ECFEECFDDFAF8FE58FE68FE7E2E2D6BECDFCC3A68FE88FE98FEAE3C38FEB8FECD6D2E2E78FED8FEEE2E88FEF8FF0D3C78FF18FF2E2ECBFEC8FF3E2EDE2E58FF48FF5B3C08FF68FF78FF8C4EE8FF98FFAE2EE8FFB8FFCD0C38FFDBAF6E2E9B7DEBBB3CCACCBCBE2E4E2E6E2EAE2EB8FFE90409041E2F790429043E2F4D4F5E2F390449045C5AD9046D5FAC5C2B2C090479048E2EF9049E2F2C1AFCBBC904A904BB5A1E2F9904C904D904EBCB1E2F1D0D4D4B9E2F5B9D6E2F6904F90509051C7D390529053905490559056E2F0905790589059905A905BD7DCEDA1905C905DE2F8905EEDA5E2FECAD1905F906090619062906390649065C1B59066BBD090679068BFD69069BAE3906A906BCBA1906C906D906EEDA6EDA3906F9070EDA29071907290739074BBD6EDA7D0F490759076EDA4BADEB6F7E3A1B6B2CCF1B9A79077CFA2C7A190789079BFD2907A907BB6F1907CE2FAE2FBE2FDE2FCC4D5E3A2907DD3C1907E90809081E3A7C7C49082908390849085CFA490869087E3A9BAB790889089908A908BE3A8908CBBDA908DE3A3908E908F9090E3A4E3AA9091E3A69092CEF2D3C690939094BBBC90959096D4C39097C4FA90989099EDA8D0FCE3A5909AC3F5909BE3ADB1AF909CE3B2909D909E909FBCC290A090A1E3ACB5BF90A290A390A490A590A690A790A890A9C7E9E3B090AA90AB90ACBEAACDEF90AD90AE90AF90B090B1BBF390B290B390B4CCE890B590B6E3AF90B7E3B190B8CFA7E3AE90B9CEA9BBDD90BA90BB90BC90BD90BEB5EBBEE5B2D2B3CD90BFB1B9E3ABB2D1B5ACB9DFB6E890C090C1CFEBE3B790C2BBCC90C390C4C8C7D0CA90C590C690C790C890C9E3B8B3EE90CA90CB90CC90CDEDA990CED3FAD3E490CF90D090D1EDAAE3B9D2E290D290D390D490D590D6E3B590D790D890D990DAD3DE90DB90DC90DD90DEB8D0E3B390DF90E0E3B6B7DF90E1E3B4C0A290E290E390E4E3BA90E590E690E790E890E990EA90EB90EC90ED90EE90EF90F090F190F290F390F490F590F690F7D4B890F890F990FA90FB90FC90FD90FE9140B4C89141E3BB9142BBC59143C9F791449145C9E5914691479148C4BD9149914A914B914C914D914E914FEDAB9150915191529153C2FD9154915591569157BBDBBFAE91589159915A915B915C915D915ECEBF915F916091619162E3BC9163BFB6916491659166916791689169916A916B916C916D916E916F9170917191729173917491759176B1EF91779178D4F79179917A917B917C917DE3BE917E9180918191829183918491859186EDAD918791889189918A918B918C918D918E918FE3BFBAA9EDAC91909191E3BD91929193919491959196919791989199919A919BE3C0919C919D919E919F91A091A1BAB691A291A391A4B6AE91A591A691A791A891A9D0B891AAB0C3EDAE91AB91AC91AD91AE91AFEDAFC0C191B0E3C191B191B291B391B491B591B691B791B891B991BA91BB91BC91BD91BE91BF91C091C1C5B391C291C391C491C591C691C791C891C991CA91CB91CC91CD91CE91CFE3C291D091D191D291D391D491D591D691D791D8DCB291D991DA91DB91DC91DD91DEEDB091DFB8EA91E0CEECEAA7D0E7CAF9C8D6CFB7B3C9CED2BDE491E191E2E3DEBBF2EAA8D5BD91E3C6DDEAA991E491E591E6EAAA91E7EAACEAAB91E8EAAEEAAD91E991EA91EB91ECBDD891EDEAAF91EEC2BE91EF91F091F191F2B4C1B4F791F391F4BBA791F591F691F791F891F9ECE6ECE5B7BFCBF9B1E291FAECE791FB91FC91FDC9C8ECE8ECE991FECAD6DED0B2C5D4FA92409241C6CBB0C7B4F2C8D3924292439244CDD092459246BFB8924792489249924A924B924C924DBFDB924E924FC7A4D6B49250C0A9DED1C9A8D1EFC5A4B0E7B3B6C8C592519252B0E292539254B7F692559256C5FA92579258B6F39259D5D2B3D0BCBC925A925B925CB3AD925D925E925F9260BEF1B0D1926192629263926492659266D2D6CAE3D7A59267CDB6B6B6BFB9D5DB9268B8A7C5D79269926A926BDED2BFD9C2D5C7C0926CBBA4B1A8926D926EC5EA926F9270C5FBCCA79271927292739274B1A7927592769277B5D692789279927AC4A8927BDED3D1BAB3E9927CC3F2927D927EB7F79280D6F4B5A3B2F0C4B4C4E9C0ADDED49281B0E8C5C4C1E09282B9D59283BEDCCDD8B0CE9284CDCFDED6BED0D7BEDED5D5D0B0DD92859286C4E292879288C2A3BCF09289D3B5C0B9C5A1B2A6D4F1928A928BC0A8CAC3DED7D5FC928CB9B0928DC8ADCBA9928EDED9BFBD928F929092919292C6B4D7A7CAB0C4C39293B3D6B9D29294929592969297D6B8EAFCB0B492989299929A929BBFE6929C929DCCF4929E929F92A092A1CDDA92A292A392A4D6BFC2CE92A5CECECCA2D0AEC4D3B5B2DED8D5F5BCB7BBD392A692A7B0A492A8C5B2B4EC92A992AA92ABD5F192AC92ADEAFD92AE92AF92B092B192B292B3DEDACDA692B492B5CDEC92B692B792B892B9CEE6DEDC92BACDB1C0A692BB92BCD7BD92BDDEDBB0C6BAB4C9D3C4F3BEE892BE92BF92C092C1B2B692C292C392C492C592C692C792C892C9C0CCCBF092CABCF1BBBBB5B792CB92CC92CDC5F592CEDEE692CF92D092D1DEE3BEDD92D292D3DEDF92D492D592D692D7B4B7BDDD92D892D9DEE0C4ED92DA92DB92DC92DDCFC692DEB5E092DF92E092E192E2B6DECADAB5F4DEE592E3D5C692E4DEE1CCCDC6FE92E5C5C592E692E792E8D2B492E9BEF292EA92EB92EC92ED92EE92EF92F0C2D392F1CCBDB3B892F2BDD392F3BFD8CDC6D1DAB4EB92F4DEE4DEDDDEE792F5EAFE92F692F7C2B0DEE292F892F9D6C0B5A792FAB2F492FBDEE892FCDEF292FD92FE934093419342DEED9343DEF193449345C8E0934693479348D7E1DEEFC3E8CCE19349B2E5934A934B934CD2BE934D934E934F9350935193529353DEEE9354DEEBCED59355B4A79356935793589359935ABFABBEBE935B935CBDD2935D935E935F9360DEE99361D4AE9362DEDE9363DEEA9364936593669367C0BF9368DEECB2F3B8E9C2A79369936ABDC1936B936C936D936E936FDEF5DEF893709371B2ABB4A493729373B4EAC9A6937493759376937793789379DEF6CBD1937AB8E3937BDEF7DEFA937C937D937E9380DEF9938193829383CCC29384B0E1B4EE93859386938793889389938AE5BA938B938C938D938E938FD0AF93909391B2EB9392EBA19393DEF493949395C9E3DEF3B0DAD2A1B1F79396CCAF939793989399939A939B939C939DDEF0939ECBA4939F93A093A1D5AA93A293A393A493A593A6DEFB93A793A893A993AA93AB93AC93AD93AEB4DD93AFC4A693B093B193B2DEFD93B393B493B593B693B793B893B993BA93BB93BCC3FEC4A1DFA193BD93BE93BF93C093C193C293C3C1CC93C4DEFCBEEF93C5C6B293C693C793C893C993CA93CB93CC93CD93CEB3C5C8F693CF93D0CBBADEFE93D193D2DFA493D393D493D593D6D7B293D793D893D993DA93DBB3B793DC93DD93DE93DFC1C393E093E1C7CBB2A5B4E993E2D7AB93E393E493E593E6C4EC93E7DFA2DFA393E8DFA593E9BAB393EA93EB93ECDFA693EDC0DE93EE93EFC9C393F093F193F293F393F493F593F6B2D9C7E693F7DFA793F8C7DC93F993FA93FB93FCDFA8EBA293FD93FE944094419442CBD3944394449445DFAA9446DFA99447B2C194489449944A944B944C944D944E944F9450945194529453945494559456945794589459945A945B945C945D945E945F9460C5CA94619462946394649465946694679468DFAB9469946A946B946C946D946E946F9470D4DC94719472947394749475C8C19476947794789479947A947B947C947D947E948094819482DFAC94839484948594869487BEF094889489DFADD6A7948A948B948C948DEAB7EBB6CAD5948ED8FCB8C4948FB9A594909491B7C5D5FE94929493949494959496B9CA94979498D0A7F4CD9499949AB5D0949B949CC3F4949DBEC8949E949F94A0EBB7B0BD94A194A2BDCC94A3C1B294A4B1D6B3A894A594A694A7B8D2C9A294A894A9B6D894AA94AB94AC94ADEBB8BEB494AE94AF94B0CAFD94B1C7C394B2D5FB94B394B4B7F394B594B694B794B894B994BA94BB94BC94BD94BE94BF94C094C194C294C3CEC494C494C594C6D5ABB1F394C794C894C9ECB3B0DF94CAECB594CB94CC94CDB6B794CEC1CF94CFF5FAD0B194D094D1D5E594D2CED394D394D4BDEFB3E294D5B8AB94D6D5B694D7EDBD94D8B6CF94D9CBB9D0C294DA94DB94DC94DD94DE94DF94E094E1B7BD94E294E3ECB6CAA994E494E594E6C5D494E7ECB9ECB8C2C3ECB794E894E994EA94EBD0FDECBA94ECECBBD7E594ED94EEECBC94EF94F094F1ECBDC6EC94F294F394F494F594F694F794F894F9CEDE94FABCC894FB94FCC8D5B5A9BEC9D6BCD4E794FD94FED1AED0F1EAB8EAB9EABABAB59540954195429543CAB1BFF595449545CDFA9546954795489549954AEAC0954BB0BAEABE954C954DC0A5954E954F9550EABB9551B2FD9552C3F7BBE8955395549555D2D7CEF4EABF955695579558EABC9559955A955BEAC3955CD0C7D3B3955D955E955F9560B4BA9561C3C1D7F29562956395649565D5D19566CAC79567EAC595689569EAC4EAC7EAC6956A956B956C956D956ED6E7956FCFD495709571EACB9572BBCE9573957495759576957795789579BDFAC9CE957A957BEACC957C957DC9B9CFFEEACAD4CEEACDEACF957E9580CDED9581958295839584EAC99585EACE95869587CEEE9588BBDE9589B3BF958A958B958C958D958EC6D5BEB0CEFA958F95909591C7E79592BEA7EAD095939594D6C7959595969597C1C095989599959AD4DD959BEAD1959C959DCFBE959E959F95A095A1EAD295A295A395A495A5CAEE95A695A795A895A9C5AFB0B595AA95AB95AC95AD95AEEAD495AF95B095B195B295B395B495B595B695B7EAD3F4DF95B895B995BA95BB95BCC4BA95BD95BE95BF95C095C1B1A995C295C395C495C5E5DF95C695C795C895C9EAD595CA95CB95CC95CD95CE95CF95D095D195D295D395D495D595D695D795D895D995DA95DB95DC95DD95DE95DF95E095E195E295E3CAEF95E4EAD6EAD7C6D895E595E695E795E895E995EA95EB95ECEAD895ED95EEEAD995EF95F095F195F295F395F4D4BB95F5C7FAD2B7B8FC95F695F7EAC295F8B2DC95F995FAC2FC95FBD4F8CCE6D7EE95FC95FD95FE9640964196429643D4C2D3D0EBC3C5F39644B7FE96459646EBD4964796489649CBB7EBDE964AC0CA964B964C964DCDFB964EB3AF964FC6DA965096519652965396549655EBFC9656C4BE9657CEB4C4A9B1BED4FD9658CAF59659D6EC965A965BC6D3B6E4965C965D965E965FBBFA96609661D0E096629663C9B19664D4D3C8A896659666B8CB9667E8BEC9BC96689669E8BB966AC0EED0D3B2C4B4E5966BE8BC966C966DD5C8966E966F967096719672B6C59673E8BDCAF8B8DCCCF5967496759676C0B496779678D1EEE8BFE8C29679967ABABC967BB1ADBDDC967CEABDE8C3967DE8C6967EE8CB9680968196829683E8CC9684CBC9B0E59685BCAB96869687B9B996889689E8C1968ACDF7968BE8CA968C968D968E968FCEF69690969196929693D5ED9694C1D6E8C49695C3B69696B9FBD6A6E8C8969796989699CAE0D4E6969AE8C0969BE8C5E8C7969CC7B9B7E3969DE8C9969EBFDDE8D2969F96A0E8D796A1E8D5BCDCBCCFE8DB96A296A396A496A596A696A796A896A9E8DE96AAE8DAB1FA96AB96AC96AD96AE96AF96B096B196B296B396B4B0D8C4B3B8CCC6E2C8BEC8E196B596B696B7E8CFE8D4E8D696B8B9F1E8D8D7F596B9C4FB96BAE8DC96BB96BCB2E996BD96BE96BFE8D196C096C1BCED96C296C3BFC2E8CDD6F996C4C1F8B2F196C596C696C796C896C996CA96CB96CCE8DF96CDCAC1E8D996CE96CF96D096D1D5A496D2B1EAD5BBE8CEE8D0B6B0E8D396D3E8DDC0B896D4CAF796D5CBA896D696D7C6DCC0F596D896D996DA96DB96DCE8E996DD96DE96DFD0A396E096E196E296E396E496E596E6E8F2D6EA96E796E896E996EA96EB96EC96EDE8E0E8E196EE96EF96F0D1F9BACBB8F996F196F2B8F1D4D4E8EF96F3E8EEE8ECB9F0CCD2E8E6CEA6BFF296F4B0B8E8F1E8F096F5D7C096F6E8E496F7CDA9C9A396F8BBB8BDDBE8EA96F996FA96FB96FC96FD96FE9740974197429743E8E2E8E3E8E5B5B5E8E7C7C5E8EBE8EDBDB0D7AE9744E8F897459746974797489749974A974B974CE8F5974DCDB0E8F6974E974F9750975197529753975497559756C1BA9757E8E89758C3B7B0F09759975A975B975C975D975E975F9760E8F4976197629763E8F7976497659766B9A3976797689769976A976B976C976D976E976F9770C9D2977197729773C3CECEE0C0E69774977597769777CBF39778CCDDD0B59779977ACAE1977BE8F3977C977D977E9780978197829783978497859786BCEC9787E8F997889789978A978B978C978DC3DE978EC6E5978FB9F79790979197929793B0F497949795D7D897969797BCAC9798C5EF9799979A979B979C979DCCC4979E979FE9A697A097A197A297A397A497A597A697A797A897A9C9AD97AAE9A2C0E297AB97AC97ADBFC397AE97AF97B0E8FEB9D797B1E8FB97B297B397B497B5E9A497B697B797B8D2CE97B997BA97BB97BC97BDE9A397BED6B2D7B597BFE9A797C0BDB797C197C297C397C497C597C697C797C897C997CA97CB97CCE8FCE8FD97CD97CE97CFE9A197D097D197D297D397D497D597D697D7CDD697D897D9D2AC97DA97DB97DCE9B297DD97DE97DF97E0E9A997E197E297E3B4AA97E4B4BB97E597E6E9AB97E797E897E997EA97EB97EC97ED97EE97EF97F097F197F297F397F497F597F697F7D0A897F897F9E9A597FA97FBB3FE97FC97FDE9ACC0E397FEE9AA98409841E9B998429843E9B89844984598469847E9AE98489849E8FA984A984BE9A8984C984D984E984F9850BFACE9B1E9BA98519852C2A5985398549855E9AF9856B8C59857E9AD9858D3DCE9B4E9B5E9B79859985A985BE9C7985C985D985E985F98609861C0C6E9C598629863E9B098649865E9BBB0F19866986798689869986A986B986C986D986E986FE9BCD5A598709871E9BE9872E9BF987398749875E9C198769877C1F198789879C8B6987A987B987CE9BD987D987E988098819882E9C29883988498859886988798889889988AE9C3988BE9B3988CE9B6988DBBB1988E988F9890E9C0989198929893989498959896BCF7989798989899E9C4E9C6989A989B989C989D989E989F98A098A198A298A398A498A5E9CA98A698A798A898A9E9CE98AA98AB98AC98AD98AE98AF98B098B198B298B3B2DB98B4E9C898B598B698B798B898B998BA98BB98BC98BD98BEB7AE98BF98C098C198C298C398C498C598C698C798C898C998CAE9CBE9CC98CB98CC98CD98CE98CF98D0D5C198D1C4A398D298D398D498D598D698D7E9D898D8BAE198D998DA98DB98DCE9C998DDD3A398DE98DF98E0E9D498E198E298E398E498E598E698E7E9D7E9D098E898E998EA98EB98ECE9CF98ED98EEC7C198EF98F098F198F298F398F498F598F6E9D298F798F898F998FA98FB98FC98FDE9D9B3C898FEE9D399409941994299439944CFF0994599469947E9CD99489949994A994B994C994D994E994F995099519952B3F79953995499559956995799589959E9D6995A995BE9DA995C995D995ECCB4995F99609961CFAD99629963996499659966996799689969996AE9D5996BE9DCE9DB996C996D996E996F9970E9DE99719972997399749975997699779978E9D19979997A997B997C997D997E99809981E9DD9982E9DFC3CA9983998499859986998799889989998A998B998C998D998E998F9990999199929993999499959996999799989999999A999B999C999D999E999F99A099A199A299A399A499A599A699A799A899A999AA99AB99AC99AD99AE99AF99B099B199B299B399B499B599B699B799B899B999BA99BB99BC99BD99BE99BF99C099C199C299C399C499C599C699C799C899C999CA99CB99CC99CD99CE99CF99D099D199D299D399D499D599D699D799D899D999DA99DB99DC99DD99DE99DF99E099E199E299E399E499E599E699E799E899E999EA99EB99EC99ED99EE99EF99F099F199F299F399F499F5C7B7B4CEBBB6D0C0ECA399F699F7C5B799F899F999FA99FB99FC99FD99FE9A409A419A42D3FB9A439A449A459A46ECA49A47ECA5C6DB9A489A499A4ABFEE9A4B9A4C9A4D9A4EECA69A4F9A50ECA7D0AA9A51C7B89A529A53B8E89A549A559A569A579A589A599A5A9A5B9A5C9A5D9A5E9A5FECA89A609A619A629A639A649A659A669A67D6B9D5FDB4CBB2BDCEE4C6E79A689A69CDE19A6A9A6B9A6C9A6D9A6E9A6F9A709A719A729A739A749A759A769A77B4F59A78CBC0BCDF9A799A7A9A7B9A7CE9E2E9E3D1EAE9E59A7DB4F9E9E49A7ED1B3CAE2B2D09A80E9E89A819A829A839A84E9E6E9E79A859A86D6B39A879A889A89E9E9E9EA9A8A9A8B9A8C9A8D9A8EE9EB9A8F9A909A919A929A939A949A959A96E9EC9A979A989A999A9A9A9B9A9C9A9D9A9EECAFC5B9B6CE9A9FD2F39AA09AA19AA29AA39AA49AA59AA6B5EE9AA7BBD9ECB19AA89AA9D2E39AAA9AAB9AAC9AAD9AAECEE39AAFC4B89AB0C3BF9AB19AB2B6BED8B9B1C8B1CFB1D1C5FE9AB3B1D09AB4C3AB9AB59AB69AB79AB89AB9D5B19ABA9ABB9ABC9ABD9ABE9ABF9AC09AC1EBA4BAC19AC29AC39AC4CCBA9AC59AC69AC7EBA59AC8EBA79AC99ACA9ACBEBA89ACC9ACD9ACEEBA69ACF9AD09AD19AD29AD39AD49AD5EBA9EBABEBAA9AD69AD79AD89AD99ADAEBAC9ADBCACFD8B5C3F19ADCC3A5C6F8EBADC4CA9ADDEBAEEBAFEBB0B7D59ADE9ADF9AE0B7FA9AE1EBB1C7E29AE2EBB39AE3BAA4D1F5B0B1EBB2EBB49AE49AE59AE6B5AAC2C8C7E89AE7EBB59AE8CBAEE3DF9AE99AEAD3C09AEB9AEC9AED9AEED9DB9AEF9AF0CDA1D6ADC7F39AF19AF29AF3D9E0BBE39AF4BABAE3E29AF59AF69AF79AF89AF9CFAB9AFA9AFB9AFCE3E0C9C79AFDBAB99AFE9B409B41D1B4E3E1C8EAB9AFBDADB3D8CEDB9B429B43CCC09B449B459B46E3E8E3E9CDF49B479B489B499B4A9B4BCCAD9B4CBCB39B4DE3EA9B4EE3EB9B4F9B50D0DA9B519B529B53C6FBB7DA9B549B55C7DFD2CACED69B56E3E4E3EC9B57C9F2B3C19B589B59E3E79B5A9B5BC6E3E3E59B5C9B5DEDB3E3E69B5E9B5F9B609B61C9B39B62C5E69B639B649B65B9B59B66C3BB9B67E3E3C5BDC1A4C2D9B2D79B68E3EDBBA6C4AD9B69E3F0BEDA9B6A9B6BE3FBE3F5BAD39B6C9B6D9B6E9B6FB7D0D3CD9B70D6CED5D3B9C1D5B4D1D89B719B729B739B74D0B9C7F69B759B769B77C8AAB2B49B78C3DA9B799B7A9B7BE3EE9B7C9B7DE3FCE3EFB7A8E3F7E3F49B7E9B809B81B7BA9B829B83C5A29B84E3F6C5DDB2A8C6FC9B85C4E09B869B87D7A29B88C0E1E3F99B899B8AE3FAE3FDCCA9E3F39B8BD3BE9B8CB1C3EDB4E3F1E3F29B8DE3F8D0BAC6C3D4F3E3FE9B8E9B8FBDE09B909B91E4A79B929B93E4A69B949B959B96D1F3E4A39B97E4A99B989B999B9AC8F79B9B9B9C9B9D9B9ECFB49B9FE4A8E4AEC2E59BA09BA1B6B49BA29BA39BA49BA59BA69BA7BDF29BA8E4A29BA99BAABAE9E4AA9BAB9BACE4AC9BAD9BAEB6FDD6DEE4B29BAFE4AD9BB09BB19BB2E4A19BB3BBEECDDDC7A2C5C99BB49BB5C1F79BB6E4A49BB7C7B3BDACBDBDE4A59BB8D7C7B2E29BB9E4ABBCC3E4AF9BBABBEBE4B0C5A8E4B19BBB9BBC9BBD9BBED5E3BFA39BBFE4BA9BC0E4B79BC1E4BB9BC29BC3E4BD9BC49BC5C6D69BC69BC7BAC6C0CB9BC89BC99BCAB8A1E4B49BCB9BCC9BCD9BCED4A19BCF9BD0BAA3BDFE9BD19BD29BD3E4BC9BD49BD59BD69BD79BD8CDBF9BD99BDAC4F99BDB9BDCCFFBC9E69BDD9BDED3BF9BDFCFD19BE09BE1E4B39BE2E4B8E4B9CCE99BE39BE49BE59BE69BE7CCCE9BE8C0D4E4B5C1B0E4B6CED09BE9BBC1B5D39BEAC8F3BDA7D5C7C9ACB8A2E4CA9BEB9BECE4CCD1C49BED9BEED2BA9BEF9BF0BAAD9BF19BF2BAD49BF39BF49BF59BF69BF79BF8E4C3B5ED9BF99BFA9BFBD7CDE4C0CFFDE4BF9BFC9BFD9BFEC1DCCCCA9C409C419C429C43CAE79C449C459C469C47C4D79C48CCD4E4C89C499C4A9C4BE4C7E4C19C4CE4C4B5AD9C4D9C4ED3D99C4FE4C69C509C519C529C53D2F9B4E39C54BBB49C559C56C9EE9C57B4BE9C589C599C5ABBEC9C5BD1CD9C5CCCEDEDB59C5D9C5E9C5F9C609C619C629C639C64C7E59C659C669C679C68D4A89C69E4CBD7D5E4C29C6ABDA5E4C59C6B9C6CD3E69C6DE4C9C9F89C6E9C6FE4BE9C709C71D3E59C729C73C7FEB6C99C74D4FCB2B3E4D79C759C769C77CEC29C78E4CD9C79CEBC9C7AB8DB9C7B9C7CE4D69C7DBFCA9C7E9C809C81D3CE9C82C3EC9C839C849C859C869C879C889C899C8AC5C8E4D89C8B9C8C9C8D9C8E9C8F9C909C919C92CDC4E4CF9C939C949C959C96E4D4E4D59C97BAFE9C98CFE69C999C9AD5BF9C9B9C9C9C9DE4D29C9E9C9F9CA09CA19CA29CA39CA49CA59CA69CA79CA8E4D09CA99CAAE4CE9CAB9CAC9CAD9CAE9CAF9CB09CB19CB29CB39CB49CB59CB69CB79CB89CB9CDE5CAAA9CBA9CBB9CBCC0A39CBDBDA6E4D39CBE9CBFB8C89CC09CC19CC29CC39CC4E4E7D4B49CC59CC69CC79CC89CC99CCA9CCBE4DB9CCC9CCD9CCEC1EF9CCF9CD0E4E99CD19CD2D2E79CD39CD4E4DF9CD5E4E09CD69CD7CFAA9CD89CD99CDA9CDBCBDD9CDCE4DAE4D19CDDE4E59CDEC8DCE4E39CDF9CE0C4E7E4E29CE1E4E19CE29CE39CE4B3FCE4E89CE59CE69CE79CE8B5E19CE99CEA9CEBD7CC9CEC9CED9CEEE4E69CEFBBAC9CF0D7D2CCCFEBF89CF1E4E49CF29CF3B9F69CF49CF59CF6D6CDE4D9E4DCC2FAE4DE9CF7C2CBC0C4C2D09CF8B1F5CCB29CF99CFA9CFB9CFC9CFD9CFE9D409D419D429D43B5CE9D449D459D469D47E4EF9D489D499D4A9D4B9D4C9D4D9D4E9D4FC6AF9D509D519D52C6E19D539D54E4F59D559D569D579D589D59C2A99D5A9D5B9D5CC0ECD1DDE4EE9D5D9D5E9D5F9D609D619D629D639D649D659D66C4AE9D679D689D69E4ED9D6A9D6B9D6C9D6DE4F6E4F4C2FE9D6EE4DD9D6FE4F09D70CAFE9D71D5C49D729D73E4F19D749D759D769D779D789D799D7AD1FA9D7B9D7C9D7D9D7E9D809D819D82E4EBE4EC9D839D849D85E4F29D86CEAB9D879D889D899D8A9D8B9D8C9D8D9D8E9D8F9D90C5CB9D919D929D93C7B19D94C2BA9D959D969D97E4EA9D989D999D9AC1CA9D9B9D9C9D9D9D9E9D9F9DA0CCB6B3B19DA19DA29DA3E4FB9DA4E4F39DA59DA69DA7E4FA9DA8E4FD9DA9E4FC9DAA9DAB9DAC9DAD9DAE9DAF9DB0B3CE9DB19DB29DB3B3BAE4F79DB49DB5E4F9E4F8C5EC9DB69DB79DB89DB99DBA9DBB9DBC9DBD9DBE9DBF9DC09DC19DC2C0BD9DC39DC49DC59DC6D4E89DC79DC89DC99DCA9DCBE5A29DCC9DCD9DCE9DCF9DD09DD19DD29DD39DD49DD59DD6B0C49DD79DD8E5A49DD99DDAE5A39DDB9DDC9DDD9DDE9DDF9DE0BCA49DE1E5A59DE29DE39DE49DE59DE69DE7E5A19DE89DE99DEA9DEB9DEC9DED9DEEE4FEB1F49DEF9DF09DF19DF29DF39DF49DF59DF69DF79DF89DF9E5A89DFAE5A9E5A69DFB9DFC9DFD9DFE9E409E419E429E439E449E459E469E47E5A7E5AA9E489E499E4A9E4B9E4C9E4D9E4E9E4F9E509E519E529E539E549E559E569E579E589E599E5A9E5B9E5C9E5D9E5E9E5F9E609E619E629E639E649E659E669E679E68C6D99E699E6A9E6B9E6C9E6D9E6E9E6F9E70E5ABE5AD9E719E729E739E749E759E769E77E5AC9E789E799E7A9E7B9E7C9E7D9E7E9E809E819E829E839E849E859E869E879E889E89E5AF9E8A9E8B9E8CE5AE9E8D9E8E9E8F9E909E919E929E939E949E959E969E979E989E999E9A9E9B9E9C9E9D9E9EB9E09E9F9EA0E5B09EA19EA29EA39EA49EA59EA69EA79EA89EA99EAA9EAB9EAC9EAD9EAEE5B19EAF9EB09EB19EB29EB39EB49EB59EB69EB79EB89EB99EBABBF0ECE1C3F09EBBB5C6BBD29EBC9EBD9EBE9EBFC1E9D4EE9EC0BEC49EC19EC29EC3D7C69EC4D4D6B2D3ECBE9EC59EC69EC79EC8EAC19EC99ECA9ECBC2AFB4B69ECC9ECD9ECED1D79ECF9ED09ED1B3B49ED2C8B2BFBBECC09ED39ED4D6CB9ED59ED6ECBFECC19ED79ED89ED99EDA9EDB9EDC9EDD9EDE9EDF9EE09EE19EE29EE3ECC5BEE6CCBFC5DABEBC9EE4ECC69EE5B1FE9EE69EE79EE8ECC4D5A8B5E39EE9ECC2C1B6B3E39EEA9EEBECC3CBB8C0C3CCFE9EEC9EED9EEE9EEFC1D29EF0ECC89EF19EF29EF39EF49EF59EF69EF79EF89EF99EFA9EFB9EFC9EFDBAE6C0D39EFED6F29F409F419F42D1CC9F439F449F459F46BFBE9F47B7B3C9D5ECC7BBE29F48CCCCBDFDC8C89F49CFA99F4A9F4B9F4C9F4D9F4E9F4F9F50CDE99F51C5EB9F529F539F54B7E99F559F569F579F589F599F5A9F5B9F5C9F5D9F5E9F5FD1C9BAB89F609F619F629F639F64ECC99F659F66ECCA9F67BBC0ECCB9F68ECE2B1BAB7D99F699F6A9F6B9F6C9F6D9F6E9F6F9F709F719F729F73BDB99F749F759F769F779F789F799F7A9F7BECCCD1E6ECCD9F7C9F7D9F7E9F80C8BB9F819F829F839F849F859F869F879F889F899F8A9F8B9F8C9F8D9F8EECD19F8F9F909F919F92ECD39F93BBCD9F94BCE59F959F969F979F989F999F9A9F9B9F9C9F9D9F9E9F9F9FA09FA1ECCF9FA2C9B79FA39FA49FA59FA69FA7C3BA9FA8ECE3D5D5ECD09FA99FAA9FAB9FAC9FADD6F39FAE9FAF9FB0ECD2ECCE9FB19FB29FB39FB4ECD49FB5ECD59FB69FB7C9BF9FB89FB99FBA9FBB9FBC9FBDCFA89FBE9FBF9FC09FC19FC2D0DC9FC39FC49FC59FC6D1AC9FC79FC89FC99FCAC8DB9FCB9FCC9FCDECD6CEF59FCE9FCF9FD09FD19FD2CAECECDA9FD39FD49FD59FD69FD79FD89FD9ECD99FDA9FDB9FDCB0BE9FDD9FDE9FDF9FE09FE19FE2ECD79FE3ECD89FE49FE59FE6ECE49FE79FE89FE99FEA9FEB9FEC9FED9FEE9FEFC8BC9FF09FF19FF29FF39FF49FF59FF69FF79FF89FF9C1C79FFA9FFB9FFC9FFD9FFEECDCD1E0A040A041A042A043A044A045A046A047A048A049ECDBA04AA04BA04CA04DD4EFA04EECDDA04FA050A051A052A053A054DBC6A055A056A057A058A059A05AA05BA05CA05DA05EECDEA05FA060A061A062A063A064A065A066A067A068A069A06AB1ACA06BA06CA06DA06EA06FA070A071A072A073A074A075A076A077A078A079A07AA07BA07CA07DA07EA080A081ECDFA082A083A084A085A086A087A088A089A08AA08BECE0A08CD7A6A08DC5C0A08EA08FA090EBBCB0AEA091A092A093BEF4B8B8D2AFB0D6B5F9A094D8B3A095CBACA096E3DDA097A098A099A09AA09BA09CA09DC6ACB0E6A09EA09FA0A0C5C6EBB9A0A1A0A2A0A3A0A4EBBAA0A5A0A6A0A7EBBBA0A8A0A9D1C0A0AAC5A3A0ABEAF2A0ACC4B2A0ADC4B5C0CEA0AEA0AFA0B0EAF3C4C1A0B1CEEFA0B2A0B3A0B4A0B5EAF0EAF4A0B6A0B7C9FCA0B8A0B9C7A3A0BAA0BBA0BCCCD8CEFEA0BDA0BEA0BFEAF5EAF6CFACC0E7A0C0A0C1EAF7A0C2A0C3A0C4A0C5A0C6B6BFEAF8A0C7EAF9A0C8EAFAA0C9A0CAEAFBA0CBA0CCA0CDA0CEA0CFA0D0A0D1A0D2A0D3A0D4A0D5A0D6EAF1A0D7A0D8A0D9A0DAA0DBA0DCA0DDA0DEA0DFA0E0A0E1A0E2C8AEE1EBA0E3B7B8E1ECA0E4A0E5A0E6E1EDA0E7D7B4E1EEE1EFD3CCA0E8A0E9A0EAA0EBA0ECA0EDA0EEE1F1BFF1E1F0B5D2A0EFA0F0A0F1B1B7A0F2A0F3A0F4A0F5E1F3E1F2A0F6BAFCA0F7E1F4A0F8A0F9A0FAA0FBB9B7A0FCBED1A0FDA0FEAA40AA41C4FCAA42BADDBDC6AA43AA44AA45AA46AA47AA48E1F5E1F7AA49AA4AB6C0CFC1CAA8E1F6D5F8D3FCE1F8E1FCE1F9AA4BAA4CE1FAC0EAAA4DE1FEE2A1C0C7AA4EAA4FAA50AA51E1FBAA52E1FDAA53AA54AA55AA56AA57AA58E2A5AA59AA5AAA5BC1D4AA5CAA5DAA5EAA5FE2A3AA60E2A8B2FEE2A2AA61AA62AA63C3CDB2C2E2A7E2A6AA64AA65E2A4E2A9AA66AA67E2ABAA68AA69AA6AD0C9D6EDC3A8E2ACAA6BCFD7AA6CAA6DE2AEAA6EAA6FBAEFAA70AA71E9E0E2ADE2AAAA72AA73AA74AA75BBABD4B3AA76AA77AA78AA79AA7AAA7BAA7CAA7DAA7EAA80AA81AA82AA83E2B0AA84AA85E2AFAA86E9E1AA87AA88AA89AA8AE2B1AA8BAA8CAA8DAA8EAA8FAA90AA91AA92E2B2AA93AA94AA95AA96AA97AA98AA99AA9AAA9BAA9CAA9DE2B3CCA1AA9EE2B4AA9FAAA0AB40AB41AB42AB43AB44AB45AB46AB47AB48AB49AB4AAB4BE2B5AB4CAB4DAB4EAB4FAB50D0FEAB51AB52C2CAAB53D3F1AB54CDF5AB55AB56E7E0AB57AB58E7E1AB59AB5AAB5BAB5CBEC1AB5DAB5EAB5FAB60C2EAAB61AB62AB63E7E4AB64AB65E7E3AB66AB67AB68AB69AB6AAB6BCDE6AB6CC3B5AB6DAB6EE7E2BBB7CFD6AB6FC1E1E7E9AB70AB71AB72E7E8AB73AB74E7F4B2A3AB75AB76AB77AB78E7EAAB79E7E6AB7AAB7BAB7CAB7DAB7EE7ECE7EBC9BAAB80AB81D5E4AB82E7E5B7A9E7E7AB83AB84AB85AB86AB87AB88AB89E7EEAB8AAB8BAB8CAB8DE7F3AB8ED6E9AB8FAB90AB91AB92E7EDAB93E7F2AB94E7F1AB95AB96AB97B0E0AB98AB99AB9AAB9BE7F5AB9CAB9DAB9EAB9FABA0AC40AC41AC42AC43AC44AC45AC46AC47AC48AC49AC4AC7F2AC4BC0C5C0EDAC4CAC4DC1F0E7F0AC4EAC4FAC50AC51E7F6CBF6AC52AC53AC54AC55AC56AC57AC58AC59AC5AE8A2E8A1AC5BAC5CAC5DAC5EAC5FAC60D7C1AC61AC62E7FAE7F9AC63E7FBAC64E7F7AC65E7FEAC66E7FDAC67E7FCAC68AC69C1D5C7D9C5FDC5C3AC6AAC6BAC6CAC6DAC6EC7EDAC6FAC70AC71AC72E8A3AC73AC74AC75AC76AC77AC78AC79AC7AAC7BAC7CAC7DAC7EAC80AC81AC82AC83AC84AC85AC86E8A6AC87E8A5AC88E8A7BAF7E7F8E8A4AC89C8F0C9AAAC8AAC8BAC8CAC8DAC8EAC8FAC90AC91AC92AC93AC94AC95AC96E8A9AC97AC98B9E5AC99AC9AAC9BAC9CAC9DD1FEE8A8AC9EAC9FACA0AD40AD41AD42E8AAAD43E8ADE8AEAD44C1A7AD45AD46AD47E8AFAD48AD49AD4AE8B0AD4BAD4CE8ACAD4DE8B4AD4EAD4FAD50AD51AD52AD53AD54AD55AD56AD57AD58E8ABAD59E8B1AD5AAD5BAD5CAD5DAD5EAD5FAD60AD61E8B5E8B2E8B3AD62AD63AD64AD65AD66AD67AD68AD69AD6AAD6BAD6CAD6DAD6EAD6FAD70AD71E8B7AD72AD73AD74AD75AD76AD77AD78AD79AD7AAD7BAD7CAD7DAD7EAD80AD81AD82AD83AD84AD85AD86AD87AD88AD89E8B6AD8AAD8BAD8CAD8DAD8EAD8FAD90AD91AD92B9CFAD93F0ACAD94F0ADAD95C6B0B0EAC8BFAD96CDDFAD97AD98AD99AD9AAD9BAD9CAD9DCECDEAB1AD9EAD9FADA0AE40EAB2AE41C6BFB4C9AE42AE43AE44AE45AE46AE47AE48EAB3AE49AE4AAE4BAE4CD5E7AE4DAE4EAE4FAE50AE51AE52AE53AE54DDF9AE55EAB4AE56EAB5AE57EAB6AE58AE59AE5AAE5BB8CADFB0C9F5AE5CCCF0AE5DAE5EC9FAAE5FAE60AE61AE62AE63C9FBAE64AE65D3C3CBA6AE66B8A6F0AEB1C2AE67E5B8CCEFD3C9BCD7C9EAAE68B5E7AE69C4D0B5E9AE6AEEAEBBADAE6BAE6CE7DEAE6DEEAFAE6EAE6FAE70AE71B3A9AE72AE73EEB2AE74AE75EEB1BDE7AE76EEB0CEB7AE77AE78AE79AE7AC5CFAE7BAE7CAE7DAE7EC1F4DBCEEEB3D0F3AE80AE81AE82AE83AE84AE85AE86AE87C2D4C6E8AE88AE89AE8AB7ACAE8BAE8CAE8DAE8EAE8FAE90AE91EEB4AE92B3EBAE93AE94AE95BBFBEEB5AE96AE97AE98AE99AE9AE7DCAE9BAE9CAE9DEEB6AE9EAE9FBDAEAEA0AF40AF41AF42F1E2AF43AF44AF45CAE8AF46D2C9F0DAAF47F0DBAF48F0DCC1C6AF49B8EDBECEAF4AAF4BF0DEAF4CC5B1F0DDD1F1AF4DF0E0B0CCBDEAAF4EAF4FAF50AF51AF52D2DFF0DFAF53B4AFB7E8F0E6F0E5C6A3F0E1F0E2B4C3AF54AF55F0E3D5EEAF56AF57CCDBBED2BCB2AF58AF59AF5AF0E8F0E7F0E4B2A1AF5BD6A2D3B8BEB7C8ACAF5CAF5DF0EAAF5EAF5FAF60AF61D1F7AF62D6CCBADBF0E9AF63B6BBAF64AF65CDB4AF66AF67C6A6AF68AF69AF6AC1A1F0EBF0EEAF6BF0EDF0F0F0ECAF6CBBBEF0EFAF6DAF6EAF6FAF70CCB5F0F2AF71AF72B3D5AF73AF74AF75AF76B1D4AF77AF78F0F3AF79AF7AF0F4F0F6B4E1AF7BF0F1AF7CF0F7AF7DAF7EAF80AF81F0FAAF82F0F8AF83AF84AF85F0F5AF86AF87AF88AF89F0FDAF8AF0F9F0FCF0FEAF8BF1A1AF8CAF8DAF8ECEC1F1A4AF8FF1A3AF90C1F6F0FBCADDAF91AF92B4F1B1F1CCB1AF93F1A6AF94AF95F1A7AF96AF97F1ACD5CEF1A9AF98AF99C8B3AF9AAF9BAF9CF1A2AF9DF1ABF1A8F1A5AF9EAF9FF1AAAFA0B040B041B042B043B044B045B046B0A9F1ADB047B048B049B04AB04BB04CF1AFB04DF1B1B04EB04FB050B051B052F1B0B053F1AEB054B055B056B057D1A2B058B059B05AB05BB05CB05DB05EF1B2B05FB060B061F1B3B062B063B064B065B066B067B068B069B9EFB06AB06BB5C7B06CB0D7B0D9B06DB06EB06FD4EDB070B5C4B071BDD4BBCAF0A7B072B073B8DEB074B075F0A8B076B077B0A8B078F0A9B079B07ACDEEB07BB07CF0AAB07DB07EB080B081B082B083B084B085B086B087F0ABB088B089B08AB08BB08CB08DB08EB08FB090C6A4B091B092D6E5F1E4B093F1E5B094B095B096B097B098B099B09AB09BB09CB09DC3F3B09EB09FD3DBB0A0B140D6D1C5E8B141D3AFB142D2E6B143B144EEC1B0BBD5B5D1CEBCE0BAD0B145BFF8B146B8C7B5C1C5CCB147B148CAA2B149B14AB14BC3CBB14CB14DB14EB14FB150EEC2B151B152B153B154B155B156B157B158C4BFB6A2B159EDECC3A4B15AD6B1B15BB15CB15DCFE0EDEFB15EB15FC5CEB160B6DCB161B162CAA1B163B164EDEDB165B166EDF0EDF1C3BCB167BFB4B168EDEEB169B16AB16BB16CB16DB16EB16FB170B171B172B173EDF4EDF2B174B175B176B177D5E6C3DFB178EDF3B179B17AB17BEDF6B17CD5A3D1A3B17DB17EB180EDF5B181C3D0B182B183B184B185B186EDF7BFF4BEECEDF8B187CCF7B188D1DBB189B18AB18BD7C5D5F6B18CEDFCB18DB18EB18FEDFBB190B191B192B193B194B195B196B197EDF9EDFAB198B199B19AB19BB19CB19DB19EB19FEDFDBEA6B1A0B240B241B242B243CBAFEEA1B6BDB244EEA2C4C0B245EDFEB246B247BDDEB2C7B248B249B24AB24BB24CB24DB24EB24FB250B251B252B253B6C3B254B255B256EEA5D8BAEEA3EEA6B257B258B259C3E9B3F2B25AB25BB25CB25DB25EB25FEEA7EEA4CFB9B260B261EEA8C2F7B262B263B264B265B266B267B268B269B26AB26BB26CB26DEEA9EEAAB26EDEABB26FB270C6B3B271C7C6B272D6F5B5C9B273CBB2B274B275B276EEABB277B278CDABB279EEACB27AB27BB27CB27DB27ED5B0B280EEADB281F6C4B282B283B284B285B286B287B288B289B28AB28BB28CB28DB28EDBC7B28FB290B291B292B293B294B295B296B297B4A3B298B299B29AC3ACF1E6B29BB29CB29DB29EB29FCAB8D2D3B2A0D6AAB340EFF2B341BED8B342BDC3EFF3B6CCB0ABB343B344B345B346CAAFB347B348EDB6B349EDB7B34AB34BB34CB34DCEF9B7AFBFF3EDB8C2EBC9B0B34EB34FB350B351B352B353EDB9B354B355C6F6BFB3B356B357B358EDBCC5F8B359D1D0B35AD7A9EDBAEDBBB35BD1E2B35CEDBFEDC0B35DEDC4B35EB35FB360EDC8B361EDC6EDCED5E8B362EDC9B363B364EDC7EDBEB365B366C5E9B367B368B369C6C6B36AB36BC9E9D4D2EDC1EDC2EDC3EDC5B36CC0F9B36DB4A1B36EB36FB370B371B9E8B372EDD0B373B374B375B376EDD1B377EDCAB378EDCFB379CEF8B37AB37BCBB6EDCCEDCDB37CB37DB37EB380B381CFF5B382B383B384B385B386B387B388B389B38AB38BB38CB38DEDD2C1F2D3B2EDCBC8B7B38EB38FB390B391B392B393B394B395BCEFB396B397B398B399C5F0B39AB39BB39CB39DB39EB39FB3A0B440B441B442EDD6B443B5EFB444B445C2B5B0ADCBE9B446B447B1AEB448EDD4B449B44AB44BCDEBB5E2B44CEDD5EDD3EDD7B44DB44EB5FAB44FEDD8B450EDD9B451EDDCB452B1CCB453B454B455B456B457B458B459B45AC5F6BCEEEDDACCBCB2EAB45BB45CB45DB45EEDDBB45FB460B461B462C4EBB463B464B4C5B465B466B467B0F5B468B469B46AEDDFC0DAB4E8B46BB46CB46DB46EC5CDB46FB470B471EDDDBFC4B472B473B474EDDEB475B476B477B478B479B47AB47BB47CB47DB47EB480B481B482B483C4A5B484B485B486EDE0B487B488B489B48AB48BEDE1B48CEDE3B48DB48EC1D7B48FB490BBC7B491B492B493B494B495B496BDB8B497B498B499EDE2B49AB49BB49CB49DB49EB49FB4A0B540B541B542B543B544B545EDE4B546B547B548B549B54AB54BB54CB54DB54EB54FEDE6B550B551B552B553B554EDE5B555B556B557B558B559B55AB55BB55CB55DB55EB55FB560B561B562B563EDE7B564B565B566B567B568CABEECEAC0F1B569C9E7B56AECEBC6EEB56BB56CB56DB56EECECB56FC6EDECEDB570B571B572B573B574B575B576B577B578ECF0B579B57AD7E6ECF3B57BB57CECF1ECEEECEFD7A3C9F1CBEEECF4B57DECF2B57EB580CFE9B581ECF6C6B1B582B583B584B585BCC0B586ECF5B587B588B589B58AB58BB58CB58DB5BBBBF6B58EECF7B58FB590B591B592B593D9F7BDFBB594B595C2BBECF8B596B597B598B599ECF9B59AB59BB59CB59DB8A3B59EB59FB5A0B640B641B642B643B644B645B646ECFAB647B648B649B64AB64BB64CB64DB64EB64FB650B651B652ECFBB653B654B655B656B657B658B659B65AB65BB65CB65DECFCB65EB65FB660B661B662D3EDD8AEC0EBB663C7DDBACCB664D0E3CBBDB665CDBAB666B667B8D1B668B669B1FCB66AC7EFB66BD6D6B66CB66DB66EBFC6C3EBB66FB670EFF5B671B672C3D8B673B674B675B676B677B678D7E2B679B67AB67BEFF7B3D3B67CC7D8D1EDB67DD6C8B67EEFF8B680EFF6B681BBFDB3C6B682B683B684B685B686B687B688BDD5B689B68AD2C6B68BBBE0B68CB68DCFA1B68EEFFCEFFBB68FB690EFF9B691B692B693B694B3CCB695C9D4CBB0B696B697B698B699B69AEFFEB69BB69CB0DEB69DB69ED6C9B69FB6A0B740EFFDB741B3EDB742B743F6D5B744B745B746B747B748B749B74AB74BB74CB74DB74EB74FB750B751B752CEC8B753B754B755F0A2B756F0A1B757B5BEBCDABBFCB758B8E5B759B75AB75BB75CB75DB75EC4C2B75FB760B761B762B763B764B765B766B767B768F0A3B769B76AB76BB76CB76DCBEBB76EB76FB770B771B772B773B774B775B776B777B778B779B77AB77BB77CB77DB77EB780B781B782B783B784B785B786F0A6B787B788B789D1A8B78ABEBFC7EEF1B6F1B7BFD5B78BB78CB78DB78EB4A9F1B8CDBBB78FC7D4D5ADB790F1B9B791F1BAB792B793B794B795C7CFB796B797B798D2A4D6CFB799B79AF1BBBDD1B4B0BEBDB79BB79CB79DB4DCCED1B79EBFDFF1BDB79FB7A0B840B841BFFAF1BCB842F1BFB843B844B845F1BEF1C0B846B847B848B849B84AF1C1B84BB84CB84DB84EB84FB850B851B852B853B854B855C1FEB856B857B858B859B85AB85BB85CB85DB85EB85FB860C1A2B861B862B863B864B865B866B867B868B869B86ACAFAB86BB86CD5BEB86DB86EB86FB870BEBABEB9D5C2B871B872BFA2B873CDAFF1B5B874B875B876B877B878B879BDDFB87AB6CBB87BB87CB87DB87EB880B881B882B883B884D6F1F3C3B885B886F3C4B887B8CDB888B889B88AF3C6F3C7B88BB0CAB88CF3C5B88DF3C9CBF1B88EB88FB890F3CBB891D0A6B892B893B1CAF3C8B894B895B896F3CFB897B5D1B898B899F3D7B89AF3D2B89BB89CB89DF3D4F3D3B7FBB89EB1BFB89FF3CEF3CAB5DAB8A0F3D0B940B941F3D1B942F3D5B943B944B945B946F3CDB947BCE3B948C1FDB949F3D6B94AB94BB94CB94DB94EB94FF3DAB950F3CCB951B5C8B952BDEEF3DCB953B954B7A4BFF0D6FECDB2B955B4F0B956B2DFB957F3D8B958F3D9C9B8B959F3DDB95AB95BF3DEB95CF3E1B95DB95EB95FB960B961B962B963B964B965B966B967F3DFB968B969F3E3F3E2B96AB96BF3DBB96CBFEAB96DB3EFB96EF3E0B96FB970C7A9B971BCF2B972B973B974B975F3EBB976B977B978B979B97AB97BB97CB9BFB97DB97EF3E4B980B981B982B2ADBBFEB983CBE3B984B985B986B987F3EDF3E9B988B989B98AB9DCF3EEB98BB98CB98DF3E5F3E6F3EAC2E1F3ECF3EFF3E8BCFDB98EB98FB990CFE4B991B992F3F0B993B994B995F3E7B996B997B998B999B99AB99BB99CB99DF3F2B99EB99FB9A0BA40D7ADC6AABA41BA42BA43BA44F3F3BA45BA46BA47BA48F3F1BA49C2A8BA4ABA4BBA4CBA4DBA4EB8DDF3F5BA4FBA50F3F4BA51BA52BA53B4DBBA54BA55BA56F3F6F3F7BA57BA58BA59F3F8BA5ABA5BBA5CC0BABA5DBA5EC0E9BA5FBA60BA61BA62BA63C5F1BA64BA65BA66BA67F3FBBA68F3FABA69BA6ABA6BBA6CBA6DBA6EBA6FBA70B4D8BA71BA72BA73F3FEF3F9BA74BA75F3FCBA76BA77BA78BA79BA7ABA7BF3FDBA7CBA7DBA7EBA80BA81BA82BA83BA84F4A1BA85BA86BA87BA88BA89BA8AF4A3BBC9BA8BBA8CF4A2BA8DBA8EBA8FBA90BA91BA92BA93BA94BA95BA96BA97BA98BA99F4A4BA9ABA9BBA9CBA9DBA9EBA9FB2BEF4A6F4A5BAA0BB40BB41BB42BB43BB44BB45BB46BB47BB48BB49BCAEBB4ABB4BBB4CBB4DBB4EBB4FBB50BB51BB52BB53BB54BB55BB56BB57BB58BB59BB5ABB5BBB5CBB5DBB5EBB5FBB60BB61BB62BB63BB64BB65BB66BB67BB68BB69BB6ABB6BBB6CBB6DBB6EC3D7D9E1BB6FBB70BB71BB72BB73BB74C0E0F4CCD7D1BB75BB76BB77BB78BB79BB7ABB7BBB7CBB7DBB7EBB80B7DBBB81BB82BB83BB84BB85BB86BB87F4CEC1A3BB88BB89C6C9BB8AB4D6D5B3BB8BBB8CBB8DF4D0F4CFF4D1CBDABB8EBB8FF4D2BB90D4C1D6E0BB91BB92BB93BB94B7E0BB95BB96BB97C1B8BB98BB99C1BBF4D3BEACBB9ABB9BBB9CBB9DBB9EB4E2BB9FBBA0F4D4F4D5BEABBC40BC41F4D6BC42BC43BC44F4DBBC45F4D7F4DABC46BAFDBC47F4D8F4D9BC48BC49BC4ABC4BBC4CBC4DBC4EB8E2CCC7F4DCBC4FB2DABC50BC51C3D3BC52BC53D4E3BFB7BC54BC55BC56BC57BC58BC59BC5AF4DDBC5BBC5CBC5DBC5EBC5FBC60C5B4BC61BC62BC63BC64BC65BC66BC67BC68F4E9BC69BC6ACFB5BC6BBC6CBC6DBC6EBC6FBC70BC71BC72BC73BC74BC75BC76BC77BC78CEC9BC79BC7ABC7BBC7CBC7DBC7EBC80BC81BC82BC83BC84BC85BC86BC87BC88BC89BC8ABC8BBC8CBC8DBC8ECBD8BC8FCBF7BC90BC91BC92BC93BDF4BC94BC95BC96D7CFBC97BC98BC99C0DBBC9ABC9BBC9CBC9DBC9EBC9FBCA0BD40BD41BD42BD43BD44BD45BD46BD47BD48BD49BD4ABD4BBD4CBD4DBD4EBD4FBD50BD51BD52BD53BD54BD55BD56BD57BD58BD59BD5ABD5BBD5CBD5DBD5EBD5FBD60BD61BD62BD63BD64BD65BD66BD67BD68BD69BD6ABD6BBD6CBD6DBD6EBD6FBD70BD71BD72BD73BD74BD75BD76D0F5BD77BD78BD79BD7ABD7BBD7CBD7DBD7EF4EABD80BD81BD82BD83BD84BD85BD86BD87BD88BD89BD8ABD8BBD8CBD8DBD8EBD8FBD90BD91BD92BD93BD94BD95BD96BD97BD98BD99BD9ABD9BBD9CBD9DBD9EBD9FBDA0BE40BE41BE42BE43BE44BE45BE46BE47BE48BE49BE4ABE4BBE4CF4EBBE4DBE4EBE4FBE50BE51BE52BE53F4ECBE54BE55BE56BE57BE58BE59BE5ABE5BBE5CBE5DBE5EBE5FBE60BE61BE62BE63BE64BE65BE66BE67BE68BE69BE6ABE6BBE6CBE6DBE6EBE6FBE70BE71BE72BE73BE74BE75BE76BE77BE78BE79BE7ABE7BBE7CBE7DBE7EBE80BE81BE82BE83BE84BE85BE86BE87BE88BE89BE8ABE8BBE8CBE8DBE8EBE8FBE90BE91BE92BE93BE94BE95BE96BE97BE98BE99BE9ABE9BBE9CBE9DBE9EBE9FBEA0BF40BF41BF42BF43BF44BF45BF46BF47BF48BF49BF4ABF4BBF4CBF4DBF4EBF4FBF50BF51BF52BF53BF54BF55BF56BF57BF58BF59BF5ABF5BBF5CBF5DBF5EBF5FBF60BF61BF62BF63BF64BF65BF66BF67BF68BF69BF6ABF6BBF6CBF6DBF6EBF6FBF70BF71BF72BF73BF74BF75BF76BF77BF78BF79BF7ABF7BBF7CBF7DBF7EBF80F7E3BF81BF82BF83BF84BF85B7B1BF86BF87BF88BF89BF8AF4EDBF8BBF8CBF8DBF8EBF8FBF90BF91BF92BF93BF94BF95BF96BF97BF98BF99BF9ABF9BBF9CBF9DBF9EBF9FBFA0C040C041C042C043C044C045C046C047C048C049C04AC04BC04CC04DC04EC04FC050C051C052C053C054C055C056C057C058C059C05AC05BC05CC05DC05EC05FC060C061C062C063D7EBC064C065C066C067C068C069C06AC06BC06CC06DC06EC06FC070C071C072C073C074C075C076C077C078C079C07AC07BF4EEC07CC07DC07EE6F9BEC0E6FABAECE6FBCFCBE6FCD4BCBCB6E6FDE6FEBCCDC8D2CEB3E7A1C080B4BFE7A2C9B4B8D9C4C9C081D7DDC2DAB7D7D6BDCEC6B7C4C082C083C5A6E7A3CFDFE7A4E7A5E7A6C1B7D7E9C9F0CFB8D6AFD6D5E7A7B0EDE7A8E7A9C9DCD2EFBEADE7AAB0F3C8DEBDE1E7ABC8C6C084E7ACBBE6B8F8D1A4E7ADC2E7BEF8BDCACDB3E7AEE7AFBEEED0E5C085CBE7CCD0BCCCE7B0BCA8D0F7E7B1C086D0F8E7B2E7B3B4C2E7B4E7B5C9FECEACC3E0E7B7B1C1B3F1C087E7B8E7B9D7DBD5C0E7BAC2CCD7BAE7BBE7BCE7BDBCEAC3E5C0C2E7BEE7BFBCA9C088E7C0E7C1E7B6B6D0E7C2C089E7C3E7C4BBBAB5DEC2C6B1E0E7C5D4B5E7C6B8BFE7C8E7C7B7ECC08AE7C9B2F8E7CAE7CBE7CCE7CDE7CEE7CFE7D0D3A7CBF5E7D1E7D2E7D3E7D4C9C9E7D5E7D6E7D7E7D8E7D9BDC9E7DAF3BEC08BB8D7C08CC8B1C08DC08EC08FC090C091C092C093F3BFC094F3C0F3C1C095C096C097C098C099C09AC09BC09CC09DC09EB9DECDF8C09FC0A0D8E8BAB1C140C2DEEEB7C141B7A3C142C143C144C145EEB9C146EEB8B0D5C147C148C149C14AC14BEEBBD5D6D7EFC14CC14DC14ED6C3C14FC150EEBDCAF0C151EEBCC152C153C154C155EEBEC156C157C158C159EEC0C15AC15BEEBFC15CC15DC15EC15FC160C161C162C163D1F2C164C7BCC165C3C0C166C167C168C169C16AB8E1C16BC16CC16DC16EC16FC1E7C170C171F4C6D0DFF4C7C172CFDBC173C174C8BAC175C176F4C8C177C178C179C17AC17BC17CC17DF4C9F4CAC17EF4CBC180C181C182C183C184D9FAB8FEC185C186E5F1D3F0C187F4E0C188CECCC189C18AC18BB3E1C18CC18DC18EC18FF1B4C190D2EEC191F4E1C192C193C194C195C196CFE8F4E2C197C198C7CCC199C19AC19BC19CC19DC19EB5D4B4E4F4E4C19FC1A0C240F4E3F4E5C241C242F4E6C243C244C245C246F4E7C247BAB2B0BFC248F4E8C249C24AC24BC24CC24DC24EC24FB7ADD2EDC250C251C252D2ABC0CFC253BFBCEBA3D5DFEAC8C254C255C256C257F1F3B6F8CBA3C258C259C4CDC25AF1E7C25BF1E8B8FBF1E9BAC4D4C5B0D2C25CC25DF1EAC25EC25FC260F1EBC261F1ECC262C263F1EDF1EEF1EFF1F1F1F0C5D5C264C265C266C267C268C269F1F2C26AB6FAC26BF1F4D2AEDEC7CBCAC26CC26DB3DCC26EB5A2C26FB9A2C270C271C4F4F1F5C272C273F1F6C274C275C276C1C4C1FBD6B0F1F7C277C278C279C27AF1F8C27BC1AAC27CC27DC27EC6B8C280BEDBC281C282C283C284C285C286C287C288C289C28AC28BC28CC28DC28EF1F9B4CFC28FC290C291C292C293C294F1FAC295C296C297C298C299C29AC29BC29CC29DC29EC29FC2A0C340EDB2EDB1C341C342CBE0D2DEC343CBC1D5D8C344C8E2C345C0DFBCA1C346C347C348C349C34AC34BEBC1C34CC34DD0A4C34ED6E2C34FB6C7B8D8EBC0B8CEC350EBBFB3A6B9C9D6ABC351B7F4B7CAC352C353C354BCE7B7BEEBC6C355EBC7B0B9BFCFC356EBC5D3FDC357EBC8C358C359EBC9C35AC35BB7CEC35CEBC2EBC4C9F6D6D7D5CDD0B2EBCFCEB8EBD0C35DB5A8C35EC35FC360C361C362B1B3EBD2CCA5C363C364C365C366C367C368C369C5D6EBD3C36AEBD1C5DFEBCECAA4EBD5B0FBC36BC36CBAFAC36DC36ED8B7F1E3C36FEBCAEBCBEBCCEBCDEBD6E6C0EBD9C370BFE8D2C8EBD7EBDCB8ECEBD8C371BDBAC372D0D8C373B0B7C374EBDDC4DCC375C376C377C378D6ACC379C37AC37BB4E0C37CC37DC2F6BCB9C37EC380EBDAEBDBD4E0C6EAC4D4EBDFC5A7D9F5C381B2B1C382EBE4C383BDC5C384C385C386EBE2C387C388C389C38AC38BC38CC38DC38EC38FC390C391C392C393EBE3C394C395B8ACC396CDD1EBE5C397C398C399EBE1C39AC1B3C39BC39CC39DC39EC39FC6A2C3A0C440C441C442C443C444C445CCF3C446EBE6C447C0B0D2B8EBE7C448C449C44AB8AFB8ADC44BEBE8C7BBCDF3C44CC44DC44EEBEAEBEBC44FC450C451C452C453EBEDC454C455C456C457D0C8C458EBF2C459EBEEC45AC45BC45CEBF1C8F9C45DD1FCEBECC45EC45FEBE9C460C461C462C463B8B9CFD9C4E5EBEFEBF0CCDACDC8B0F2C464EBF6C465C466C467C468C469EBF5C46AB2B2C46BC46CC46DC46EB8E0C46FEBF7C470C471C472C473C474C475B1ECC476C477CCC5C4A4CFA5C478C479C47AC47BC47CEBF9C47DC47EECA2C480C5F2C481EBFAC482C483C484C485C486C487C488C489C9C5C48AC48BC48CC48DC48EC48FE2DFEBFEC490C491C492C493CDCEECA1B1DBD3B7C494C495D2DCC496C497C498EBFDC499EBFBC49AC49BC49CC49DC49EC49FC4A0C540C541C542C543C544C545C546C547C548C549C54AC54BC54CC54DC54EB3BCC54FC550C551EAB0C552C553D7D4C554F4ABB3F4C555C556C557C558C559D6C1D6C2C55AC55BC55CC55DC55EC55FD5E9BECAC560F4A7C561D2A8F4A8F4A9C562F4AABECBD3DFC563C564C565C566C567C9E0C9E1C568C569F3C2C56ACAE6C56BCCF2C56CC56DC56EC56FC570C571E2B6CBB4C572CEE8D6DBC573F4ADF4AEF4AFC574C575C576C577F4B2C578BABDF4B3B0E3F4B0C579F4B1BDA2B2D5C57AF4B6F4B7B6E6B2B0CFCFF4B4B4ACC57BF4B5C57CC57DF4B8C57EC580C581C582C583F4B9C584C585CDA7C586F4BAC587F4BBC588C589C58AF4BCC58BC58CC58DC58EC58FC590C591C592CBD2C593F4BDC594C595C596C597F4BEC598C599C59AC59BC59CC59DC59EC59FF4BFC5A0C640C641C642C643F4DEC1BCBCE8C644C9ABD1DEE5F5C645C646C647C648DCB3D2D5C649C64ADCB4B0ACDCB5C64BC64CBDDAC64DDCB9C64EC64FC650D8C2C651DCB7D3F3C652C9D6DCBADCB6C653DCBBC3A2C654C655C656C657DCBCDCC5DCBDC658C659CEDFD6A5C65ADCCFC65BDCCDC65CC65DDCD2BDE6C2ABC65EDCB8DCCBDCCEDCBEB7D2B0C5DCC7D0BEDCC1BBA8C65FB7BCDCCCC660C661DCC6DCBFC7DBC662C663C664D1BFDCC0C665C666DCCAC667C668DCD0C669C66ACEADDCC2C66BDCC3DCC8DCC9B2D4DCD1CBD5C66CD4B7DCDBDCDFCCA6DCE6C66DC3E7DCDCC66EC66FBFC1DCD9C670B0FAB9B6DCE5DCD3C671DCC4DCD6C8F4BFE0C672C673C674C675C9BBC676C677C678B1BDC679D3A2C67AC67BDCDAC67CC67DDCD5C67EC6BBC680DCDEC681C682C683C684C685D7C2C3AFB7B6C7D1C3A9DCE2DCD8DCEBDCD4C686C687DCDDC688BEA5DCD7C689DCE0C68AC68BDCE3DCE4C68CDCF8C68DC68EDCE1DDA2DCE7C68FC690C691C692C693C694C695C696C697C698BCEBB4C4C699C69AC3A3B2E7DCFAC69BDCF2C69CDCEFC69DDCFCDCEED2F0B2E8C69EC8D7C8E3DCFBC69FDCEDC6A0C740C741DCF7C742C743DCF5C744C745BEA3DCF4C746B2DDC747C748C749C74AC74BDCF3BCF6DCE8BBC4C74CC0F3C74DC74EC74FC750C751BCD4DCE9DCEAC752DCF1DCF6DCF9B5B4C753C8D9BBE7DCFEDCFDD3ABDDA1DDA3DDA5D2F1DDA4DDA6DDA7D2A9C754C755C756C757C758C759C75ABAC9DDA9C75BC75CDDB6DDB1DDB4C75DC75EC75FC760C761C762C763DDB0C6CEC764C765C0F2C766C767C768C769C9AFC76AC76BC76CDCECDDAEC76DC76EC76FC770DDB7C771C772DCF0DDAFC773DDB8C774DDACC775C776C777C778C779C77AC77BDDB9DDB3DDADC4AAC77CC77DC77EC780DDA8C0B3C1ABDDAADDABC781DDB2BBF1DDB5D3A8DDBAC782DDBBC3A7C783C784DDD2DDBCC785C786C787DDD1C788B9BDC789C78ABED5C78BBEFAC78CC78DBACAC78EC78FC790C791DDCAC792DDC5C793DDBFC794C795C796B2CBDDC3C797DDCBB2A4DDD5C798C799C79ADDBEC79BC79CC79DC6D0DDD0C79EC79FC7A0C840C841DDD4C1E2B7C6C842C843C844C845C846DDCEDDCFC847C848C849DDC4C84AC84BC84CDDBDC84DDDCDCCD1C84EDDC9C84FC850C851C852DDC2C3C8C6BCCEAEDDCCC853DDC8C854C855C856C857C858C859DDC1C85AC85BC85CDDC6C2DCC85DC85EC85FC860C861C862D3A9D3AADDD3CFF4C8F8C863C864C865C866C867C868C869C86ADDE6C86BC86CC86DC86EC86FC870DDC7C871C872C873DDE0C2E4C874C875C876C877C878C879C87AC87BDDE1C87CC87DC87EC880C881C882C883C884C885C886DDD7C887C888C889C88AC88BD6F8C88CDDD9DDD8B8F0DDD6C88DC88EC88FC890C6CFC891B6ADC892C893C894C895C896DDE2C897BAF9D4E1DDE7C898C899C89AB4D0C89BDDDAC89CBFFBDDE3C89DDDDFC89EDDDDC89FC8A0C940C941C942C943C944B5D9C945C946C947C948DDDBDDDCDDDEC949BDAFDDE4C94ADDE5C94BC94CC94DC94EC94FC950C951C952DDF5C953C3C9C954C955CBE2C956C957C958C959DDF2C95AC95BC95CC95DC95EC95FC960C961C962C963C964C965C966D8E1C967C968C6D1C969DDF4C96AC96BC96CD5F4DDF3DDF0C96DC96EDDECC96FDDEFC970DDE8C971C972D0EEC973C974C975C976C8D8DDEEC977C978DDE9C979C97ADDEACBF2C97BDDEDC97CC97DB1CDC97EC980C981C982C983C984C0B6C985BCBBDDF1C986C987DDF7C988DDF6DDEBC989C98AC98BC98CC98DC5EEC98EC98FC990DDFBC991C992C993C994C995C996C997C998C999C99AC99BDEA4C99CC99DDEA3C99EC99FC9A0CA40CA41CA42CA43CA44CA45CA46CA47CA48DDF8CA49CA4ACA4BCA4CC3EFCA4DC2FBCA4ECA4FCA50D5E1CA51CA52CEB5CA53CA54CA55CA56DDFDCA57B2CCCA58CA59CA5ACA5BCA5CCA5DCA5ECA5FCA60C4E8CADFCA61CA62CA63CA64CA65CA66CA67CA68CA69CA6AC7BEDDFADDFCDDFEDEA2B0AAB1CECA6BCA6CCA6DCA6ECA6FDEACCA70CA71CA72CA73DEA6BDB6C8EFCA74CA75CA76CA77CA78CA79CA7ACA7BCA7CCA7DCA7EDEA1CA80CA81DEA5CA82CA83CA84CA85DEA9CA86CA87CA88CA89CA8ADEA8CA8BCA8CCA8DDEA7CA8ECA8FCA90CA91CA92CA93CA94CA95CA96DEADCA97D4CCCA98CA99CA9ACA9BDEB3DEAADEAECA9CCA9DC0D9CA9ECA9FCAA0CB40CB41B1A1DEB6CB42DEB1CB43CB44CB45CB46CB47CB48CB49DEB2CB4ACB4BCB4CCB4DCB4ECB4FCB50CB51CB52CB53CB54D1A6DEB5CB55CB56CB57CB58CB59CB5ACB5BDEAFCB5CCB5DCB5EDEB0CB5FD0BDCB60CB61CB62DEB4CAEDDEB9CB63CB64CB65CB66CB67CB68DEB8CB69DEB7CB6ACB6BCB6CCB6DCB6ECB6FCB70DEBBCB71CB72CB73CB74CB75CB76CB77BDE5CB78CB79CB7ACB7BCB7CB2D8C3EACB7DCB7EDEBACB80C5BACB81CB82CB83CB84CB85CB86DEBCCB87CB88CB89CB8ACB8BCB8CCB8DCCD9CB8ECB8FCB90CB91B7AACB92CB93CB94CB95CB96CB97CB98CB99CB9ACB9BCB9CCB9DCB9ECB9FCBA0CC40CC41D4E5CC42CC43CC44DEBDCC45CC46CC47CC48CC49DEBFCC4ACC4BCC4CCC4DCC4ECC4FCC50CC51CC52CC53CC54C4A2CC55CC56CC57CC58DEC1CC59CC5ACC5BCC5CCC5DCC5ECC5FCC60CC61CC62CC63CC64CC65CC66CC67CC68DEBECC69DEC0CC6ACC6BCC6CCC6DCC6ECC6FCC70CC71CC72CC73CC74CC75CC76CC77D5BACC78CC79CC7ADEC2CC7BCC7CCC7DCC7ECC80CC81CC82CC83CC84CC85CC86CC87CC88CC89CC8ACC8BF2AEBBA2C2B2C5B0C2C7CC8CCC8DF2AFCC8ECC8FCC90CC91CC92D0E9CC93CC94CC95D3DDCC96CC97CC98EBBDCC99CC9ACC9BCC9CCC9DCC9ECC9FCCA0B3E6F2B0CD40F2B1CD41CD42CAADCD43CD44CD45CD46CD47CD48CD49BAE7F2B3F2B5F2B4CBE4CFBAF2B2CAB4D2CFC2ECCD4ACD4BCD4CCD4DCD4ECD4FCD50CEC3F2B8B0F6F2B7CD51CD52CD53CD54CD55F2BECD56B2CFCD57CD58CD59CD5ACD5BCD5CD1C1F2BACD5DCD5ECD5FCD60CD61F2BCD4E9CD62CD63F2BBF2B6F2BFF2BDCD64F2B9CD65CD66F2C7F2C4F2C6CD67CD68F2CAF2C2F2C0CD69CD6ACD6BF2C5CD6CCD6DCD6ECD6FCD70D6FBCD71CD72CD73F2C1CD74C7F9C9DFCD75F2C8B9C6B5B0CD76CD77F2C3F2C9F2D0F2D6CD78CD79BBD7CD7ACD7BCD7CF2D5CDDCCD7DD6EBCD7ECD80F2D2F2D4CD81CD82CD83CD84B8F2CD85CD86CD87CD88F2CBCD89CD8ACD8BF2CEC2F9CD8CD5DDF2CCF2CDF2CFF2D3CD8DCD8ECD8FF2D9D3BCCD90CD91CD92CD93B6EACD94CAF1CD95B7E4F2D7CD96CD97CD98F2D8F2DAF2DDF2DBCD99CD9AF2DCCD9BCD9CCD9DCD9ED1D1F2D1CD9FCDC9CDA0CECFD6A9CE40F2E3CE41C3DBCE42F2E0CE43CE44C0AFF2ECF2DECE45F2E1CE46CE47CE48F2E8CE49CE4ACE4BCE4CF2E2CE4DCE4EF2E7CE4FCE50F2E6CE51CE52F2E9CE53CE54CE55F2DFCE56CE57F2E4F2EACE58CE59CE5ACE5BCE5CCE5DCE5ED3ACF2E5B2F5CE5FCE60F2F2CE61D0ABCE62CE63CE64CE65F2F5CE66CE67CE68BBC8CE69F2F9CE6ACE6BCE6CCE6DCE6ECE6FF2F0CE70CE71F2F6F2F8F2FACE72CE73CE74CE75CE76CE77CE78CE79F2F3CE7AF2F1CE7BCE7CCE7DBAFBCE7EB5FBCE80CE81CE82CE83F2EFF2F7F2EDF2EECE84CE85CE86F2EBF3A6CE87F3A3CE88CE89F3A2CE8ACE8BF2F4CE8CC8DACE8DCE8ECE8FCE90CE91F2FBCE92CE93CE94F3A5CE95CE96CE97CE98CE99CE9ACE9BC3F8CE9CCE9DCE9ECE9FCEA0CF40CF41CF42F2FDCF43CF44F3A7F3A9F3A4CF45F2FCCF46CF47CF48F3ABCF49F3AACF4ACF4BCF4CCF4DC2DDCF4ECF4FF3AECF50CF51F3B0CF52CF53CF54CF55CF56F3A1CF57CF58CF59F3B1F3ACCF5ACF5BCF5CCF5DCF5EF3AFF2FEF3ADCF5FCF60CF61CF62CF63CF64CF65F3B2CF66CF67CF68CF69F3B4CF6ACF6BCF6CCF6DF3A8CF6ECF6FCF70CF71F3B3CF72CF73CF74F3B5CF75CF76CF77CF78CF79CF7ACF7BCF7CCF7DCF7ED0B7CF80CF81CF82CF83F3B8CF84CF85CF86CF87D9F9CF88CF89CF8ACF8BCF8CCF8DF3B9CF8ECF8FCF90CF91CF92CF93CF94CF95F3B7CF96C8E4F3B6CF97CF98CF99CF9AF3BACF9BCF9CCF9DCF9ECF9FF3BBB4C0CFA0D040D041D042D043D044D045D046D047D048D049D04AD04BD04CD04DEEC3D04ED04FD050D051D052D053F3BCD054D055F3BDD056D057D058D1AAD059D05AD05BF4ACD0C6D05CD05DD05ED05FD060D061D0D0D1DCD062D063D064D065D066D067CFCED068D069BDD6D06AD1C3D06BD06CD06DD06ED06FD070D071BAE2E1E9D2C2F1C2B2B9D072D073B1EDF1C3D074C9C0B3C4D075D9F2D076CBA5D077F1C4D078D079D07AD07BD6D4D07CD07DD07ED080D081F1C5F4C0F1C6D082D4ACF1C7D083B0C0F4C1D084D085F4C2D086D087B4FCD088C5DBD089D08AD08BD08CCCBBD08DD08ED08FD0E4D090D091D092D093D094CDE0D095D096D097D098D099F1C8D09AD9F3D09BD09CD09DD09ED09FD0A0B1BBD140CFAED141D142D143B8A4D144D145D146D147D148F1CAD149D14AD14BD14CF1CBD14DD14ED14FD150B2C3C1D1D151D152D7B0F1C9D153D154F1CCD155D156D157D158F1CED159D15AD15BD9F6D15CD2E1D4A3D15DD15EF4C3C8B9D15FD160D161D162D163F4C4D164D165F1CDF1CFBFE3F1D0D166D167F1D4D168D169D16AD16BD16CD16DD16EF1D6F1D1D16FC9D1C5E1D170D171D172C2E3B9FCD173D174F1D3D175F1D5D176D177D178B9D3D179D17AD17BD17CD17DD17ED180F1DBD181D182D183D184D185BAD6D186B0FDF1D9D187D188D189D18AD18BF1D8F1D2F1DAD18CD18DD18ED18FD190F1D7D191D192D193C8ECD194D195D196D197CDCAF1DDD198D199D19AD19BE5BDD19CD19DD19EF1DCD19FF1DED1A0D240D241D242D243D244D245D246D247D248F1DFD249D24ACFE5D24BD24CD24DD24ED24FD250D251D252D253D254D255D256D257D258D259D25AD25BD25CD25DD25ED25FD260D261D262D263F4C5BDF3D264D265D266D267D268D269F1E0D26AD26BD26CD26DD26ED26FD270D271D272D273D274D275D276D277D278D279D27AD27BD27CD27DF1E1D27ED280D281CEF7D282D2AAD283F1FBD284D285B8B2D286D287D288D289D28AD28BD28CD28DD28ED28FD290D291D292D293D294D295D296D297D298D299D29AD29BD29CD29DD29ED29FD2A0D340D341D342D343D344D345D346D347D348D349D34AD34BD34CD34DD34ED34FD350D351D352D353D354D355D356D357D358D359D35AD35BD35CD35DD35EBCFBB9DBD35FB9E6C3D9CAD3EAE8C0C0BEF5EAE9EAEAEAEBD360EAECEAEDEAEEEAEFBDC7D361D362D363F5FBD364D365D366F5FDD367F5FED368F5FCD369D36AD36BD36CBDE2D36DF6A1B4A5D36ED36FD370D371F6A2D372D373D374F6A3D375D376D377ECB2D378D379D37AD37BD37CD37DD37ED380D381D382D383D384D1D4D385D386D387D388D389D38AD9EAD38BD38CD38DD38ED38FD390D391D392D393D394D395D396D397D398D399D39AD39BD39CD39DD39ED39FD3A0D440D441D442D443D444D445D446D447D448D449D44AD44BD44CD44DD44ED44FD450D451D452D453D454D455D456D457D458D459D45AD45BD45CD45DD45ED45FF6A4D460D461D462D463D464D465D466D467D468EEBAD469D46AD46BD46CD46DD46ED46FD470D471D472D473D474D475D476D477D478D479D47AD47BD47CD47DD47ED480D481D482D483D484D485D486D487D488D489D48AD48BD48CD48DD48ED48FD490D491D492D493D494D495D496D497D498D499D5B2D49AD49BD49CD49DD49ED49FD4A0D540D541D542D543D544D545D546D547D3FECCDCD548D549D54AD54BD54CD54DD54ED54FCAC4D550D551D552D553D554D555D556D557D558D559D55AD55BD55CD55DD55ED55FD560D561D562D563D564D565D566D567D568D569D56AD56BD56CD56DD56ED56FD570D571D572D573D574D575D576D577D578D579D57AD57BD57CD57DD57ED580D581D582D583D584D585D586D587D588D589D58AD58BD58CD58DD58ED58FD590D591D592D593D594D595D596D597D598D599D59AD59BD59CD59DD59ED59FD5A0D640D641D642D643D644D645D646D647D648D649D64AD64BD64CD64DD64ED64FD650D651D652D653D654D655D656D657D658D659D65AD65BD65CD65DD65ED65FD660D661D662E5C0D663D664D665D666D667D668D669D66AD66BD66CD66DD66ED66FD670D671D672D673D674D675D676D677D678D679D67AD67BD67CD67DD67ED680D681F6A5D682D683D684D685D686D687D688D689D68AD68BD68CD68DD68ED68FD690D691D692D693D694D695D696D697D698D699D69AD69BD69CD69DD69ED69FD6A0D740D741D742D743D744D745D746D747D748D749D74AD74BD74CD74DD74ED74FD750D751D752D753D754D755D756D757D758D759D75AD75BD75CD75DD75ED75FBEAFD760D761D762D763D764C6A9D765D766D767D768D769D76AD76BD76CD76DD76ED76FD770D771D772D773D774D775D776D777D778D779D77AD77BD77CD77DD77ED780D781D782D783D784D785D786D787D788D789D78AD78BD78CD78DD78ED78FD790D791D792D793D794D795D796D797D798DAA5BCC6B6A9B8BCC8CFBCA5DAA6DAA7CCD6C8C3DAA8C6FDD799D1B5D2E9D1B6BCC7D79ABDB2BBE4DAA9DAAAD1C8DAABD0EDB6EFC2DBD79BCBCFB7EDC9E8B7C3BEF7D6A4DAACDAADC6C0D7E7CAB6D79CD5A9CBDFD5EFDAAED6DFB4CADAB0DAAFD79DD2EBDAB1DAB2DAB3CAD4DAB4CAABDAB5DAB6B3CFD6EFDAB7BBB0B5AEDAB8DAB9B9EED1AFD2E8DABAB8C3CFEAB2EFDABBDABCD79EBDEBCEDCD3EFDABDCEF3DABED3D5BBE5DABFCBB5CBD0DAC0C7EBD6EEDAC1C5B5B6C1DAC2B7CCBFCEDAC3DAC4CBADDAC5B5F7DAC6C1C2D7BBDAC7CCB8D79FD2EAC4B1DAC8B5FDBBD1DAC9D0B3DACADACBCEBDDACCDACDDACEB2F7DAD1DACFD1E8DAD0C3D5DAD2D7A0DAD3DAD4DAD5D0BBD2A5B0F9DAD6C7ABDAD7BDF7C3A1DAD8DAD9C3FDCCB7DADADADBC0BEC6D7DADCDADDC7B4DADEDADFB9C8D840D841D842D843D844D845D846D847D848BBEDD849D84AD84BD84CB6B9F4F8D84DF4F9D84ED84FCDE3D850D851D852D853D854D855D856D857F5B9D858D859D85AD85BEBE0D85CD85DD85ED85FD860D861CFF3BBBFD862D863D864D865D866D867D868BAC0D4A5D869D86AD86BD86CD86DD86ED86FE1D9D870D871D872D873F5F4B1AAB2F2D874D875D876D877D878D879D87AF5F5D87BD87CF5F7D87DD87ED880BAD1F5F6D881C3B2D882D883D884D885D886D887D888F5F9D889D88AD88BF5F8D88CD88DD88ED88FD890D891D892D893D894D895D896D897D898D899D89AD89BD89CD89DD89ED89FD8A0D940D941D942D943D944D945D946D947D948D949D94AD94BD94CD94DD94ED94FD950D951D952D953D954D955D956D957D958D959D95AD95BD95CD95DD95ED95FD960D961D962D963D964D965D966D967D968D969D96AD96BD96CD96DD96ED96FD970D971D972D973D974D975D976D977D978D979D97AD97BD97CD97DD97ED980D981D982D983D984D985D986D987D988D989D98AD98BD98CD98DD98ED98FD990D991D992D993D994D995D996D997D998D999D99AD99BD99CD99DD99ED99FD9A0DA40DA41DA42DA43DA44DA45DA46DA47DA48DA49DA4ADA4BDA4CDA4DDA4EB1B4D5EAB8BADA4FB9B1B2C6D4F0CFCDB0DCD5CBBBF5D6CAB7B7CCB0C6B6B1E1B9BAD6FCB9E1B7A1BCFAEADAEADBCCF9B9F3EADCB4FBC3B3B7D1BAD8EADDD4F4EADEBCD6BBDFEADFC1DEC2B8D4DFD7CAEAE0EAE1EAE4EAE2EAE3C9DEB8B3B6C4EAE5CAEAC9CDB4CDDA50DA51E2D9C5E2EAE6C0B5DA52D7B8EAE7D7ACC8FCD8D3D8CDD4DEDA53D4F9C9C4D3AEB8D3B3E0DA54C9E2F4F6DA55DA56DA57BAD5DA58F4F7DA59DA5AD7DFDA5BDA5CF4F1B8B0D5D4B8CFC6F0DA5DDA5EDA5FDA60DA61DA62DA63DA64DA65B3C3DA66DA67F4F2B3ACDA68DA69DA6ADA6BD4BDC7F7DA6CDA6DDA6EDA6FDA70F4F4DA71DA72F4F3DA73DA74DA75DA76DA77DA78DA79DA7ADA7BDA7CCCCBDA7DDA7EDA80C8A4DA81DA82DA83DA84DA85DA86DA87DA88DA89DA8ADA8BDA8CDA8DF4F5DA8ED7E3C5BFF5C0DA8FDA90F5BBDA91F5C3DA92F5C2DA93D6BAF5C1DA94DA95DA96D4BEF5C4DA97F5CCDA98DA99DA9ADA9BB0CFB5F8DA9CF5C9F5CADA9DC5DCDA9EDA9FDAA0DB40F5C5F5C6DB41DB42F5C7F5CBDB43BEE0F5C8B8FADB44DB45DB46F5D0F5D3DB47DB48DB49BFE7DB4AB9F2F5BCF5CDDB4BDB4CC2B7DB4DDB4EDB4FCCF8DB50BCF9DB51F5CEF5CFF5D1B6E5F5D2DB52F5D5DB53DB54DB55DB56DB57DB58DB59F5BDDB5ADB5BDB5CF5D4D3BBDB5DB3ECDB5EDB5FCCA4DB60DB61DB62DB63F5D6DB64DB65DB66DB67DB68DB69DB6ADB6BF5D7BEE1F5D8DB6CDB6DCCDFF5DBDB6EDB6FDB70DB71DB72B2C8D7D9DB73F5D9DB74F5DAF5DCDB75F5E2DB76DB77DB78F5E0DB79DB7ADB7BF5DFF5DDDB7CDB7DF5E1DB7EDB80F5DEF5E4F5E5DB81CCE3DB82DB83E5BFB5B8F5E3F5E8CCA3DB84DB85DB86DB87DB88F5E6F5E7DB89DB8ADB8BDB8CDB8DDB8EF5BEDB8FDB90DB91DB92DB93DB94DB95DB96DB97DB98DB99DB9AB1C4DB9BDB9CF5BFDB9DDB9EB5C5B2E4DB9FF5ECF5E9DBA0B6D7DC40F5EDDC41F5EADC42DC43DC44DC45DC46F5EBDC47DC48B4DADC49D4EADC4ADC4BDC4CF5EEDC4DB3F9DC4EDC4FDC50DC51DC52DC53DC54F5EFF5F1DC55DC56DC57F5F0DC58DC59DC5ADC5BDC5CDC5DDC5EF5F2DC5FF5F3DC60DC61DC62DC63DC64DC65DC66DC67DC68DC69DC6ADC6BC9EDB9AADC6CDC6DC7FBDC6EDC6FB6E3DC70DC71DC72DC73DC74DC75DC76CCC9DC77DC78DC79DC7ADC7BDC7CDC7DDC7EDC80DC81DC82DC83DC84DC85DC86DC87DC88DC89DC8AEAA6DC8BDC8CDC8DDC8EDC8FDC90DC91DC92DC93DC94DC95DC96DC97DC98DC99DC9ADC9BDC9CDC9DDC9EDC9FDCA0DD40DD41DD42DD43DD44DD45DD46DD47DD48DD49DD4ADD4BDD4CDD4DDD4EDD4FDD50DD51DD52DD53DD54DD55DD56DD57DD58DD59DD5ADD5BDD5CDD5DDD5EDD5FDD60DD61DD62DD63DD64DD65DD66DD67DD68DD69DD6ADD6BDD6CDD6DDD6EDD6FDD70DD71DD72DD73DD74DD75DD76DD77DD78DD79DD7ADD7BDD7CDD7DDD7EDD80DD81DD82DD83DD84DD85DD86DD87DD88DD89DD8ADD8BDD8CDD8DDD8EDD8FDD90DD91DD92DD93DD94DD95DD96DD97DD98DD99DD9ADD9BDD9CDD9DDD9EDD9FDDA0DE40DE41DE42DE43DE44DE45DE46DE47DE48DE49DE4ADE4BDE4CDE4DDE4EDE4FDE50DE51DE52DE53DE54DE55DE56DE57DE58DE59DE5ADE5BDE5CDE5DDE5EDE5FDE60B3B5D4FEB9ECD0F9DE61E9EDD7AAE9EEC2D6C8EDBAE4E9EFE9F0E9F1D6E1E9F2E9F3E9F5E9F4E9F6E9F7C7E1E9F8D4D8E9F9BDCEDE62E9FAE9FBBDCFE9FCB8A8C1BEE9FDB1B2BBD4B9F5E9FEDE63EAA1EAA2EAA3B7F8BCADDE64CAE4E0CED4AFCFBDD5B7EAA4D5DEEAA5D0C1B9BCDE65B4C7B1D9DE66DE67DE68C0B1DE69DE6ADE6BDE6CB1E6B1E7DE6DB1E8DE6EDE6FDE70DE71B3BDC8E8DE72DE73DE74DE75E5C1DE76DE77B1DFDE78DE79DE7AC1C9B4EFDE7BDE7CC7A8D3D8DE7DC6F9D1B8DE7EB9FDC2F5DE80DE81DE82DE83DE84D3ADDE85D4CBBDFCDE86E5C2B7B5E5C3DE87DE88BBB9D5E2DE89BDF8D4B6CEA5C1ACB3D9DE8ADE8BCCF6DE8CE5C6E5C4E5C8DE8DE5CAE5C7B5CFC6C8DE8EB5FCE5C5DE8FCAF6DE90DE91E5C9DE92DE93DE94C3D4B1C5BCA3DE95DE96DE97D7B7DE98DE99CDCBCBCDCACACCD3E5CCE5CBC4E6DE9ADE9BD1A1D1B7E5CDDE9CE5D0DE9DCDB8D6F0E5CFB5DDDE9ECDBEDE9FE5D1B6BADEA0DF40CDA8B9E4DF41CAC5B3D1CBD9D4ECE5D2B7EADF42DF43DF44E5CEDF45DF46DF47DF48DF49DF4AE5D5B4FEE5D6DF4BDF4CDF4DDF4EDF4FE5D3E5D4DF50D2DDDF51DF52C2DFB1C6DF53D3E2DF54DF55B6DDCBECDF56E5D7DF57DF58D3F6DF59DF5ADF5BDF5CDF5DB1E9DF5EB6F4E5DAE5D8E5D9B5C0DF5FDF60DF61D2C5E5DCDF62DF63E5DEDF64DF65DF66DF67DF68DF69E5DDC7B2DF6AD2A3DF6BDF6CE5DBDF6DDF6EDF6FDF70D4E2D5DADF71DF72DF73DF74DF75E5E0D7F1DF76DF77DF78DF79DF7ADF7BDF7CE5E1DF7DB1DCD1FBDF7EE5E2E5E4DF80DF81DF82DF83E5E3DF84DF85E5E5DF86DF87DF88DF89DF8AD2D8DF8BB5CBDF8CE7DFDF8DDAF5DF8EDAF8DF8FDAF6DF90DAF7DF91DF92DF93DAFAD0CFC4C7DF94DF95B0EEDF96DF97DF98D0B0DF99DAF9DF9AD3CABAAADBA2C7F1DF9BDAFCDAFBC9DBDAFDDF9CDBA1D7DEDAFEC1DADF9DDF9EDBA5DF9FDFA0D3F4E040E041DBA7DBA4E042DBA8E043E044BDBCE045E046E047C0C9DBA3DBA6D6A3E048DBA9E049E04AE04BDBADE04CE04DE04EDBAEDBACBAC2E04FE050E051BFA4DBABE052E053E054DBAAD4C7B2BFE055E056DBAFE057B9F9E058DBB0E059E05AE05BE05CB3BBE05DE05EE05FB5A6E060E061E062E063B6BCDBB1E064E065E066B6F5E067DBB2E068E069E06AE06BE06CE06DE06EE06FE070E071E072E073E074E075E076E077E078E079E07AE07BB1C9E07CE07DE07EE080DBB4E081E082E083DBB3DBB5E084E085E086E087E088E089E08AE08BE08CE08DE08EDBB7E08FDBB6E090E091E092E093E094E095E096DBB8E097E098E099E09AE09BE09CE09DE09EE09FDBB9E0A0E140DBBAE141E142D3CFF4FAC7F5D7C3C5E4F4FCF4FDF4FBE143BEC6E144E145E146E147D0EFE148E149B7D3E14AE14BD4CDCCAAE14CE14DF5A2F5A1BAA8F4FECBD6E14EE14FE150F5A4C0D2E151B3EAE152CDAAF5A5F5A3BDB4F5A8E153F5A9BDCDC3B8BFE1CBE1F5AAE154E155E156F5A6F5A7C4F0E157E158E159E15AE15BF5ACE15CB4BCE15DD7EDE15EB4D7F5ABF5AEE15FE160F5ADF5AFD0D1E161E162E163E164E165E166E167C3D1C8A9E168E169E16AE16BE16CE16DF5B0F5B1E16EE16FE170E171E172E173F5B2E174E175F5B3F5B4F5B5E176E177E178E179F5B7F5B6E17AE17BE17CE17DF5B8E17EE180E181E182E183E184E185E186E187E188E189E18AB2C9E18BD3D4CACDE18CC0EFD6D8D2B0C1BFE18DBDF0E18EE18FE190E191E192E193E194E195E196E197B8AAE198E199E19AE19BE19CE19DE19EE19FE1A0E240E241E242E243E244E245E246E247E248E249E24AE24BE24CE24DE24EE24FE250E251E252E253E254E255E256E257E258E259E25AE25BE25CE25DE25EE25FE260E261E262E263E264E265E266E267E268E269E26AE26BE26CE26DE26EE26FE270E271E272E273E274E275E276E277E278E279E27AE27BE27CE27DE27EE280E281E282E283E284E285E286E287E288E289E28AE28BE28CE28DE28EE28FE290E291E292E293E294E295E296E297E298E299E29AE29BE29CE29DE29EE29FE2A0E340E341E342E343E344E345E346E347E348E349E34AE34BE34CE34DE34EE34FE350E351E352E353E354E355E356E357E358E359E35AE35BE35CE35DE35EE35FE360E361E362E363E364E365E366E367E368E369E36AE36BE36CE36DBCF8E36EE36FE370E371E372E373E374E375E376E377E378E379E37AE37BE37CE37DE37EE380E381E382E383E384E385E386E387F6C6E388E389E38AE38BE38CE38DE38EE38FE390E391E392E393E394E395E396E397E398E399E39AE39BE39CE39DE39EE39FE3A0E440E441E442E443E444E445F6C7E446E447E448E449E44AE44BE44CE44DE44EE44FE450E451E452E453E454E455E456E457E458E459E45AE45BE45CE45DE45EF6C8E45FE460E461E462E463E464E465E466E467E468E469E46AE46BE46CE46DE46EE46FE470E471E472E473E474E475E476E477E478E479E47AE47BE47CE47DE47EE480E481E482E483E484E485E486E487E488E489E48AE48BE48CE48DE48EE48FE490E491E492E493E494E495E496E497E498E499E49AE49BE49CE49DE49EE49FE4A0E540E541E542E543E544E545E546E547E548E549E54AE54BE54CE54DE54EE54FE550E551E552E553E554E555E556E557E558E559E55AE55BE55CE55DE55EE55FE560E561E562E563E564E565E566E567E568E569E56AE56BE56CE56DE56EE56FE570E571E572E573F6C9E574E575E576E577E578E579E57AE57BE57CE57DE57EE580E581E582E583E584E585E586E587E588E589E58AE58BE58CE58DE58EE58FE590E591E592E593E594E595E596E597E598E599E59AE59BE59CE59DE59EE59FF6CAE5A0E640E641E642E643E644E645E646E647E648E649E64AE64BE64CE64DE64EE64FE650E651E652E653E654E655E656E657E658E659E65AE65BE65CE65DE65EE65FE660E661E662F6CCE663E664E665E666E667E668E669E66AE66BE66CE66DE66EE66FE670E671E672E673E674E675E676E677E678E679E67AE67BE67CE67DE67EE680E681E682E683E684E685E686E687E688E689E68AE68BE68CE68DE68EE68FE690E691E692E693E694E695E696E697E698E699E69AE69BE69CE69DF6CBE69EE69FE6A0E740E741E742E743E744E745E746E747F7E9E748E749E74AE74BE74CE74DE74EE74FE750E751E752E753E754E755E756E757E758E759E75AE75BE75CE75DE75EE75FE760E761E762E763E764E765E766E767E768E769E76AE76BE76CE76DE76EE76FE770E771E772E773E774E775E776E777E778E779E77AE77BE77CE77DE77EE780E781E782E783E784E785E786E787E788E789E78AE78BE78CE78DE78EE78FE790E791E792E793E794E795E796E797E798E799E79AE79BE79CE79DE79EE79FE7A0E840E841E842E843E844E845E846E847E848E849E84AE84BE84CE84DE84EF6CDE84FE850E851E852E853E854E855E856E857E858E859E85AE85BE85CE85DE85EE85FE860E861E862E863E864E865E866E867E868E869E86AE86BE86CE86DE86EE86FE870E871E872E873E874E875E876E877E878E879E87AF6CEE87BE87CE87DE87EE880E881E882E883E884E885E886E887E888E889E88AE88BE88CE88DE88EE88FE890E891E892E893E894EEC4EEC5EEC6D5EBB6A4EEC8EEC7EEC9EECAC7A5EECBEECCE895B7B0B5F6EECDEECFE896EECEE897B8C6EED0EED1EED2B6DBB3AED6D3C4C6B1B5B8D6EED3EED4D4BFC7D5BEFBCED9B9B3EED6EED5EED8EED7C5A5EED9EEDAC7AEEEDBC7AFEEDCB2A7EEDDEEDEEEDFEEE0EEE1D7EAEEE2EEE3BCD8EEE4D3CBCCFAB2ACC1E5EEE5C7A6C3ADE898EEE6EEE7EEE8EEE9EEEAEEEBEEECE899EEEDEEEEEEEFE89AE89BEEF0EEF1EEF2EEF4EEF3E89CEEF5CDADC2C1EEF6EEF7EEF8D5A1EEF9CFB3EEFAEEFBE89DEEFCEEFDEFA1EEFEEFA2B8F5C3FAEFA3EFA4BDC2D2BFB2F9EFA5EFA6EFA7D2F8EFA8D6FDEFA9C6CCE89EEFAAEFABC1B4EFACCFFACBF8EFAEEFADB3FAB9F8EFAFEFB0D0E2EFB1EFB2B7E6D0BFEFB3EFB4EFB5C8F1CCE0EFB6EFB7EFB8EFB9EFBAD5E0EFBBB4EDC3AAEFBCE89FEFBDEFBEEFBFE8A0CEFDEFC0C2E0B4B8D7B6BDF5E940CFC7EFC3EFC1EFC2EFC4B6A7BCFCBEE2C3CCEFC5EFC6E941EFC7EFCFEFC8EFC9EFCAC7C2EFF1B6CDEFCBE942EFCCEFCDB6C6C3BEEFCEE943EFD0EFD1EFD2D5F2E944EFD3C4F7E945EFD4C4F8EFD5EFD6B8E4B0F7EFD7EFD8EFD9E946EFDAEFDBEFDCEFDDE947EFDEBEB5EFE1EFDFEFE0E948EFE2EFE3C1CDEFE4EFE5EFE6EFE7EFE8EFE9EFEAEFEBEFECC0D8E949EFEDC1ADEFEEEFEFEFF0E94AE94BCFE2E94CE94DE94EE94FE950E951E952E953B3A4E954E955E956E957E958E959E95AE95BE95CE95DE95EE95FE960E961E962E963E964E965E966E967E968E969E96AE96BE96CE96DE96EE96FE970E971E972E973E974E975E976E977E978E979E97AE97BE97CE97DE97EE980E981E982E983E984E985E986E987E988E989E98AE98BE98CE98DE98EE98FE990E991E992E993E994E995E996E997E998E999E99AE99BE99CE99DE99EE99FE9A0EA40EA41EA42EA43EA44EA45EA46EA47EA48EA49EA4AEA4BEA4CEA4DEA4EEA4FEA50EA51EA52EA53EA54EA55EA56EA57EA58EA59EA5AEA5BC3C5E3C5C9C1E3C6EA5CB1D5CECAB4B3C8F2E3C7CFD0E3C8BCE4E3C9E3CAC3C6D5A2C4D6B9EBCEC5E3CBC3F6E3CCEA5DB7A7B8F3BAD2E3CDE3CED4C4E3CFEA5EE3D0D1CBE3D1E3D2E3D3E3D4D1D6E3D5B2FBC0BBE3D6EA5FC0ABE3D7E3D8E3D9EA60E3DAE3DBEA61B8B7DAE2EA62B6D3EA63DAE4DAE3EA64EA65EA66EA67EA68EA69EA6ADAE6EA6BEA6CEA6DC8EEEA6EEA6FDAE5B7C0D1F4D2F5D5F3BDD7EA70EA71EA72EA73D7E8DAE8DAE7EA74B0A2CDD3EA75DAE9EA76B8BDBCCAC2BDC2A4B3C2DAEAEA77C2AAC4B0BDB5EA78EA79CFDEEA7AEA7BEA7CDAEBC9C2EA7DEA7EEA80EA81EA82B1DDEA83EA84EA85DAECEA86B6B8D4BAEA87B3FDEA88EA89DAEDD4C9CFD5C5E3EA8ADAEEEA8BEA8CEA8DEA8EEA8FDAEFEA90DAF0C1EACCD5CFDDEA91EA92EA93EA94EA95EA96EA97EA98EA99EA9AEA9BEA9CEA9DD3E7C2A1EA9EDAF1EA9FEAA0CBE5EB40DAF2EB41CBE6D2FEEB42EB43EB44B8F4EB45EB46DAF3B0AFCFB6EB47EB48D5CFEB49EB4AEB4BEB4CEB4DEB4EEB4FEB50EB51EB52CBEDEB53EB54EB55EB56EB57EB58EB59EB5ADAF4EB5BEB5CE3C4EB5DEB5EC1A5EB5FEB60F6BFEB61EB62F6C0F6C1C4D1EB63C8B8D1E3EB64EB65D0DBD1C5BCAFB9CDEB66EFF4EB67EB68B4C6D3BAF6C2B3FBEB69EB6AF6C3EB6BEB6CB5F1EB6DEB6EEB6FEB70EB71EB72EB73EB74EB75EB76F6C5EB77EB78EB79EB7AEB7BEB7CEB7DD3EAF6A7D1A9EB7EEB80EB81EB82F6A9EB83EB84EB85F6A8EB86EB87C1E3C0D7EB88B1A2EB89EB8AEB8BEB8CCEEDEB8DD0E8F6ABEB8EEB8FCFF6EB90F6AAD5F0F6ACC3B9EB91EB92EB93BBF4F6AEF6ADEB94EB95EB96C4DEEB97EB98C1D8EB99EB9AEB9BEB9CEB9DCBAAEB9ECFBCEB9FEBA0EC40EC41EC42EC43EC44EC45EC46EC47EC48F6AFEC49EC4AF6B0EC4BEC4CF6B1EC4DC2B6EC4EEC4FEC50EC51EC52B0D4C5F9EC53EC54EC55EC56F6B2EC57EC58EC59EC5AEC5BEC5CEC5DEC5EEC5FEC60EC61EC62EC63EC64EC65EC66EC67EC68EC69C7E0F6A6EC6AEC6BBEB8EC6CEC6DBEB2EC6EB5E5EC6FEC70B7C7EC71BFBFC3D2C3E6EC72EC73D8CCEC74EC75EC76B8EFEC77EC78EC79EC7AEC7BEC7CEC7DEC7EEC80BDF9D1A5EC81B0D0EC82EC83EC84EC85EC86F7B0EC87EC88EC89EC8AEC8BEC8CEC8DEC8EF7B1EC8FEC90EC91EC92EC93D0ACEC94B0B0EC95EC96EC97F7B2F7B3EC98F7B4EC99EC9AEC9BC7CAEC9CEC9DEC9EEC9FECA0ED40ED41BECFED42ED43F7B7ED44ED45ED46ED47ED48ED49ED4AF7B6ED4BB1DEED4CF7B5ED4DED4EF7B8ED4FF7B9ED50ED51ED52ED53ED54ED55ED56ED57ED58ED59ED5AED5BED5CED5DED5EED5FED60ED61ED62ED63ED64ED65ED66ED67ED68ED69ED6AED6BED6CED6DED6EED6FED70ED71ED72ED73ED74ED75ED76ED77ED78ED79ED7AED7BED7CED7DED7EED80ED81CEA4C8CDED82BAABE8B8E8B9E8BABEC2ED83ED84ED85ED86ED87D2F4ED88D4CFC9D8ED89ED8AED8BED8CED8DED8EED8FED90ED91ED92ED93ED94ED95ED96ED97ED98ED99ED9AED9BED9CED9DED9EED9FEDA0EE40EE41EE42EE43EE44EE45EE46EE47EE48EE49EE4AEE4BEE4CEE4DEE4EEE4FEE50EE51EE52EE53EE54EE55EE56EE57EE58EE59EE5AEE5BEE5CEE5DEE5EEE5FEE60EE61EE62EE63EE64EE65EE66EE67EE68EE69EE6AEE6BEE6CEE6DEE6EEE6FEE70EE71EE72EE73EE74EE75EE76EE77EE78EE79EE7AEE7BEE7CEE7DEE7EEE80EE81EE82EE83EE84EE85EE86EE87EE88EE89EE8AEE8BEE8CEE8DEE8EEE8FEE90EE91EE92EE93EE94EE95EE96EE97EE98EE99EE9AEE9BEE9CEE9DEE9EEE9FEEA0EF40EF41EF42EF43EF44EF45D2B3B6A5C7EAF1FCCFEECBB3D0EBE7EFCDE7B9CBB6D9F1FDB0E4CBCCF1FED4A4C2ADC1ECC6C4BEB1F2A1BCD5EF46F2A2F2A3EF47F2A4D2C3C6B5EF48CDC7F2A5EF49D3B1BFC5CCE2EF4AF2A6F2A7D1D5B6EEF2A8F2A9B5DFF2AAF2ABEF4BB2FCF2ACF2ADC8A7EF4CEF4DEF4EEF4FEF50EF51EF52EF53EF54EF55EF56EF57EF58EF59EF5AEF5BEF5CEF5DEF5EEF5FEF60EF61EF62EF63EF64EF65EF66EF67EF68EF69EF6AEF6BEF6CEF6DEF6EEF6FEF70EF71B7E7EF72EF73ECA9ECAAECABEF74ECACEF75EF76C6AEECADECAEEF77EF78EF79B7C9CAB3EF7AEF7BEF7CEF7DEF7EEF80EF81E2B8F7CFEF82EF83EF84EF85EF86EF87EF88EF89EF8AEF8BEF8CEF8DEF8EEF8FEF90EF91EF92EF93EF94EF95EF96EF97EF98EF99EF9AEF9BEF9CEF9DEF9EEF9FEFA0F040F041F042F043F044F7D0F045F046B2CDF047F048F049F04AF04BF04CF04DF04EF04FF050F051F052F053F054F055F056F057F058F059F05AF05BF05CF05DF05EF05FF060F061F062F063F7D1F064F065F066F067F068F069F06AF06BF06CF06DF06EF06FF070F071F072F073F074F075F076F077F078F079F07AF07BF07CF07DF07EF080F081F082F083F084F085F086F087F088F089F7D3F7D2F08AF08BF08CF08DF08EF08FF090F091F092F093F094F095F096E2BBF097BCA2F098E2BCE2BDE2BEE2BFE2C0E2C1B7B9D2FBBDA4CACEB1A5CBC7F099E2C2B6FCC8C4E2C3F09AF09BBDC8F09CB1FDE2C4F09DB6F6E2C5C4D9F09EF09FE2C6CFDAB9DDE2C7C0A1F0A0E2C8B2F6F140E2C9F141C1F3E2CAE2CBC2F8E2CCE2CDE2CECAD7D8B8D9E5CFE3F142F143F144F145F146F147F148F149F14AF14BF14CF0A5F14DF14EDCB0F14FF150F151F152F153F154F155F156F157F158F159F15AF15BF15CF15DF15EF15FF160F161F162F163F164F165F166F167F168F169F16AF16BF16CF16DF16EF16FF170F171F172F173F174F175F176F177F178F179F17AF17BF17CF17DF17EF180F181F182F183F184F185F186F187F188F189F18AF18BF18CF18DF18EF18FF190F191F192F193F194F195F196F197F198F199F19AF19BF19CF19DF19EF19FF1A0F240F241F242F243F244F245F246F247F248F249F24AF24BF24CF24DF24EF24FF250F251F252F253F254F255F256F257F258F259F25AF25BF25CF25DF25EF25FF260F261F262F263F264F265F266F267F268F269F26AF26BF26CF26DF26EF26FF270F271F272F273F274F275F276F277F278F279F27AF27BF27CF27DF27EF280F281F282F283F284F285F286F287F288F289F28AF28BF28CF28DF28EF28FF290F291F292F293F294F295F296F297F298F299F29AF29BF29CF29DF29EF29FF2A0F340F341F342F343F344F345F346F347F348F349F34AF34BF34CF34DF34EF34FF350F351C2EDD4A6CDD4D1B1B3DBC7FDF352B2B5C2BFE6E0CABBE6E1E6E2BED4E6E3D7A4CDD5E6E5BCDDE6E4E6E6E6E7C2EEF353BDBEE6E8C2E6BAA7E6E9F354E6EAB3D2D1E9F355F356BFA5E6EBC6EFE6ECE6EDF357F358E6EEC6ADE6EFF359C9A7E6F0E6F1E6F2E5B9E6F3E6F4C2E2E6F5E6F6D6E8E6F7F35AE6F8B9C7F35BF35CF35DF35EF35FF360F361F7BBF7BAF362F363F364F365F7BEF7BCBAA1F366F7BFF367F7C0F368F369F36AF7C2F7C1F7C4F36BF36CF7C3F36DF36EF36FF370F371F7C5F7C6F372F373F374F375F7C7F376CBE8F377F378F379F37AB8DFF37BF37CF37DF37EF380F381F7D4F382F7D5F383F384F385F386F7D6F387F388F389F38AF7D8F38BF7DAF38CF7D7F38DF38EF38FF390F391F392F393F394F395F7DBF396F7D9F397F398F399F39AF39BF39CF39DD7D7F39EF39FF3A0F440F7DCF441F442F443F444F445F446F7DDF447F448F449F7DEF44AF44BF44CF44DF44EF44FF450F451F452F453F454F7DFF455F456F457F7E0F458F459F45AF45BF45CF45DF45EF45FF460F461F462DBCBF463F464D8AAF465F466F467F468F469F46AF46BF46CE5F7B9EDF46DF46EF46FF470BFFDBBEAF7C9C6C7F7C8F471F7CAF7CCF7CBF472F473F474F7CDF475CEBAF476F7CEF477F478C4A7F479F47AF47BF47CF47DF47EF480F481F482F483F484F485F486F487F488F489F48AF48BF48CF48DF48EF48FF490F491F492F493F494F495F496F497F498F499F49AF49BF49CF49DF49EF49FF4A0F540F541F542F543F544F545F546F547F548F549F54AF54BF54CF54DF54EF54FF550F551F552F553F554F555F556F557F558F559F55AF55BF55CF55DF55EF55FF560F561F562F563F564F565F566F567F568F569F56AF56BF56CF56DF56EF56FF570F571F572F573F574F575F576F577F578F579F57AF57BF57CF57DF57EF580F581F582F583F584F585F586F587F588F589F58AF58BF58CF58DF58EF58FF590F591F592F593F594F595F596F597F598F599F59AF59BF59CF59DF59EF59FF5A0F640F641F642F643F644F645F646F647F648F649F64AF64BF64CF64DF64EF64FF650F651F652F653F654F655F656F657F658F659F65AF65BF65CF65DF65EF65FF660F661F662F663F664F665F666F667F668F669F66AF66BF66CF66DF66EF66FF670F671F672F673F674F675F676F677F678F679F67AF67BF67CF67DF67EF680F681F682F683F684F685F686F687F688F689F68AF68BF68CF68DF68EF68FF690F691F692F693F694F695F696F697F698F699F69AF69BF69CF69DF69EF69FF6A0F740F741F742F743F744F745F746F747F748F749F74AF74BF74CF74DF74EF74FF750F751F752F753F754F755F756F757F758F759F75AF75BF75CF75DF75EF75FF760F761F762F763F764F765F766F767F768F769F76AF76BF76CF76DF76EF76FF770F771F772F773F774F775F776F777F778F779F77AF77BF77CF77DF77EF780D3E3F781F782F6CFF783C2B3F6D0F784F785F6D1F6D2F6D3F6D4F786F787F6D6F788B1ABF6D7F789F6D8F6D9F6DAF78AF6DBF6DCF78BF78CF78DF78EF6DDF6DECFCAF78FF6DFF6E0F6E1F6E2F6E3F6E4C0F0F6E5F6E6F6E7F6E8F6E9F790F6EAF791F6EBF6ECF792F6EDF6EEF6EFF6F0F6F1F6F2F6F3F6F4BEA8F793F6F5F6F6F6F7F6F8F794F795F796F797F798C8FAF6F9F6FAF6FBF6FCF799F79AF6FDF6FEF7A1F7A2F7A3F7A4F7A5F79BF79CF7A6F7A7F7A8B1EEF7A9F7AAF7ABF79DF79EF7ACF7ADC1DBF7AEF79FF7A0F7AFF840F841F842F843F844F845F846F847F848F849F84AF84BF84CF84DF84EF84FF850F851F852F853F854F855F856F857F858F859F85AF85BF85CF85DF85EF85FF860F861F862F863F864F865F866F867F868F869F86AF86BF86CF86DF86EF86FF870F871F872F873F874F875F876F877F878F879F87AF87BF87CF87DF87EF880F881F882F883F884F885F886F887F888F889F88AF88BF88CF88DF88EF88FF890F891F892F893F894F895F896F897F898F899F89AF89BF89CF89DF89EF89FF8A0F940F941F942F943F944F945F946F947F948F949F94AF94BF94CF94DF94EF94FF950F951F952F953F954F955F956F957F958F959F95AF95BF95CF95DF95EF95FF960F961F962F963F964F965F966F967F968F969F96AF96BF96CF96DF96EF96FF970F971F972F973F974F975F976F977F978F979F97AF97BF97CF97DF97EF980F981F982F983F984F985F986F987F988F989F98AF98BF98CF98DF98EF98FF990F991F992F993F994F995F996F997F998F999F99AF99BF99CF99DF99EF99FF9A0FA40FA41FA42FA43FA44FA45FA46FA47FA48FA49FA4AFA4BFA4CFA4DFA4EFA4FFA50FA51FA52FA53FA54FA55FA56FA57FA58FA59FA5AFA5BFA5CFA5DFA5EFA5FFA60FA61FA62FA63FA64FA65FA66FA67FA68FA69FA6AFA6BFA6CFA6DFA6EFA6FFA70FA71FA72FA73FA74FA75FA76FA77FA78FA79FA7AFA7BFA7CFA7DFA7EFA80FA81FA82FA83FA84FA85FA86FA87FA88FA89FA8AFA8BFA8CFA8DFA8EFA8FFA90FA91FA92FA93FA94FA95FA96FA97FA98FA99FA9AFA9BFA9CFA9DFA9EFA9FFAA0FB40FB41FB42FB43FB44FB45FB46FB47FB48FB49FB4AFB4BFB4CFB4DFB4EFB4FFB50FB51FB52FB53FB54FB55FB56FB57FB58FB59FB5AFB5BC4F1F0AFBCA6F0B0C3F9FB5CC5B8D1BBFB5DF0B1F0B2F0B3F0B4F0B5D1BCFB5ED1ECFB5FF0B7F0B6D4A7FB60CDD2F0B8F0BAF0B9F0BBF0BCFB61FB62B8EBF0BDBAE8FB63F0BEF0BFBEE9F0C0B6ECF0C1F0C2F0C3F0C4C8B5F0C5F0C6FB64F0C7C5F4FB65F0C8FB66FB67FB68F0C9FB69F0CAF7BDFB6AF0CBF0CCF0CDFB6BF0CEFB6CFB6DFB6EFB6FF0CFBAD7FB70F0D0F0D1F0D2F0D3F0D4F0D5F0D6F0D8FB71FB72D3A5F0D7FB73F0D9FB74FB75FB76FB77FB78FB79FB7AFB7BFB7CFB7DF5BAC2B9FB7EFB80F7E4FB81FB82FB83FB84F7E5F7E6FB85FB86F7E7FB87FB88FB89FB8AFB8BFB8CF7E8C2B4FB8DFB8EFB8FFB90FB91FB92FB93FB94FB95F7EAFB96F7EBFB97FB98FB99FB9AFB9BFB9CC2F3FB9DFB9EFB9FFBA0FC40FC41FC42FC43FC44FC45FC46FC47FC48F4F0FC49FC4AFC4BF4EFFC4CFC4DC2E9FC4EF7E1F7E2FC4FFC50FC51FC52FC53BBC6FC54FC55FC56FC57D9E4FC58FC59FC5ACAF2C0E8F0A4FC5BBADAFC5CFC5DC7ADFC5EFC5FFC60C4ACFC61FC62F7ECF7EDF7EEFC63F7F0F7EFFC64F7F1FC65FC66F7F4FC67F7F3FC68F7F2F7F5FC69FC6AFC6BFC6CF7F6FC6DFC6EFC6FFC70FC71FC72FC73FC74FC75EDE9FC76EDEAEDEBFC77F6BCFC78FC79FC7AFC7BFC7CFC7DFC7EFC80FC81FC82FC83FC84F6BDFC85F6BEB6A6FC86D8BEFC87FC88B9C4FC89FC8AFC8BD8BBFC8CDCB1FC8DFC8EFC8FFC90FC91FC92CAF3FC93F7F7FC94FC95FC96FC97FC98FC99FC9AFC9BFC9CF7F8FC9DFC9EF7F9FC9FFCA0FD40FD41FD42FD43FD44F7FBFD45F7FAFD46B1C7FD47F7FCF7FDFD48FD49FD4AFD4BFD4CF7FEFD4DFD4EFD4FFD50FD51FD52FD53FD54FD55FD56FD57C6EBECB4FD58FD59FD5AFD5BFD5CFD5DFD5EFD5FFD60FD61FD62FD63FD64FD65FD66FD67FD68FD69FD6AFD6BFD6CFD6DFD6EFD6FFD70FD71FD72FD73FD74FD75FD76FD77FD78FD79FD7AFD7BFD7CFD7DFD7EFD80FD81FD82FD83FD84FD85B3DDF6B3FD86FD87F6B4C1E4F6B5F6B6F6B7F6B8F6B9F6BAC8A3F6BBFD88FD89FD8AFD8BFD8CFD8DFD8EFD8FFD90FD91FD92FD93C1FAB9A8EDE8FD94FD95FD96B9EAD9DFFD97FD98FD99FD9AFD9";encodeToGb2312(o){for(var F="",p=0;p<o.length;p++){var w=o.charAt(p),x=o.charCodeAt(p);if(w==" ")F+="+";else if(x>=19968&&x<=40869){let T=x-19968;F+="%"+this.z.substr(T*4,2)+"%"+this.z.substr(T*4+2,2)}else F+="%"+o.charCodeAt(p).toString(16)}return F}decodeFromGb2312(o){for(var F="",p=0;p<o.length;p++){var w=o.charAt(p);if(w=="+")F+=" ";else if(w!="%")F+=w;else{p++;var x=o.charAt(p);if(isNaN(parseInt(x)))try{var T=o.substr(p,2)+o.substr(p+3,2);p=p+4;for(var P=-1;(P=this.z.indexOf(T,P+1))!=-1;)if(P%4==0){F+=String.fromCharCode(P/4+19968);break}}catch{}else{p++;try{F+=decodeURIComponent(w+x+o.charAt(p))}catch{console.log("decodeURIComponent error"),console.log(w+x+o.charAt(p))}}}}return F}}let de=new VD;const jD=new FinalizationRegistry(g=>{L.MxCpp.App.DestroyObject(g)}),WD={};L.McDb=void 0,(g=>{(o=>{o[o.kTextLeft=0]="kTextLeft",o[o.kTextCenter=1]="kTextCenter",o[o.kTextRight=2]="kTextRight",o[o.kTextAlign=3]="kTextAlign",o[o.kTextMid=4]="kTextMid",o[o.kTextFit=5]="kTextFit"})(g.TextHorzMode||(g.TextHorzMode={})),(o=>{o[o.kTextBase=0]="kTextBase",o[o.kTextBottom=1]="kTextBottom",o[o.kTextVertMid=2]="kTextVertMid",o[o.kTextTop=3]="kTextTop"})(g.TextVertMode||(g.TextVertMode={})),(o=>{o[o.kTopLeft=1]="kTopLeft",o[o.kTopCenter=2]="kTopCenter",o[o.kTopRight=3]="kTopRight",o[o.kMiddleLeft=4]="kMiddleLeft",o[o.kMiddleCenter=5]="kMiddleCenter",o[o.kMiddleRight=6]="kMiddleRight",o[o.kBottomLeft=7]="kBottomLeft",o[o.kBottomCenter=8]="kBottomCenter",o[o.kBottomRight=9]="kBottomRight",o[o.kBaseLeft=10]="kBaseLeft",o[o.kBaseCenter=11]="kBaseCenter",o[o.kBaseRight=12]="kBaseRight",o[o.kBaseAlign=13]="kBaseAlign",o[o.kBottomAlign=14]="kBottomAlign",o[o.kMiddleAlign=15]="kMiddleAlign",o[o.kTopAlign=16]="kTopAlign",o[o.kBaseFit=17]="kBaseFit",o[o.kBottomFit=18]="kBottomFit",o[o.kMiddleFit=19]="kMiddleFit",o[o.kTopFit=20]="kTopFit",o[o.kBaseMid=21]="kBaseMid",o[o.kBottomMid=22]="kBottomMid",o[o.kMiddleMid=23]="kMiddleMid",o[o.kTopMid=24]="kTopMid"})(g.AttachmentPoint||(g.AttachmentPoint={})),(o=>{o[o.kLnWt000=0]="kLnWt000",o[o.kLnWt005=5]="kLnWt005",o[o.kLnWt009=9]="kLnWt009",o[o.kLnWt013=13]="kLnWt013",o[o.kLnWt015=15]="kLnWt015",o[o.kLnWt018=18]="kLnWt018",o[o.kLnWt020=20]="kLnWt020",o[o.kLnWt025=25]="kLnWt025",o[o.kLnWt030=30]="kLnWt030",o[o.kLnWt035=35]="kLnWt035",o[o.kLnWt040=40]="kLnWt040",o[o.kLnWt050=50]="kLnWt050",o[o.kLnWt053=53]="kLnWt053",o[o.kLnWt060=60]="kLnWt060",o[o.kLnWt070=70]="kLnWt070",o[o.kLnWt080=80]="kLnWt080",o[o.kLnWt090=90]="kLnWt090",o[o.kLnWt100=100]="kLnWt100",o[o.kLnWt106=106]="kLnWt106",o[o.kLnWt120=120]="kLnWt120",o[o.kLnWt140=140]="kLnWt140",o[o.kLnWt158=158]="kLnWt158",o[o.kLnWt200=200]="kLnWt200",o[o.kLnWt211=211]="kLnWt211",o[o.kLnWtByLayer=-1]="kLnWtByLayer",o[o.kLnWtByBlock=-2]="kLnWtByBlock",o[o.kLnWtByLwDefault=-3]="kLnWtByLwDefault"})(g.LineWeight||(g.LineWeight={}))})(L.McDb||(L.McDb={}));class Cr{imp=0;constructor(o){this.imp=o,this.imp&&jD.register(this,o,WD)}getImp(){return this.imp}initTempObject(o){this.imp=o}get ObjectName(){return this.imp.getObjectName()}get Dxf0(){return this.imp.getDxf0()}getJson(){let o=this.imp.getJson();return de.decodeFromGb2312(o)}setJson(o){let F=de.encodeToGb2312(o);return this.imp.setJson(F)}}class Br extends Cr{constructor(o){super(o)}getObjectID(){return this.imp.getObjectID()}Erase(){return this.imp.Erase()}Clone(){let o=this.imp.Clone();return L.MxCpp.App.CreateCloneObject(o)}}class Zr extends Br{constructor(o){super(o)}}class ND extends Br{constructor(o){super(o)}}class HD extends Br{constructor(o){super(o)}}class je extends Br{constructor(o){super(o)}moveGripPointsAt(o,F,p,w){return this.imp.moveGripPointsAt(o,F,p,w)}}class or extends je{constructor(o){super(o)}getStartParam(){return{val:this.imp.getStartParam(),ret:L.MxCpp.getCallResult()}}getEndParam(){return{val:this.imp.getEndParam(),ret:L.MxCpp.getCallResult()}}getDistAtParam(o){return{val:this.imp.getDistAtParam(o),ret:L.MxCpp.getCallResult()}}getParamAtDist(o){return{val:this.imp.getParamAtDist(o),ret:L.MxCpp.getCallResult()}}getDistAtPoint(o){return{val:this.imp.getDistAtPoint(o),ret:L.MxCpp.getCallResult()}}getPointAtDist(o){return{val:this.imp.getPointAtDist(o),ret:L.MxCpp.getCallResult()}}}class ei extends Cr{constructor(o){super(o)}GetLayerTable(){return new Zr(this.imp.GetLayerTable())}GetLinetypeTable(){return new ND(this.imp.GetLinetypeTable())}GetTextStyleTable(){return new HD(this.imp.GetTextStyleTable())}GetCurrentlyLineTypeScale(){return this.imp.GetCurrentlyLineTypeScale()}SetCurrentlyLineTypeScale(o){return this.imp.SetCurrentlyLineTypeScale(o)}GetCurrentlyLineTypeName(){let o=this.imp.GetCurrentlyLineTypeName();return de.decodeFromGb2312(o)}SetCurrentlyLineTypeName(o){let F=de.encodeToGb2312(o);this.imp.SetCurrentlyLineTypeName(F)}GetCurrentlyLayerName(){let o=this.imp.GetCurrentlyLayerName();return de.decodeFromGb2312(o)}SetCurrentlyLayerName(o){let F=de.encodeToGb2312(o);this.imp.SetCurrentlyLayerName(F)}GetCurrentlyTrueColor(){return this.imp.GetCurrentlyTrueColor()}SetCurrentlyTrueColor(o){return this.imp.SetCurrentlyTrueColor(o)}GetCurrentlyColorIndex(){return this.imp.GetCurrentlyColorIndex()}SetCurrentlyColorIndex(o){return this.imp.SetCurrentlyColorIndex(o)}GetCurrentlyTextStyleName(){let o=this.imp.GetCurrentlyTextStyleName();return de.decodeFromGb2312(o)}SetCurrentlyTextStyle(o){let F=de.encodeToGb2312(o);this.imp.SetCurrentlyTextStyle(F)}}class We{imp;mxObject;static currentFileName;constructor(o){this.imp=o}initMxObject(o){this.mxObject=o}getImp(){return this.imp}getMxCppImp(){return L.MxCpp.mxcadassemblyimp}updateDisplay(o,F){this.imp.updateDisplay(o,F)}test(){this.imp.test()}openWebFile(o,F,p=!0){let w=Math.round(Math.random()*1e7);if(F){let x=this,T=(P,j)=>{x.mxObject.removeEventFuction("openFileComplete",T),w==j&&F(P)};x.mxObject.addEvent("openFileComplete",T)}return We.currentFileName=o.split("/").pop(),this.imp.openWebFile(o,p,w)}getCurrentFileName(){return We.currentFileName}saveFileToUrl(o){return this.imp.saveFileToUrl(o)}saveFile(o,F,p=!0,w=!0){o||(o=this.getCurrentFileName());const x=window;return x.mx_saveFile_call=T=>{if(console.log(o),F&&F(T),!!T){if(p){let P;/^((?!chrome|android).)*safari/i.test(navigator.userAgent)?P=new Blob([T.buffer],{type:"application/octet-stream"}):P=new Blob([T.buffer],{type:"application/octet-binary"}),w?Ye.saveAsFileDialog({blob:P,filename:o,types:[{description:"mxweb File",accept:{"application/octet-stream":[".mxweb"]}}]}):Ye.downloadFile(P,o)}x.mx_saveFile_call=null}},this.imp.saveFile(o)}GetDatabase(){return new ei(this.imp.GetDatabase())}GetSysVarString(o){return this.imp.GetSysVarString(o)}SetSysVarString(o,F){return this.imp.SetSysVarString(o,F)}GetSysVarDouble(o){return this.imp.GetSysVarDouble(o)}SetSysVarDouble(o,F){return this.imp.SetSysVarDouble(o,F)}GetSysVarLong(o){return this.imp.GetSysVarLong(o)}SetSysVarLong(o,F){return this.imp.SetSysVarLong(o,F)}get DrawColor(){return this.imp.GetDrawColor()}set DrawColor(o){this.imp.SetDrawColor(o)}get DrawLineWeight(){return this.imp.GetDrawLineWeight()}set DrawLineWeight(o){this.imp.SetDrawLineWeight(o)}get DrawLineTypeScale(){return this.imp.GetDrawLineTypeScale()}set DrawLineTypeScale(o){this.imp.SetDrawLineTypeScale(o)}get DrawLinetype(){return this.imp.GetDrawLinetype()}set DrawLinetype(o){this.imp.SetDrawLinetype(o)}get DrawTextStyle(){return this.imp.GetDrawTextStyle()}set DrawTextStyle(o){this.imp.SetDrawTextStyle(o)}get DrawLayer(){return this.imp.GetDrawLayer()}set DrawLayer(o){this.imp.SetDrawLayer(o)}AddLayer(o){this.imp.AddLayer(o)}AddTextStyle(o,F,p,w){this.imp.AddTextStyle(o,F,p,w)}AddLinetype(o,F){this.imp.AddLinetype(o,F)}AddLinetypeEx(o,F,p){this.imp.AddLinetypeEx(o,F,p)}DrawLine(o,F,p,w,x,T){return this.imp.DrawLine(o,F,p,w,x,T)}AddDimStyle(o,F,p,w,x){return this.imp.AddDimStyle(o,F,p,w,x)}get DrawDimStyle(){return this.imp.GetDrawDimStyle()}set DrawDimStyle(o){this.imp.SetDrawDimStyle(o)}get DrawPatternDefinition(){return this.imp.GetPatternDefinition()}set DrawPatternDefinition(o){this.imp.SetPatternDefinition(o)}get DrawLineWidth(){return this.imp.GetDrawLineWidth()}set DrawLineWidth(o){this.imp.SetDrawLineWidth(o)}DrawArc(o,F,p,w,x){return this.imp.DrawArc(o,F,p,w,x)}DrawArc2(o,F,p,w,x,T){return this.imp.DrawArc2(o,F,p,w,x,T)}DrawCircle(o,F,p){return this.imp.DrawCircle(o,F,p)}DrawEllipse(o,F,p,w,x){return this.imp.DrawEllipse(o,F,p,w,x)}DrawEllipseArc(o,F,p,w,x,T,P){return this.imp.DrawEllipseArc(o,F,p,w,x,T,P)}DrawPoint(o,F){return this.imp.DrawPoint(o,F)}DrawSolid(o,F,p,w,x,T,P,j){return this.imp.DrawSolid(o,F,p,w,x,T,P,j)}DrawMText(o,F,p,w,x,T,P){return this.imp.DrawMText(o,F,p,w,x,T,P)}DrawText(o,F,p,w,x,T,P){return this.imp.DrawTextDrawText(o,F,p,w,x,T,P)}DrawBlockReference(o,F,p,w,x){return this.imp.DrawBlockReference(o,F,p,w,x)}DrawDimAligned(o,F,p,w,x,T){return this.imp.DrawDimAligned(o,F,p,w,x,T)}DrawDimAngular(o,F,p,w,x,T,P,j){return this.imp.DrawDimAngular(o,F,p,w,x,T,P,j)}DrawDimDiametric(o,F,p,w,x){return this.imp.DrawDimDiametric(o,F,p,w,x)}DrawDimRotated(o,F,p,w,x,T,P){return this.imp.DrawDimRotated(o,F,p,w,x,T,P)}DrawDimOrdinate(o,F,p,w,x){return this.imp.DrawDimOrdinate(o,F,p,w,x)}DrawDimRadial(o,F,p,w,x){return this.imp.DrawDimRadial(o,F,p,w,x)}PathMoveTo(o,F){this.imp.PathMoveTo(o,F)}PathMoveToEx(o,F,p,w,x){this.imp.PathMoveToEx(o,F,p,w,x)}PathLineTo(o,F){this.imp.PathLineTo(o,F)}PathLineToEx(o,F,p,w,x){this.imp.PathLineToEx(o,F,p,w,x)}DrawPathToPolyline(){return this.imp.DrawPathToPolyline()}DrawPathToSpline(){return this.imp.DrawPathToSpline()}PathMakeClosed(){this.imp.PathMakeClosed()}DrawPathToHatch(o){return this.imp.DrawPathToHatch(o)}DrawEntity(o){return this.imp.DrawEntity(o.getImp())}ObjectIdToObject(o){return L.MxCpp.App.ObjectIdToObject(o)}CloneMdDbObject(o){let F=this.imp.CloneMdDbObject(o);return L.MxCpp.App.CreateCloneObject(F)}ObjectIdToMdObjectImp(o){return L.MxCpp.App.getImp().ObjectIdToMdObject(o)}DestroyObject(o){!o||L.MxCpp.App.getImp().DestroyObject(o)}}class zD{imp;init(o){this.imp=o}getImp(){return this.imp}getLastCallResult(){return this.imp.getLastCallResult()}CreateMxCAD(o,F,p,w,x){let T=this.imp.CreateMxDraw(o,F,p,w,x);return new We(T)}DestroyObject(o){this.imp.DestroyObject(o)}GetCurrentMxCAD(){return new We(this.imp.GetCurrentMxDraw())}mcedRGB2Index(o,F,p,w=!0){return this.imp.mcedRGB2Index(o,F,p,w)}ObjectIdToObject(o){if(!o)return null;let F=this.imp.ObjectIdToObjectName(o);if(F=="McDbLine"){let p=this.imp.ObjectIdToMdDbLine(o);return new ar(p)}else if(F=="McDbText"){let p=this.imp.ObjectIdToMdDbText(o);return new Fr(p)}else if(F=="McDbPolyline"){let p=this.imp.ObjectIdToMdDbPolyline(o);return new ri(p)}else if(F=="McDbCircle"){let p=this.imp.ObjectIdToMdDbCircle(o);return new yr(p)}else if(F=="McDbBlockReference"){let p=this.imp.ObjectIdToMdDbBlockReference(o);return new QD(p)}else if(F=="McDbAlignedDimension"){let p=this.imp.ObjectIdToMdDbAlignedDimension(o);return new YD(p)}else if(F=="McDbMText"){let p=this.imp.ObjectIdToMdDbMText(o);return new qD(p)}return console.log("Mx: ObjectIdToObject error type"),null}CreateCloneObject(o){let F=o.getObjectName();if(F=="McDbLine"){let p=new ar;return p.getImp().ConnectionTempObject(o),L.MxCpp.App.DestroyObject(o),p}else if(F=="McDbText"){let p=new Fr;return p.getImp().ConnectionTempObject(o),L.MxCpp.App.DestroyObject(o),p}return console.log("Mx: Clone error type"),new Br(o)}}class XD{mxcadassemblyimp;App=new zD;NewMdCmColor(){return new this.mxcadassemblyimp.MdCmColor}getCallResult(){return this.App.getLastCallResult()}NewMdGePoint3d(o,F){if(F&&o&&o.x&&o.y){let w=o.z||0;o=R.MxFun.getCurrentDraw().docCoord2Cad(o.x,o.y,w)}let p=new this.mxcadassemblyimp.MdGePoint3d;return o&&o.x&&o.y&&(p.x=o.x,p.y=o.y,o.z&&(p.y=o.z)),p}NewMdGePoint3d2(o,F,p){let w=new this.mxcadassemblyimp.MdGePoint3d;return w.x=o,w.y=F,p&&(w.y=p),w}}class ar extends or{constructor(o){super(o),o||this.initTempObject(new L.MxCpp.mxcadassemblyimp.MdDbLine)}get startPoint(){return this.imp.startPoint()}set startPoint(o){this.imp.setStartPoint(o)}get endPoint(){return this.imp.endPoint()}set endPoint(o){this.imp.setEndPoint(o)}}class Fr extends je{constructor(o){super(o),o||this.initTempObject(new L.MxCpp.mxcadassemblyimp.MdDbText)}get position(){return this.imp.position()}set position(o){this.imp.setPosition(o)}get alignmentPoint(){return this.imp.position()}set alignmentPoint(o){this.imp.setAlignmentPoint(o)}get oblique(){return this.imp.oblique()}set oblique(o){this.imp.setOblique(o)}get rotation(){return this.imp.rotation()}set rotation(o){this.imp.setRotation(o)}get height(){return this.imp.height()}set height(o){this.imp.setHeight(o)}get widthFactor(){return this.imp.widthFactor()}set widthFactor(o){this.imp.setWidthFactor(o)}get textString(){return de.decodeFromGb2312(this.imp.textString())}set textString(o){this.imp.setTextString(de.encodeToGb2312(o))}get horizontalMode(){return this.imp.horizontalMode()}set horizontalMode(o){this.imp.setHorizontalMode(o)}get verticalMode(){return this.imp.verticalMode()}set verticalMode(o){this.imp.setVerticalMode(o)}}class qD extends je{constructor(o){super(o),o||this.initTempObject(new L.MxCpp.mxcadassemblyimp.MdDbMText)}get location(){return this.imp.location()}set location(o){this.imp.setLocation(o)}get rotation(){return this.imp.rotation()}set rotation(o){this.imp.setRotation(o)}get width(){return this.imp.width()}set width(o){this.imp.setWidth(o)}get textHeight(){return this.imp.textHeight()}set textHeight(o){this.imp.setTextHeight(o)}get attachment(){return this.imp.attachment()}set attachment(o){this.imp.setAttachment(o)}get contents(){return de.decodeFromGb2312(this.imp.contents())}set contents(o){this.imp.setContents(de.encodeToGb2312(o))}}class yr extends or{constructor(o){super(o),o||this.initTempObject(new L.MxCpp.mxcadassemblyimp.MdDbCircle)}setCenter(o,F,p){this.imp.setCenter(o,F,p)}get center(){return this.imp.center()}set center(o){this.imp.setCenter(o)}get radius(){return this.imp.radius()}set radius(o){this.imp.setRadius(o)}}class ri extends or{constructor(o){super(o),o||this.initTempObject(new L.MxCpp.mxcadassemblyimp.MdDbPolyline)}get isClosed(){return this.imp.isClosed()}set isClosed(o){this.imp.setClosed(o)}get constantWidth(){return this.imp.getConstantWidth()}set constantWidth(o){this.imp.setConstantWidth(o)}addVertexAt(o,F,p,w,x){return this.imp.addVertexAt(o,F,p,w,x)}removeVertexAt(o){return this.imp.removeVertexAt(o)}numVerts(){return this.imp.numVerts()}getPointAt(o){return{val:this.imp.getPointAt(o),ret:L.MxCpp.getCallResult()}}getBulgeAt(o){return this.imp.getBulgeAt(o)}getWidthsAt(o){return{val1:this.imp.getStartWidthsAt(o),val2:this.imp.getEndWidthsAt(o),ret:L.MxCpp.getCallResult()}}setPointAt(o,F){return this.imp.setPointAt(o,F)}setBulgeAt(o,F){return this.imp.setBulgeAt(o,F)}}class QD extends je{constructor(o){super(o),o||this.initTempObject(new L.MxCpp.mxcadassemblyimp.MdDbBlockReference)}get blockTableRecordId(){return this.imp.blockTableRecord()}set blockTableRecordId(o){this.imp.setBlockTableRecordId(o)}get position(){return this.imp.position()}set position(o){this.imp.setPosition(o)}get scaleFactors(){return this.imp.scaleFactors()}set scaleFactors(o){this.imp.setScaleFactors(o)}get rotation(){return this.imp.rotation()}set rotation(o){this.imp.setRotation(o)}get blockTransform(){return this.imp.blockTransform()}set blockTransform(o){this.imp.setBlockTransform(o)}}class KD extends je{constructor(o){super(o),o||this.initTempObject(new L.MxCpp.mxcadassemblyimp.MdDbDimension)}get textPosition(){return this.imp.textPosition()}set textPosition(o){this.imp.setTextPosition(o)}isUsingDefaultTextPosition(){return this.imp.isUsingDefaultTextPosition()}useSetTextPosition(){return this.imp.useSetTextPosition()}useDefaultTextPosition(){return this.imp.useDefaultTextPosition()}get elevation(){return this.imp.elevation()}set elevation(o){this.imp.setElevation(o)}get dimensionText(){return this.imp.dimensionText()}set dimensionText(o){this.imp.setDimensionText(o)}get textRotation(){return this.imp.textRotation()}set textRotation(o){this.imp.setTextRotation(o)}get dimensionStyle(){return this.imp.dimensionStyle()}set dimensionStyle(o){this.imp.setDimensionStyle(o)}get textAttachment(){return this.imp.textAttachment()}set textAttachment(o){this.imp.setTextAttachment(o)}get horizontalRotation(){return this.imp.horizontalRotation()}set horizontalRotation(o){this.imp.setHorizontalRotation(o)}recomputeDimBlock(){this.imp.recomputeDimBlock(!0)}getDimVarInt(o){return this.imp.GetDimVarInt(o)}setDimVarInt(o,F){this.imp.SetDimVarInt(o,F)}getDimVarDouble(o){return this.imp.GetDimVarDouble(o)}setDimVarDouble(o,F){this.imp.SetDimVarDouble(o,F)}getDimVarString(o){return this.imp.GetDimVarString(o)}setDimVarString(o,F){this.imp.SetDimVarString(o,F)}getDimVarObjectId(o){return this.imp.GetDimVarObjectId(o)}setDimVarObjectId(o,F){this.imp.SetDimVarObjectId(o,F)}}class YD extends KD{constructor(o){super(o),o||this.initTempObject(new L.MxCpp.mxcadassemblyimp.MdDbAlignedDimension)}get xLine1Point(){return this.imp.xLine1Point()}set xLine1Point(o){this.imp.setXLine1Point(o)}get xLine2Point(){return this.imp.xLine2Point()}set xLine2Point(o){this.imp.setXLine2Point(o)}get dimLinePoint(){return this.imp.dimLinePoint()}set dimLinePoint(o){this.imp.setDimLinePoint(o)}get oblique(){return this.imp.oblique()}set oblique(o){this.imp.setOblique(o)}}class Ri extends Cr{constructor(o){super(o),o||this.initTempObject(new L.MxCpp.mxcadassemblyimp.McDrawResbuf)}Clear(){this.imp.Clear()}GetCount(){return this.imp.GetCount()}AtDouble(o){return{val:this.imp.AtDouble(o),ret:L.MxCpp.getCallResult()}}Atlong(o){return{val:this.imp.Atlong(o),ret:L.MxCpp.getCallResult()}}AtObjectId(o){return{val:this.imp.AtObjectId(o),ret:L.MxCpp.getCallResult()}}AtString(o){return{val:de.decodeFromGb2312(this.imp.AtString(o)),ret:L.MxCpp.getCallResult()}}AtPoint(o){return{val:this.imp.AtPoint(o),ret:L.MxCpp.getCallResult()}}ItemDataType(){return this.imp.ItemDataType()}AddDouble(o,F=-10){return this.imp.AddDouble(o,F)}Addlong(o,F=-10){return this.imp.Addlong(o,F)}AddObjectId(o,F=-10){return this.imp.AddObjectId(o,F)}AddString(o,F=-10){return this.imp.AddString(o,F)}AddPoint(o,F=-10){return this.imp.AddPoint(o,F)}RemoveAll(){this.imp.RemoveAll()}Remove(o){this.imp.Remove(o)}}class wr{id;type;constructor(o,F){this.id=o,this.type=F}getType(){return this.type}getId(){return this.id}erase(){this.type==1?R.MxFun.getCurrentDraw().eraseMxEntity(this.id):this.type==0&&kr.eraseEntity(this.id)}}class JD{imp;constructor(){}eraseEntity(o){return this.init(),this.imp.eraseEntity(o)}highlightEntity(o,F=!0){return this.init(),this.imp.highlightEntity(o,F)}findEntAtPoint(o,F,p,w=-1,x=null){this.init();let T;return x==null?T=new L.MxCpp.mxcadassemblyimp.McDrawResbuf:T=x.getImp(),this.imp.findEntAtPoint(o,F,p,w,T)}selectEnt(o,F=null){return this.init(),new Promise(async p=>{const w=new R.MrxDbgUiPrPoint;o&&w.setMessage(o),w.setCursorType($r.kRect);let x=await w.go();if(!x){p([]);return}R.MrxDbgUtils.findEntAtPoint(x).then(T=>{let P=[];T.forEach(O=>{P.push(new wr(O,1))});let j=this.findEntAtPoint(x.x,x.y,x.z,-1,F);j!=0&&P.push(new wr(j,0)),p(P)})})}init(){this.imp||(this.imp=new L.MxCpp.mxcadassemblyimp.McDrawUtility)}}let kr=new JD;const Gi=()=>R.store.state.MxFun.stopRunCommand();function ii(g,o,F,p){const w=g-F,x=o-p;let T=0;return w==0?T=Math.PI/2:T=Math.atan(Math.abs(x/w)),w<0&&x>=0?T=Math.PI-T:w<0&&x<0?T=Math.PI+T:w>=0&&x<0&&(T=Math.PI*2-T),T}async function ti(){const g=new R.MrxDbgUiPrPoint;let o=new R.MxDbLine,F=[];g.setMessage(`
|
|
12
|
-
\u6307\u5B9A\u7B2C\u4E00\u70B9:`);let
|
|
13
|
-
\u6307\u5B9A\u4E0B\u4E00\u4E2A\u70B9:`),
|
|
14
|
-
\u6307\u5B9A\u4E00\u70B9:`);let
|
|
15
|
-
\u6307\u5B9A\u4E8C\u70B9:`),await
|
|
16
|
-
\u6307\u5B9A\u63D2\u5165\u4F4D\u7F6E:`);let
|
|
17
|
-
\u6D4B\u8BD5`;if(
|
|
18
|
-
\u6307\u5B9A\u8D77\u70B9:`);let
|
|
19
|
-
\u6307\u5B9A\u4E0B\u4E00\u4E2A\u70B9:`),
|
|
20
|
-
\u6307\u5B9A\u4E00\u70B9:`);let
|
|
21
|
-
\u6307\u5B9A\u4E8C\u70B9:`),await
|
|
22
|
-
\u6307\u5B9A\u5706\u5F27\u7684\u8D77\u70B9:`),
|
|
23
|
-
\u6307\u5B9A\u5706\u5F27\u7684\u7B2C\u4E8C\u4E2A\u70B9:`),
|
|
24
|
-
\u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3:`),
|
|
25
|
-
\u6307\u5B9A\u5706\u5F27\u7684\u8D77\u70B9:`),
|
|
26
|
-
\u6307\u5B9A\u5706\u5F27\u7684\u7AEF\u70B9(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u89D2\u5EA6(A)/\u5F26\u957F(L)/\u4FEE\u6539\u534A\u5F84(R)]:`),
|
|
27
|
-
\u6307\u5B9A\u5706\u5F27\u7684\u5939\u89D2(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u4FEE\u6539\u534A\u5F84(R)]:`),
|
|
28
|
-
\u6307\u5B9A\u5706\u5F27\u7684\u5939\u89D2(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u4FEE\u6539\u534A\u5F84(R)]:`),
|
|
29
|
-
\u6307\u5B9A\u5706\u5F27\u7684\u534A\u5F84${
|
|
30
|
-
\u6307\u5B9A\u5706\u5F27\u7684\u7AEF\u70B9:`),
|
|
31
|
-
\u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3`),
|
|
32
|
-
\u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3`),
|
|
33
|
-
\u6307\u5B9A\u692D\u5706\u7684\u8F74\u7AEF\u70B9`),
|
|
34
|
-
\u6307\u5B9A\u692D\u5706\u5F27\u8F74\u7684\u53E6\u4E00\u4E2A\u7AEF\u70B9:`),
|
|
35
|
-
\u6307\u5B9A\u53E6\u4E00\u6761\u534A\u8F74\u957F\u5EA6`),
|
|
36
|
-
\u6307\u5B9A\u8D77\u59CB\u89D2\u5EA6`),
|
|
37
|
-
\u6307\u5B9A\u7EC8\u6B62\u89D2\u5EA6`),
|
|
38
|
-
\u9009\u62E9\u5220\u9664\u5BF9\u8C61`)).forEach(
|
|
39
|
-
var xhr = new XMLHttpRequest();
|
|
40
|
-
var wasmUrl = '${g}'
|
|
41
|
-
xhr.open('GET', wasmUrl, false);
|
|
42
|
-
xhr.responseType = 'arraybuffer';
|
|
43
|
-
xhr.send(null);
|
|
44
|
-
if (xhr.status === 200) {
|
|
45
|
-
var binary = xhr.response;
|
|
46
|
-
wasmBinary = binary;
|
|
47
|
-
postMessage({ status: 'ready', module: wasmBinary });
|
|
48
|
-
} else {
|
|
49
|
-
throw new Error(\`Failed to load \${wasmUrl}: \${xhr.status} \${xhr.statusText}\`);
|
|
50
|
-
}
|
|
51
|
-
`,w=new Blob([p],{type:"application/javascript"}),x=URL.createObjectURL(w),T=new Worker(x);T.onmessage=function(P){if(P.data.status==="ready"){const j=P.data.module;o(j)}},T.onerror=P=>{F(P)},T.postMessage({})})}var br=(()=>{var g=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(g=g||__filename),function(o={}){var F=typeof o<"u"?o:{},p,w;F.ready=new Promise(function(e,r){p=e,w=r});var x=Object.assign({},F),T="./this.program",P=(e,r)=>{throw r},j=typeof window=="object",O=typeof importScripts=="function",z=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",X="";function Ce(e){return F.locateFile?F.locateFile(e,X):X+e}var V,K,De;if(z){var re=require("fs"),Z=require("path");O?X=Z.dirname(X)+"/":X=__dirname+"/",V=(e,r)=>(e=Sr(e)?new URL(e):Z.normalize(e),re.readFileSync(e,r?void 0:"utf8")),De=e=>{var r=V(e,!0);return r.buffer||(r=new Uint8Array(r)),r},K=(e,r,i)=>{e=Sr(e)?new URL(e):Z.normalize(e),re.readFile(e,function(t,n){t?i(t):r(n.buffer)})},!F.thisProgram&&process.argv.length>1&&(T=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),P=(e,r)=>{throw process.exitCode=e,r},F.inspect=function(){return"[Emscripten Module object]"}}else(j||O)&&(O?X=self.location.href:typeof document<"u"&&document.currentScript&&(X=document.currentScript.src),g&&(X=g),X.indexOf("blob:")!==0?X=X.substr(0,X.replace(/[?#].*/,"").lastIndexOf("/")+1):X="",V=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},O&&(De=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),K=(e,r,i)=>{var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=()=>{if(t.status==200||t.status==0&&t.response){r(t.response);return}i()},t.onerror=i,t.send(null)});var Ae=F.print||console.log.bind(console),ee=F.printErr||console.warn.bind(console);Object.assign(F,x),x=null,F.arguments&&F.arguments,F.thisProgram&&(T=F.thisProgram),F.quit&&(P=F.quit);var me;F.wasmBinary&&(me=F.wasmBinary);var pe=F.noExitRuntime||!0;typeof WebAssembly!="object"&&ze("no native wasm support detected");var le,ce=!1,ge;function Je(e,r){e||ze(r)}var Fe,ie,be,sr,h,Y,W,xe;function ji(){var e=le.buffer;F.HEAP8=Fe=new Int8Array(e),F.HEAP16=be=new Int16Array(e),F.HEAP32=h=new Int32Array(e),F.HEAPU8=ie=new Uint8Array(e),F.HEAPU16=sr=new Uint16Array(e),F.HEAPU32=Y=new Uint32Array(e),F.HEAPF32=W=new Float32Array(e),F.HEAPF64=xe=new Float64Array(e)}var Wi,Ni=[],Hi=[],oC=[],zi=[],aC=0;function Xi(){return pe||aC>0}function FC(){if(F.preRun)for(typeof F.preRun=="function"&&(F.preRun=[F.preRun]);F.preRun.length;)uC(F.preRun.shift());Mr(Ni)}function sC(){!F.noFSInit&&!A.init.initialized&&A.init(),A.ignorePermissions=!1,Mr(Hi)}function AC(){Mr(oC)}function cC(){if(F.postRun)for(typeof F.postRun=="function"&&(F.postRun=[F.postRun]);F.postRun.length;)lC(F.postRun.shift());Mr(zi)}function uC(e){Ni.unshift(e)}function fC(e){Hi.unshift(e)}function lC(e){zi.unshift(e)}var He=0,Ar=null;function Yl(e){return e}function Fi(e){He++,F.monitorRunDependencies&&F.monitorRunDependencies(He)}function xr(e){if(He--,F.monitorRunDependencies&&F.monitorRunDependencies(He),He==0&&Ar){var r=Ar;Ar=null,r()}}function ze(e){F.onAbort&&F.onAbort(e),e="Aborted("+e+")",ee(e),ce=!0,ge=1,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw w(r),r}var dC="data:application/octet-stream;base64,";function qi(e){return e.startsWith(dC)}function Sr(e){return e.startsWith("file://")}var $e;$e="mxdraw3d_min.wasm",qi($e)||($e=Ce($e));function Qi(e){try{if(e==$e&&me)return new Uint8Array(me);if(De)return De(e);throw"both async and sync fetching of the wasm failed"}catch(r){ze(r)}}function vC(e){if(!me&&(j||O)){if(typeof fetch=="function"&&!Sr(e))return fetch(e,{credentials:"same-origin"}).then(function(r){if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()}).catch(function(){return Qi(e)});if(K)return new Promise(function(r,i){K(e,function(t){r(new Uint8Array(t))},i)})}return Promise.resolve().then(function(){return Qi(e)})}function Ki(e,r,i){return vC(e).then(function(t){return WebAssembly.instantiate(t,r)}).then(function(t){return t}).then(i,function(t){ee("failed to asynchronously prepare wasm: "+t),ze(t)})}function _C(e,r,i,t){return!e&&typeof WebAssembly.instantiateStreaming=="function"&&!qi(r)&&!Sr(r)&&!z&&typeof fetch=="function"?fetch(r,{credentials:"same-origin"}).then(function(n){var E=WebAssembly.instantiateStreaming(n,i);return E.then(t,function(D){return ee("wasm streaming compile failed: "+D),ee("falling back to ArrayBuffer instantiation"),Ki(r,i,t)})}):Ki(r,i,t)}function mC(){var e={env:_D,wasi_snapshot_preview1:_D};function r(t,n){var E=t.exports;return F.asm=E,le=F.asm.memory,ji(),Wi=F.asm.__indirect_function_table,fC(F.asm.__wasm_call_ctors),xr(),E}Fi();function i(t){r(t.instance)}if(F.instantiateWasm)try{return F.instantiateWasm(e,r)}catch(t){ee("Module.instantiateWasm callback failed with error: "+t),w(t)}return _C(me,$e,e,i).catch(w),{}}var Q,ae,pC={1946609:()=>{F.noExitRuntime=!0},1946640:(e,r,i,t)=>{F.ctx.getBufferSubData(e,r,ie.subarray(i,i+t))}};function gC(){F._myCanvasRect=F.canvas.getBoundingClientRect()}function hC(){return Math.round(F._myCanvasRect.top)}function yC(){return Math.round(F._myCanvasRect.left)}function wC(){return F.HEAP8.length}function kC(e){console.debug(se(e))}function bC(e){console.info(se(e))}function xC(e){console.warn(se(e))}function SC(e){console.error(se(e))}function Yi(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Mr(e){for(;e.length>0;)e.shift()(F)}var Tr=[];function MC(e){e.add_ref()}function TC(e){var r=new si(e);return r.get_caught()||r.set_caught(!0),r.set_rethrown(!1),Tr.push(r),MC(r),r.get_exception_ptr()}var Le=0,Pr=[];function f(e){var r=Pr[e];return r||(e>=Pr.length&&(Pr.length=e+1),Pr[e]=r=Wi.get(e)),r}function PC(e){if(e.release_ref()&&!e.get_rethrown()){var r=e.get_destructor();r&&f(r)(e.excPtr),wD(e.excPtr)}}function LC(){l(0);var e=Tr.pop();PC(e),Le=0}function si(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(r){Y[this.ptr+4>>2]=r},this.get_type=function(){return Y[this.ptr+4>>2]},this.set_destructor=function(r){Y[this.ptr+8>>2]=r},this.get_destructor=function(){return Y[this.ptr+8>>2]},this.set_refcount=function(r){h[this.ptr>>2]=r},this.set_caught=function(r){r=r?1:0,Fe[this.ptr+12>>0]=r},this.get_caught=function(){return Fe[this.ptr+12>>0]!=0},this.set_rethrown=function(r){r=r?1:0,Fe[this.ptr+13>>0]=r},this.get_rethrown=function(){return Fe[this.ptr+13>>0]!=0},this.init=function(r,i){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(i),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var r=h[this.ptr>>2];h[this.ptr>>2]=r+1},this.release_ref=function(){var r=h[this.ptr>>2];return h[this.ptr>>2]=r-1,r===1},this.set_adjusted_ptr=function(r){Y[this.ptr+16>>2]=r},this.get_adjusted_ptr=function(){return Y[this.ptr+16>>2]},this.get_exception_ptr=function(){var r=TD(this.get_type());if(r)return Y[this.excPtr>>2];var i=this.get_adjusted_ptr();return i!==0?i:this.excPtr}}function RC(e){throw Le||(Le=e),Le}function Lr(){var e=Le;if(!e)return mr(0),0;var r=new si(e);r.set_adjusted_ptr(e);var i=r.get_type();if(!i)return mr(0),e;for(var t=0;t<arguments.length;t++){var n=arguments[t];if(n===0||n===i)break;var E=r.ptr+16;if(MD(n,i,E))return mr(n),e}return mr(i),e}var GC=Lr,IC=Lr,UC=Lr,OC=Lr;function VC(){var e=Tr.pop();e||ze("no exception to throw");var r=e.excPtr;throw e.get_rethrown()||(Tr.push(e),e.set_rethrown(!0),e.set_caught(!1)),Le=r,Le}function jC(e,r,i){var t=new si(e);throw t.init(r,i),Le=e,Le}var Be={isAbs:e=>e.charAt(0)==="/",splitPath:e=>{var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return r.exec(e).slice(1)},normalizeArray:(e,r)=>{for(var i=0,t=e.length-1;t>=0;t--){var n=e[t];n==="."?e.splice(t,1):n===".."?(e.splice(t,1),i++):i&&(e.splice(t,1),i--)}if(r)for(;i;i--)e.unshift("..");return e},normalize:e=>{var r=Be.isAbs(e),i=e.substr(-1)==="/";return e=Be.normalizeArray(e.split("/").filter(t=>!!t),!r).join("/"),!e&&!r&&(e="."),e&&i&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Be.splitPath(e),i=r[0],t=r[1];return!i&&!t?".":(t&&(t=t.substr(0,t.length-1)),i+t)},basename:e=>{if(e==="/")return"/";e=Be.normalize(e),e=e.replace(/\/$/,"");var r=e.lastIndexOf("/");return r===-1?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Be.normalize(e.join("/"))},join2:(e,r)=>Be.normalize(e+"/"+r)};function WC(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return t=>crypto.getRandomValues(t);if(z)try{var e=require("crypto"),r=e.randomFillSync;if(r)return t=>e.randomFillSync(t);var i=e.randomBytes;return t=>(t.set(i(t.byteLength)),t)}catch{}ze("initRandomDevice")}function Ji(e){return(Ji=WC())(e)}var Se={resolve:function(){for(var e="",r=!1,i=arguments.length-1;i>=-1&&!r;i--){var t=i>=0?arguments[i]:A.cwd();if(typeof t!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!t)return"";e=t+"/"+e,r=Be.isAbs(t)}return e=Be.normalizeArray(e.split("/").filter(n=>!!n),!r).join("/"),(r?"/":"")+e||"."},relative:(e,r)=>{e=Se.resolve(e).substr(1),r=Se.resolve(r).substr(1);function i(a){for(var s=0;s<a.length&&a[s]==="";s++);for(var c=a.length-1;c>=0&&a[c]==="";c--);return s>c?[]:a.slice(s,c-s+1)}for(var t=i(e.split("/")),n=i(r.split("/")),E=Math.min(t.length,n.length),D=E,C=0;C<E;C++)if(t[C]!==n[C]){D=C;break}for(var B=[],C=D;C<t.length;C++)B.push("..");return B=B.concat(n.slice(D)),B.join("/")}};function Ze(e){for(var r=0,i=0;i<e.length;++i){var t=e.charCodeAt(i);t<=127?r++:t<=2047?r+=2:t>=55296&&t<=57343?(r+=4,++i):r+=3}return r}function Ai(e,r,i,t){if(!(t>0))return 0;for(var n=i,E=i+t-1,D=0;D<e.length;++D){var C=e.charCodeAt(D);if(C>=55296&&C<=57343){var B=e.charCodeAt(++D);C=65536+((C&1023)<<10)|B&1023}if(C<=127){if(i>=E)break;r[i++]=C}else if(C<=2047){if(i+1>=E)break;r[i++]=192|C>>6,r[i++]=128|C&63}else if(C<=65535){if(i+2>=E)break;r[i++]=224|C>>12,r[i++]=128|C>>6&63,r[i++]=128|C&63}else{if(i+3>=E)break;r[i++]=240|C>>18,r[i++]=128|C>>12&63,r[i++]=128|C>>6&63,r[i++]=128|C&63}}return r[i]=0,i-n}function Rr(e,r,i){var t=i>0?i:Ze(e)+1,n=new Array(t),E=Ai(e,n,0,n.length);return r&&(n.length=E),n}var Xe={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){Xe.ttys[e]={input:[],output:[],ops:r},A.registerDevice(e,Xe.stream_ops)},stream_ops:{open:function(e){var r=Xe.ttys[e.node.rdev];if(!r)throw new A.ErrnoError(43);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,r,i,t,n){if(!e.tty||!e.tty.ops.get_char)throw new A.ErrnoError(60);for(var E=0,D=0;D<t;D++){var C;try{C=e.tty.ops.get_char(e.tty)}catch{throw new A.ErrnoError(29)}if(C===void 0&&E===0)throw new A.ErrnoError(6);if(C==null)break;E++,r[i+D]=C}return E&&(e.node.timestamp=Date.now()),E},write:function(e,r,i,t,n){if(!e.tty||!e.tty.ops.put_char)throw new A.ErrnoError(60);try{for(var E=0;E<t;E++)e.tty.ops.put_char(e.tty,r[i+E])}catch{throw new A.ErrnoError(29)}return t&&(e.node.timestamp=Date.now()),E}},default_tty_ops:{get_char:function(e){if(!e.input.length){var r=null;if(z){var i=256,t=Buffer.alloc(i),n=0;try{n=re.readSync(process.stdin.fd,t,0,i,-1)}catch(E){if(E.toString().includes("EOF"))n=0;else throw E}n>0?r=t.slice(0,n).toString("utf-8"):r=null}else typeof window<"u"&&typeof window.prompt=="function"?(r=window.prompt("Input: "),r!==null&&(r+=`
|
|
52
|
-
`)):typeof readline=="function"&&(r=readline(),r!==null&&(r+=`
|
|
53
|
-
`));if(!r)return null;e.input=Rr(r,!0)}return e.input.shift()},put_char:function(e,r){r===null||r===10?(Ae(er(e.output,0)),e.output=[]):r!=0&&e.output.push(r)},fsync:function(e){e.output&&e.output.length>0&&(Ae(er(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){r===null||r===10?(ee(er(e.output,0)),e.output=[]):r!=0&&e.output.push(r)},fsync:function(e){e.output&&e.output.length>0&&(ee(er(e.output,0)),e.output=[])}}};function NC(e,r){return ie.fill(0,e,e+r),e}function HC(e,r){return Math.ceil(e/r)*r}function $i(e){e=HC(e,65536);var r=xD(65536,e);return r?NC(r,e):0}var $={ops_table:null,mount:function(e){return $.createNode(null,"/",16895,0)},createNode:function(e,r,i,t){if(A.isBlkdev(i)||A.isFIFO(i))throw new A.ErrnoError(63);$.ops_table||($.ops_table={dir:{node:{getattr:$.node_ops.getattr,setattr:$.node_ops.setattr,lookup:$.node_ops.lookup,mknod:$.node_ops.mknod,rename:$.node_ops.rename,unlink:$.node_ops.unlink,rmdir:$.node_ops.rmdir,readdir:$.node_ops.readdir,symlink:$.node_ops.symlink},stream:{llseek:$.stream_ops.llseek}},file:{node:{getattr:$.node_ops.getattr,setattr:$.node_ops.setattr},stream:{llseek:$.stream_ops.llseek,read:$.stream_ops.read,write:$.stream_ops.write,allocate:$.stream_ops.allocate,mmap:$.stream_ops.mmap,msync:$.stream_ops.msync}},link:{node:{getattr:$.node_ops.getattr,setattr:$.node_ops.setattr,readlink:$.node_ops.readlink},stream:{}},chrdev:{node:{getattr:$.node_ops.getattr,setattr:$.node_ops.setattr},stream:A.chrdev_stream_ops}});var n=A.createNode(e,r,i,t);return A.isDir(n.mode)?(n.node_ops=$.ops_table.dir.node,n.stream_ops=$.ops_table.dir.stream,n.contents={}):A.isFile(n.mode)?(n.node_ops=$.ops_table.file.node,n.stream_ops=$.ops_table.file.stream,n.usedBytes=0,n.contents=null):A.isLink(n.mode)?(n.node_ops=$.ops_table.link.node,n.stream_ops=$.ops_table.link.stream):A.isChrdev(n.mode)&&(n.node_ops=$.ops_table.chrdev.node,n.stream_ops=$.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[r]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,r){var i=e.contents?e.contents.length:0;if(!(i>=r)){var t=1024*1024;r=Math.max(r,i*(i<t?2:1.125)>>>0),i!=0&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,r){if(e.usedBytes!=r)if(r==0)e.contents=null,e.usedBytes=0;else{var i=e.contents;e.contents=new Uint8Array(r),i&&e.contents.set(i.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr:function(e){var r={};return r.dev=A.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,A.isDir(e.mode)?r.size=4096:A.isFile(e.mode)?r.size=e.usedBytes:A.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr:function(e,r){r.mode!==void 0&&(e.mode=r.mode),r.timestamp!==void 0&&(e.timestamp=r.timestamp),r.size!==void 0&&$.resizeFileStorage(e,r.size)},lookup:function(e,r){throw A.genericErrors[44]},mknod:function(e,r,i,t){return $.createNode(e,r,i,t)},rename:function(e,r,i){if(A.isDir(e.mode)){var t;try{t=A.lookupNode(r,i)}catch{}if(t)for(var n in t.contents)throw new A.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=i,r.contents[i]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink:function(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir:function(e,r){var i=A.lookupNode(e,r);for(var t in i.contents)throw new A.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir:function(e){var r=[".",".."];for(var i in e.contents)!e.contents.hasOwnProperty(i)||r.push(i);return r},symlink:function(e,r,i){var t=$.createNode(e,r,41471,0);return t.link=i,t},readlink:function(e){if(!A.isLink(e.mode))throw new A.ErrnoError(28);return e.link}},stream_ops:{read:function(e,r,i,t,n){var E=e.node.contents;if(n>=e.node.usedBytes)return 0;var D=Math.min(e.node.usedBytes-n,t);if(D>8&&E.subarray)r.set(E.subarray(n,n+D),i);else for(var C=0;C<D;C++)r[i+C]=E[n+C];return D},write:function(e,r,i,t,n,E){if(r.buffer===Fe.buffer&&(E=!1),!t)return 0;var D=e.node;if(D.timestamp=Date.now(),r.subarray&&(!D.contents||D.contents.subarray)){if(E)return D.contents=r.subarray(i,i+t),D.usedBytes=t,t;if(D.usedBytes===0&&n===0)return D.contents=r.slice(i,i+t),D.usedBytes=t,t;if(n+t<=D.usedBytes)return D.contents.set(r.subarray(i,i+t),n),t}if($.expandFileStorage(D,n+t),D.contents.subarray&&r.subarray)D.contents.set(r.subarray(i,i+t),n);else for(var C=0;C<t;C++)D.contents[n+C]=r[i+C];return D.usedBytes=Math.max(D.usedBytes,n+t),t},llseek:function(e,r,i){var t=r;if(i===1?t+=e.position:i===2&&A.isFile(e.node.mode)&&(t+=e.node.usedBytes),t<0)throw new A.ErrnoError(28);return t},allocate:function(e,r,i){$.expandFileStorage(e.node,r+i),e.node.usedBytes=Math.max(e.node.usedBytes,r+i)},mmap:function(e,r,i,t,n){if(!A.isFile(e.node.mode))throw new A.ErrnoError(43);var E,D,C=e.node.contents;if(!(n&2)&&C.buffer===Fe.buffer)D=!1,E=C.byteOffset;else{if((i>0||i+r<C.length)&&(C.subarray?C=C.subarray(i,i+r):C=Array.prototype.slice.call(C,i,i+r)),D=!0,E=$i(r),!E)throw new A.ErrnoError(48);Fe.set(C,E)}return{ptr:E,allocated:D}},msync:function(e,r,i,t,n){return $.stream_ops.write(e,r,0,t,i,!1),0}}};function Zi(e,r,i,t){var n=t?"":"al "+e;K(e,E=>{Je(E,'Loading data file "'+e+'" failed (no arrayBuffer).'),r(new Uint8Array(E)),n&&xr()},E=>{if(i)i();else throw'Loading data file "'+e+'" failed.'}),n&&Fi()}var A={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(e,r={})=>{if(e=Se.resolve(e),!e)return{path:"",node:null};var i={follow_mount:!0,recurse_count:0};if(r=Object.assign(i,r),r.recurse_count>8)throw new A.ErrnoError(32);for(var t=e.split("/").filter(c=>!!c),n=A.root,E="/",D=0;D<t.length;D++){var C=D===t.length-1;if(C&&r.parent)break;if(n=A.lookupNode(n,t[D]),E=Be.join2(E,t[D]),A.isMountpoint(n)&&(!C||C&&r.follow_mount)&&(n=n.mounted.root),!C||r.follow)for(var B=0;A.isLink(n.mode);){var a=A.readlink(E);E=Se.resolve(Be.dirname(E),a);var s=A.lookupPath(E,{recurse_count:r.recurse_count+1});if(n=s.node,B++>40)throw new A.ErrnoError(32)}}return{path:E,node:n}},getPath:e=>{for(var r;;){if(A.isRoot(e)){var i=e.mount.mountpoint;return r?i[i.length-1]!=="/"?i+"/"+r:i+r:i}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:(e,r)=>{for(var i=0,t=0;t<r.length;t++)i=(i<<5)-i+r.charCodeAt(t)|0;return(e+i>>>0)%A.nameTable.length},hashAddNode:e=>{var r=A.hashName(e.parent.id,e.name);e.name_next=A.nameTable[r],A.nameTable[r]=e},hashRemoveNode:e=>{var r=A.hashName(e.parent.id,e.name);if(A.nameTable[r]===e)A.nameTable[r]=e.name_next;else for(var i=A.nameTable[r];i;){if(i.name_next===e){i.name_next=e.name_next;break}i=i.name_next}},lookupNode:(e,r)=>{var i=A.mayLookup(e);if(i)throw new A.ErrnoError(i,e);for(var t=A.hashName(e.id,r),n=A.nameTable[t];n;n=n.name_next){var E=n.name;if(n.parent.id===e.id&&E===r)return n}return A.lookup(e,r)},createNode:(e,r,i,t)=>{var n=new A.FSNode(e,r,i,t);return A.hashAddNode(n),n},destroyNode:e=>{A.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(e&61440)===32768,isDir:e=>(e&61440)===16384,isLink:e=>(e&61440)===40960,isChrdev:e=>(e&61440)===8192,isBlkdev:e=>(e&61440)===24576,isFIFO:e=>(e&61440)===4096,isSocket:e=>(e&49152)===49152,flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var r=A.flagModes[e];if(typeof r>"u")throw new Error("Unknown file open mode: "+e);return r},flagsToPermissionString:e=>{var r=["r","w","rw"][e&3];return e&512&&(r+="w"),r},nodePermissions:(e,r)=>A.ignorePermissions?0:r.includes("r")&&!(e.mode&292)||r.includes("w")&&!(e.mode&146)||r.includes("x")&&!(e.mode&73)?2:0,mayLookup:e=>{var r=A.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate:(e,r)=>{try{var i=A.lookupNode(e,r);return 20}catch{}return A.nodePermissions(e,"wx")},mayDelete:(e,r,i)=>{var t;try{t=A.lookupNode(e,r)}catch(E){return E.errno}var n=A.nodePermissions(e,"wx");if(n)return n;if(i){if(!A.isDir(t.mode))return 54;if(A.isRoot(t)||A.getPath(t)===A.cwd())return 10}else if(A.isDir(t.mode))return 31;return 0},mayOpen:(e,r)=>e?A.isLink(e.mode)?32:A.isDir(e.mode)&&(A.flagsToPermissionString(r)!=="r"||r&512)?31:A.nodePermissions(e,A.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,r=A.MAX_OPEN_FDS)=>{for(var i=e;i<=r;i++)if(!A.streams[i])return i;throw new A.ErrnoError(33)},getStream:e=>A.streams[e],createStream:(e,r,i)=>{A.FSStream||(A.FSStream=function(){this.shared={}},A.FSStream.prototype={},Object.defineProperties(A.FSStream.prototype,{object:{get:function(){return this.node},set:function(n){this.node=n}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(n){this.shared.flags=n}},position:{get:function(){return this.shared.position},set:function(n){this.shared.position=n}}})),e=Object.assign(new A.FSStream,e);var t=A.nextfd(r,i);return e.fd=t,A.streams[t]=e,e},closeStream:e=>{A.streams[e]=null},chrdev_stream_ops:{open:e=>{var r=A.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new A.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,r)=>e<<8|r,registerDevice:(e,r)=>{A.devices[e]={stream_ops:r}},getDevice:e=>A.devices[e],getMounts:e=>{for(var r=[],i=[e];i.length;){var t=i.pop();r.push(t),i.push.apply(i,t.mounts)}return r},syncfs:(e,r)=>{typeof e=="function"&&(r=e,e=!1),A.syncFSRequests++,A.syncFSRequests>1&&ee("warning: "+A.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var i=A.getMounts(A.root.mount),t=0;function n(D){return A.syncFSRequests--,r(D)}function E(D){if(D)return E.errored?void 0:(E.errored=!0,n(D));++t>=i.length&&n(null)}i.forEach(D=>{if(!D.type.syncfs)return E(null);D.type.syncfs(D,e,E)})},mount:(e,r,i)=>{var t=i==="/",n=!i,E;if(t&&A.root)throw new A.ErrnoError(10);if(!t&&!n){var D=A.lookupPath(i,{follow_mount:!1});if(i=D.path,E=D.node,A.isMountpoint(E))throw new A.ErrnoError(10);if(!A.isDir(E.mode))throw new A.ErrnoError(54)}var C={type:e,opts:r,mountpoint:i,mounts:[]},B=e.mount(C);return B.mount=C,C.root=B,t?A.root=B:E&&(E.mounted=C,E.mount&&E.mount.mounts.push(C)),B},unmount:e=>{var r=A.lookupPath(e,{follow_mount:!1});if(!A.isMountpoint(r.node))throw new A.ErrnoError(28);var i=r.node,t=i.mounted,n=A.getMounts(t);Object.keys(A.nameTable).forEach(D=>{for(var C=A.nameTable[D];C;){var B=C.name_next;n.includes(C.mount)&&A.destroyNode(C),C=B}}),i.mounted=null;var E=i.mount.mounts.indexOf(t);i.mount.mounts.splice(E,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod:(e,r,i)=>{var t=A.lookupPath(e,{parent:!0}),n=t.node,E=Be.basename(e);if(!E||E==="."||E==="..")throw new A.ErrnoError(28);var D=A.mayCreate(n,E);if(D)throw new A.ErrnoError(D);if(!n.node_ops.mknod)throw new A.ErrnoError(63);return n.node_ops.mknod(n,E,r,i)},create:(e,r)=>(r=r!==void 0?r:438,r&=4095,r|=32768,A.mknod(e,r,0)),mkdir:(e,r)=>(r=r!==void 0?r:511,r&=1023,r|=16384,A.mknod(e,r,0)),mkdirTree:(e,r)=>{for(var i=e.split("/"),t="",n=0;n<i.length;++n)if(!!i[n]){t+="/"+i[n];try{A.mkdir(t,r)}catch(E){if(E.errno!=20)throw E}}},mkdev:(e,r,i)=>(typeof i>"u"&&(i=r,r=438),r|=8192,A.mknod(e,r,i)),symlink:(e,r)=>{if(!Se.resolve(e))throw new A.ErrnoError(44);var i=A.lookupPath(r,{parent:!0}),t=i.node;if(!t)throw new A.ErrnoError(44);var n=Be.basename(r),E=A.mayCreate(t,n);if(E)throw new A.ErrnoError(E);if(!t.node_ops.symlink)throw new A.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename:(e,r)=>{var i=Be.dirname(e),t=Be.dirname(r),n=Be.basename(e),E=Be.basename(r),D,C,B;if(D=A.lookupPath(e,{parent:!0}),C=D.node,D=A.lookupPath(r,{parent:!0}),B=D.node,!C||!B)throw new A.ErrnoError(44);if(C.mount!==B.mount)throw new A.ErrnoError(75);var a=A.lookupNode(C,n),s=Se.relative(e,t);if(s.charAt(0)!==".")throw new A.ErrnoError(28);if(s=Se.relative(r,i),s.charAt(0)!==".")throw new A.ErrnoError(55);var c;try{c=A.lookupNode(B,E)}catch{}if(a!==c){var m=A.isDir(a.mode),y=A.mayDelete(C,n,m);if(y)throw new A.ErrnoError(y);if(y=c?A.mayDelete(B,E,m):A.mayCreate(B,E),y)throw new A.ErrnoError(y);if(!C.node_ops.rename)throw new A.ErrnoError(63);if(A.isMountpoint(a)||c&&A.isMountpoint(c))throw new A.ErrnoError(10);if(B!==C&&(y=A.nodePermissions(C,"w"),y))throw new A.ErrnoError(y);A.hashRemoveNode(a);try{C.node_ops.rename(a,B,E)}catch(k){throw k}finally{A.hashAddNode(a)}}},rmdir:e=>{var r=A.lookupPath(e,{parent:!0}),i=r.node,t=Be.basename(e),n=A.lookupNode(i,t),E=A.mayDelete(i,t,!0);if(E)throw new A.ErrnoError(E);if(!i.node_ops.rmdir)throw new A.ErrnoError(63);if(A.isMountpoint(n))throw new A.ErrnoError(10);i.node_ops.rmdir(i,t),A.destroyNode(n)},readdir:e=>{var r=A.lookupPath(e,{follow:!0}),i=r.node;if(!i.node_ops.readdir)throw new A.ErrnoError(54);return i.node_ops.readdir(i)},unlink:e=>{var r=A.lookupPath(e,{parent:!0}),i=r.node;if(!i)throw new A.ErrnoError(44);var t=Be.basename(e),n=A.lookupNode(i,t),E=A.mayDelete(i,t,!1);if(E)throw new A.ErrnoError(E);if(!i.node_ops.unlink)throw new A.ErrnoError(63);if(A.isMountpoint(n))throw new A.ErrnoError(10);i.node_ops.unlink(i,t),A.destroyNode(n)},readlink:e=>{var r=A.lookupPath(e),i=r.node;if(!i)throw new A.ErrnoError(44);if(!i.node_ops.readlink)throw new A.ErrnoError(28);return Se.resolve(A.getPath(i.parent),i.node_ops.readlink(i))},stat:(e,r)=>{var i=A.lookupPath(e,{follow:!r}),t=i.node;if(!t)throw new A.ErrnoError(44);if(!t.node_ops.getattr)throw new A.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>A.stat(e,!0),chmod:(e,r,i)=>{var t;if(typeof e=="string"){var n=A.lookupPath(e,{follow:!i});t=n.node}else t=e;if(!t.node_ops.setattr)throw new A.ErrnoError(63);t.node_ops.setattr(t,{mode:r&4095|t.mode&-4096,timestamp:Date.now()})},lchmod:(e,r)=>{A.chmod(e,r,!0)},fchmod:(e,r)=>{var i=A.getStream(e);if(!i)throw new A.ErrnoError(8);A.chmod(i.node,r)},chown:(e,r,i,t)=>{var n;if(typeof e=="string"){var E=A.lookupPath(e,{follow:!t});n=E.node}else n=e;if(!n.node_ops.setattr)throw new A.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown:(e,r,i)=>{A.chown(e,r,i,!0)},fchown:(e,r,i)=>{var t=A.getStream(e);if(!t)throw new A.ErrnoError(8);A.chown(t.node,r,i)},truncate:(e,r)=>{if(r<0)throw new A.ErrnoError(28);var i;if(typeof e=="string"){var t=A.lookupPath(e,{follow:!0});i=t.node}else i=e;if(!i.node_ops.setattr)throw new A.ErrnoError(63);if(A.isDir(i.mode))throw new A.ErrnoError(31);if(!A.isFile(i.mode))throw new A.ErrnoError(28);var n=A.nodePermissions(i,"w");if(n)throw new A.ErrnoError(n);i.node_ops.setattr(i,{size:r,timestamp:Date.now()})},ftruncate:(e,r)=>{var i=A.getStream(e);if(!i)throw new A.ErrnoError(8);if((i.flags&2097155)===0)throw new A.ErrnoError(28);A.truncate(i.node,r)},utime:(e,r,i)=>{var t=A.lookupPath(e,{follow:!0}),n=t.node;n.node_ops.setattr(n,{timestamp:Math.max(r,i)})},open:(e,r,i)=>{if(e==="")throw new A.ErrnoError(44);r=typeof r=="string"?A.modeStringToFlags(r):r,i=typeof i>"u"?438:i,r&64?i=i&4095|32768:i=0;var t;if(typeof e=="object")t=e;else{e=Be.normalize(e);try{var n=A.lookupPath(e,{follow:!(r&131072)});t=n.node}catch{}}var E=!1;if(r&64)if(t){if(r&128)throw new A.ErrnoError(20)}else t=A.mknod(e,i,0),E=!0;if(!t)throw new A.ErrnoError(44);if(A.isChrdev(t.mode)&&(r&=-513),r&65536&&!A.isDir(t.mode))throw new A.ErrnoError(54);if(!E){var D=A.mayOpen(t,r);if(D)throw new A.ErrnoError(D)}r&512&&!E&&A.truncate(t,0),r&=-131713;var C=A.createStream({node:t,path:A.getPath(t),flags:r,seekable:!0,position:0,stream_ops:t.stream_ops,ungotten:[],error:!1});return C.stream_ops.open&&C.stream_ops.open(C),F.logReadFiles&&!(r&1)&&(A.readFiles||(A.readFiles={}),e in A.readFiles||(A.readFiles[e]=1)),C},close:e=>{if(A.isClosed(e))throw new A.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(r){throw r}finally{A.closeStream(e.fd)}e.fd=null},isClosed:e=>e.fd===null,llseek:(e,r,i)=>{if(A.isClosed(e))throw new A.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new A.ErrnoError(70);if(i!=0&&i!=1&&i!=2)throw new A.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,i),e.ungotten=[],e.position},read:(e,r,i,t,n)=>{if(t<0||n<0)throw new A.ErrnoError(28);if(A.isClosed(e))throw new A.ErrnoError(8);if((e.flags&2097155)===1)throw new A.ErrnoError(8);if(A.isDir(e.node.mode))throw new A.ErrnoError(31);if(!e.stream_ops.read)throw new A.ErrnoError(28);var E=typeof n<"u";if(!E)n=e.position;else if(!e.seekable)throw new A.ErrnoError(70);var D=e.stream_ops.read(e,r,i,t,n);return E||(e.position+=D),D},write:(e,r,i,t,n,E)=>{if(t<0||n<0)throw new A.ErrnoError(28);if(A.isClosed(e))throw new A.ErrnoError(8);if((e.flags&2097155)===0)throw new A.ErrnoError(8);if(A.isDir(e.node.mode))throw new A.ErrnoError(31);if(!e.stream_ops.write)throw new A.ErrnoError(28);e.seekable&&e.flags&1024&&A.llseek(e,0,2);var D=typeof n<"u";if(!D)n=e.position;else if(!e.seekable)throw new A.ErrnoError(70);var C=e.stream_ops.write(e,r,i,t,n,E);return D||(e.position+=C),C},allocate:(e,r,i)=>{if(A.isClosed(e))throw new A.ErrnoError(8);if(r<0||i<=0)throw new A.ErrnoError(28);if((e.flags&2097155)===0)throw new A.ErrnoError(8);if(!A.isFile(e.node.mode)&&!A.isDir(e.node.mode))throw new A.ErrnoError(43);if(!e.stream_ops.allocate)throw new A.ErrnoError(138);e.stream_ops.allocate(e,r,i)},mmap:(e,r,i,t,n)=>{if((t&2)!==0&&(n&2)===0&&(e.flags&2097155)!==2)throw new A.ErrnoError(2);if((e.flags&2097155)===1)throw new A.ErrnoError(2);if(!e.stream_ops.mmap)throw new A.ErrnoError(43);return e.stream_ops.mmap(e,r,i,t,n)},msync:(e,r,i,t,n)=>e.stream_ops.msync?e.stream_ops.msync(e,r,i,t,n):0,munmap:e=>0,ioctl:(e,r,i)=>{if(!e.stream_ops.ioctl)throw new A.ErrnoError(59);return e.stream_ops.ioctl(e,r,i)},readFile:(e,r={})=>{if(r.flags=r.flags||0,r.encoding=r.encoding||"binary",r.encoding!=="utf8"&&r.encoding!=="binary")throw new Error('Invalid encoding type "'+r.encoding+'"');var i,t=A.open(e,r.flags),n=A.stat(e),E=n.size,D=new Uint8Array(E);return A.read(t,D,0,E,0),r.encoding==="utf8"?i=er(D,0):r.encoding==="binary"&&(i=D),A.close(t),i},writeFile:(e,r,i={})=>{i.flags=i.flags||577;var t=A.open(e,i.flags,i.mode);if(typeof r=="string"){var n=new Uint8Array(Ze(r)+1),E=Ai(r,n,0,n.length);A.write(t,n,0,E,void 0,i.canOwn)}else if(ArrayBuffer.isView(r))A.write(t,r,0,r.byteLength,void 0,i.canOwn);else throw new Error("Unsupported data type");A.close(t)},cwd:()=>A.currentPath,chdir:e=>{var r=A.lookupPath(e,{follow:!0});if(r.node===null)throw new A.ErrnoError(44);if(!A.isDir(r.node.mode))throw new A.ErrnoError(54);var i=A.nodePermissions(r.node,"x");if(i)throw new A.ErrnoError(i);A.currentPath=r.path},createDefaultDirectories:()=>{A.mkdir("/tmp"),A.mkdir("/home"),A.mkdir("/home/web_user")},createDefaultDevices:()=>{A.mkdir("/dev"),A.registerDevice(A.makedev(1,3),{read:()=>0,write:(t,n,E,D,C)=>D}),A.mkdev("/dev/null",A.makedev(1,3)),Xe.register(A.makedev(5,0),Xe.default_tty_ops),Xe.register(A.makedev(6,0),Xe.default_tty1_ops),A.mkdev("/dev/tty",A.makedev(5,0)),A.mkdev("/dev/tty1",A.makedev(6,0));var e=new Uint8Array(1024),r=0,i=()=>(r===0&&(r=Ji(e).byteLength),e[--r]);A.createDevice("/dev","random",i),A.createDevice("/dev","urandom",i),A.mkdir("/dev/shm"),A.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{A.mkdir("/proc");var e=A.mkdir("/proc/self");A.mkdir("/proc/self/fd"),A.mount({mount:()=>{var r=A.createNode(e,"fd",16895,73);return r.node_ops={lookup:(i,t)=>{var n=+t,E=A.getStream(n);if(!E)throw new A.ErrnoError(8);var D={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>E.path}};return D.parent=D,D}},r}},{},"/proc/self/fd")},createStandardStreams:()=>{F.stdin?A.createDevice("/dev","stdin",F.stdin):A.symlink("/dev/tty","/dev/stdin"),F.stdout?A.createDevice("/dev","stdout",null,F.stdout):A.symlink("/dev/tty","/dev/stdout"),F.stderr?A.createDevice("/dev","stderr",null,F.stderr):A.symlink("/dev/tty1","/dev/stderr"),A.open("/dev/stdin",0),A.open("/dev/stdout",1),A.open("/dev/stderr",1)},ensureErrnoError:()=>{A.ErrnoError||(A.ErrnoError=function(r,i){this.name="ErrnoError",this.node=i,this.setErrno=function(t){this.errno=t},this.setErrno(r),this.message="FS error"},A.ErrnoError.prototype=new Error,A.ErrnoError.prototype.constructor=A.ErrnoError,[44].forEach(e=>{A.genericErrors[e]=new A.ErrnoError(e),A.genericErrors[e].stack="<generic error, no stack>"}))},staticInit:()=>{A.ensureErrnoError(),A.nameTable=new Array(4096),A.mount($,{},"/"),A.createDefaultDirectories(),A.createDefaultDevices(),A.createSpecialDirectories(),A.filesystems={MEMFS:$}},init:(e,r,i)=>{A.init.initialized=!0,A.ensureErrnoError(),F.stdin=e||F.stdin,F.stdout=r||F.stdout,F.stderr=i||F.stderr,A.createStandardStreams()},quit:()=>{A.init.initialized=!1;for(var e=0;e<A.streams.length;e++){var r=A.streams[e];!r||A.close(r)}},getMode:(e,r)=>{var i=0;return e&&(i|=365),r&&(i|=146),i},findObject:(e,r)=>{var i=A.analyzePath(e,r);return i.exists?i.object:null},analyzePath:(e,r)=>{try{var i=A.lookupPath(e,{follow:!r});e=i.path}catch{}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=A.lookupPath(e,{parent:!0});t.parentExists=!0,t.parentPath=i.path,t.parentObject=i.node,t.name=Be.basename(e),i=A.lookupPath(e,{follow:!r}),t.exists=!0,t.path=i.path,t.object=i.node,t.name=i.node.name,t.isRoot=i.path==="/"}catch(n){t.error=n.errno}return t},createPath:(e,r,i,t)=>{e=typeof e=="string"?e:A.getPath(e);for(var n=r.split("/").reverse();n.length;){var E=n.pop();if(!!E){var D=Be.join2(e,E);try{A.mkdir(D)}catch{}e=D}}return D},createFile:(e,r,i,t,n)=>{var E=Be.join2(typeof e=="string"?e:A.getPath(e),r),D=A.getMode(t,n);return A.create(E,D)},createDataFile:(e,r,i,t,n,E)=>{var D=r;e&&(e=typeof e=="string"?e:A.getPath(e),D=r?Be.join2(e,r):e);var C=A.getMode(t,n),B=A.create(D,C);if(i){if(typeof i=="string"){for(var a=new Array(i.length),s=0,c=i.length;s<c;++s)a[s]=i.charCodeAt(s);i=a}A.chmod(B,C|146);var m=A.open(B,577);A.write(m,i,0,i.length,0,E),A.close(m),A.chmod(B,C)}return B},createDevice:(e,r,i,t)=>{var n=Be.join2(typeof e=="string"?e:A.getPath(e),r),E=A.getMode(!!i,!!t);A.createDevice.major||(A.createDevice.major=64);var D=A.makedev(A.createDevice.major++,0);return A.registerDevice(D,{open:C=>{C.seekable=!1},close:C=>{t&&t.buffer&&t.buffer.length&&t(10)},read:(C,B,a,s,c)=>{for(var m=0,y=0;y<s;y++){var k;try{k=i()}catch{throw new A.ErrnoError(29)}if(k===void 0&&m===0)throw new A.ErrnoError(6);if(k==null)break;m++,B[a+y]=k}return m&&(C.node.timestamp=Date.now()),m},write:(C,B,a,s,c)=>{for(var m=0;m<s;m++)try{t(B[a+m])}catch{throw new A.ErrnoError(29)}return s&&(C.node.timestamp=Date.now()),m}}),A.mkdev(n,E,D)},forceLoadFile:e=>{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(V)try{e.contents=Rr(V(e.url),!0),e.usedBytes=e.contents.length}catch{throw new A.ErrnoError(29)}else throw new Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile:(e,r,i,t,n)=>{function E(){this.lengthKnown=!1,this.chunks=[]}if(E.prototype.get=function(y){if(!(y>this.length-1||y<0)){var k=y%this.chunkSize,M=y/this.chunkSize|0;return this.getter(M)[k]}},E.prototype.setDataGetter=function(y){this.getter=y},E.prototype.cacheLength=function(){var y=new XMLHttpRequest;if(y.open("HEAD",i,!1),y.send(null),!(y.status>=200&&y.status<300||y.status===304))throw new Error("Couldn't load "+i+". Status: "+y.status);var k=Number(y.getResponseHeader("Content-length")),M,G=(M=y.getResponseHeader("Accept-Ranges"))&&M==="bytes",H=(M=y.getResponseHeader("Content-Encoding"))&&M==="gzip",S=1024*1024;G||(S=k);var U=(q,oe)=>{if(q>oe)throw new Error("invalid range ("+q+", "+oe+") or no bytes requested!");if(oe>k-1)throw new Error("only "+k+" bytes available! programmer error!");var Ee=new XMLHttpRequest;if(Ee.open("GET",i,!1),k!==S&&Ee.setRequestHeader("Range","bytes="+q+"-"+oe),Ee.responseType="arraybuffer",Ee.overrideMimeType&&Ee.overrideMimeType("text/plain; charset=x-user-defined"),Ee.send(null),!(Ee.status>=200&&Ee.status<300||Ee.status===304))throw new Error("Couldn't load "+i+". Status: "+Ee.status);return Ee.response!==void 0?new Uint8Array(Ee.response||[]):Rr(Ee.responseText||"",!0)},ne=this;ne.setDataGetter(q=>{var oe=q*S,Ee=(q+1)*S-1;if(Ee=Math.min(Ee,k-1),typeof ne.chunks[q]>"u"&&(ne.chunks[q]=U(oe,Ee)),typeof ne.chunks[q]>"u")throw new Error("doXHR failed!");return ne.chunks[q]}),(H||!k)&&(S=k=1,k=this.getter(0).length,S=k,Ae("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=k,this._chunkSize=S,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!O)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var D=new E;Object.defineProperties(D,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var C={isDevice:!1,contents:D}}else var C={isDevice:!1,url:i};var B=A.createFile(e,r,C,t,n);C.contents?B.contents=C.contents:C.url&&(B.contents=null,B.url=C.url),Object.defineProperties(B,{usedBytes:{get:function(){return this.contents.length}}});var a={},s=Object.keys(B.stream_ops);s.forEach(m=>{var y=B.stream_ops[m];a[m]=function(){return A.forceLoadFile(B),y.apply(null,arguments)}});function c(m,y,k,M,G){var H=m.node.contents;if(G>=H.length)return 0;var S=Math.min(H.length-G,M);if(H.slice)for(var U=0;U<S;U++)y[k+U]=H[G+U];else for(var U=0;U<S;U++)y[k+U]=H.get(G+U);return S}return a.read=(m,y,k,M,G)=>(A.forceLoadFile(B),c(m,y,k,M,G)),a.mmap=(m,y,k,M,G)=>{A.forceLoadFile(B);var H=$i(y);if(!H)throw new A.ErrnoError(48);return c(m,Fe,H,y,k),{ptr:H,allocated:!0}},B.stream_ops=a,B},createPreloadedFile:(e,r,i,t,n,E,D,C,B,a)=>{var s=r?Se.resolve(Be.join2(e,r)):e;function c(m){function y(k){a&&a(),C||A.createDataFile(e,r,k,t,n,B),E&&E(),xr()}b.handledByPreloadPlugin(m,s,y,()=>{D&&D(),xr()})||y(m)}Fi(),typeof i=="string"?Zi(i,m=>c(m),D):c(i)}},et=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function er(e,r,i){for(var t=r+i,n=r;e[n]&&!(n>=t);)++n;if(n-r>16&&e.buffer&&et)return et.decode(e.subarray(r,n));for(var E="";r<n;){var D=e[r++];if(!(D&128)){E+=String.fromCharCode(D);continue}var C=e[r++]&63;if((D&224)==192){E+=String.fromCharCode((D&31)<<6|C);continue}var B=e[r++]&63;if((D&240)==224?D=(D&15)<<12|C<<6|B:D=(D&7)<<18|C<<12|B<<6|e[r++]&63,D<65536)E+=String.fromCharCode(D);else{var a=D-65536;E+=String.fromCharCode(55296|a>>10,56320|a&1023)}}return E}function se(e,r){return e?er(ie,e,r):""}var te={DEFAULT_POLLMASK:5,calculateAt:function(e,r,i){if(Be.isAbs(r))return r;var t;if(e===-100)t=A.cwd();else{var n=te.getStreamFromFD(e);t=n.path}if(r.length==0){if(!i)throw new A.ErrnoError(44);return t}return Be.join2(t,r)},doStat:function(e,r,i){try{var t=e(r)}catch(C){if(C&&C.node&&Be.normalize(r)!==Be.normalize(A.getPath(C.node)))return-54;throw C}h[i>>2]=t.dev,h[i+8>>2]=t.ino,h[i+12>>2]=t.mode,Y[i+16>>2]=t.nlink,h[i+20>>2]=t.uid,h[i+24>>2]=t.gid,h[i+28>>2]=t.rdev,ae=[t.size>>>0,(Q=t.size,+Math.abs(Q)>=1?Q>0?(Math.min(+Math.floor(Q/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],h[i+40>>2]=ae[0],h[i+44>>2]=ae[1],h[i+48>>2]=4096,h[i+52>>2]=t.blocks;var n=t.atime.getTime(),E=t.mtime.getTime(),D=t.ctime.getTime();return ae=[Math.floor(n/1e3)>>>0,(Q=Math.floor(n/1e3),+Math.abs(Q)>=1?Q>0?(Math.min(+Math.floor(Q/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],h[i+56>>2]=ae[0],h[i+60>>2]=ae[1],Y[i+64>>2]=n%1e3*1e3,ae=[Math.floor(E/1e3)>>>0,(Q=Math.floor(E/1e3),+Math.abs(Q)>=1?Q>0?(Math.min(+Math.floor(Q/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],h[i+72>>2]=ae[0],h[i+76>>2]=ae[1],Y[i+80>>2]=E%1e3*1e3,ae=[Math.floor(D/1e3)>>>0,(Q=Math.floor(D/1e3),+Math.abs(Q)>=1?Q>0?(Math.min(+Math.floor(Q/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],h[i+88>>2]=ae[0],h[i+92>>2]=ae[1],Y[i+96>>2]=D%1e3*1e3,ae=[t.ino>>>0,(Q=t.ino,+Math.abs(Q)>=1?Q>0?(Math.min(+Math.floor(Q/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],h[i+104>>2]=ae[0],h[i+108>>2]=ae[1],0},doMsync:function(e,r,i,t,n){if(!A.isFile(r.node.mode))throw new A.ErrnoError(43);if(t&2)return 0;var E=ie.slice(e,e+i);A.msync(r,E,n,i,t)},varargs:void 0,get:function(){te.varargs+=4;var e=h[te.varargs-4>>2];return e},getStr:function(e){var r=se(e);return r},getStreamFromFD:function(e){var r=A.getStream(e);if(!r)throw new A.ErrnoError(8);return r}};function zC(e,r){try{return e=te.getStr(e),A.chmod(e,r),0}catch(i){if(typeof A>"u"||i.name!=="ErrnoError")throw i;return-i.errno}}function XC(e,r,i,t){try{if(r=te.getStr(r),r=te.calculateAt(e,r),i&-8)return-28;var n=A.lookupPath(r,{follow:!0}),E=n.node;if(!E)return-44;var D="";return i&4&&(D+="r"),i&2&&(D+="w"),i&1&&(D+="x"),D&&A.nodePermissions(E,D)?-2:0}catch(C){if(typeof A>"u"||C.name!=="ErrnoError")throw C;return-C.errno}}function qC(e){return h[kD()>>2]=e,e}function QC(e,r,i){te.varargs=i;try{var t=te.getStreamFromFD(e);switch(r){case 0:{var n=te.get();if(n<0)return-28;var E;return E=A.createStream(t,n),E.fd}case 1:case 2:return 0;case 3:return t.flags;case 4:{var n=te.get();return t.flags|=n,0}case 5:{var n=te.get(),D=0;return be[n+D>>1]=2,0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:return qC(28),-1;default:return-28}}catch(C){if(typeof A>"u"||C.name!=="ErrnoError")throw C;return-C.errno}}function KC(e,r){try{var i=te.getStreamFromFD(e);return te.doStat(A.stat,i.path,r)}catch(t){if(typeof A>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}function ue(e,r,i){return Ai(e,ie,r,i)}function YC(e,r,i){try{var t=te.getStreamFromFD(e);t.getdents||(t.getdents=A.readdir(t.path));for(var n=280,E=0,D=A.llseek(t,0,1),C=Math.floor(D/n);C<t.getdents.length&&E+n<=i;){var B,a,s=t.getdents[C];if(s===".")B=t.node.id,a=4;else if(s===".."){var c=A.lookupPath(t.path,{parent:!0});B=c.node.id,a=4}else{var m=A.lookupNode(t.node,s);B=m.id,a=A.isChrdev(m.mode)?2:A.isDir(m.mode)?4:A.isLink(m.mode)?10:8}ae=[B>>>0,(Q=B,+Math.abs(Q)>=1?Q>0?(Math.min(+Math.floor(Q/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],h[r+E>>2]=ae[0],h[r+E+4>>2]=ae[1],ae=[(C+1)*n>>>0,(Q=(C+1)*n,+Math.abs(Q)>=1?Q>0?(Math.min(+Math.floor(Q/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],h[r+E+8>>2]=ae[0],h[r+E+12>>2]=ae[1],be[r+E+16>>1]=280,Fe[r+E+18>>0]=a,ue(s,r+E+19,256),E+=n,C+=1}return A.llseek(t,C*n,0),E}catch(y){if(typeof A>"u"||y.name!=="ErrnoError")throw y;return-y.errno}}function JC(e,r,i){te.varargs=i;try{var t=te.getStreamFromFD(e);switch(r){case 21509:case 21505:return t.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return t.tty?0:-59;case 21519:{if(!t.tty)return-59;var n=te.get();return h[n>>2]=0,0}case 21520:return t.tty?-28:-59;case 21531:{var n=te.get();return A.ioctl(t,r,n)}case 21523:return t.tty?0:-59;case 21524:return t.tty?0:-59;default:return-28}}catch(E){if(typeof A>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}function $C(e,r){try{return e=te.getStr(e),te.doStat(A.lstat,e,r)}catch(i){if(typeof A>"u"||i.name!=="ErrnoError")throw i;return-i.errno}}function ZC(e,r,i,t){try{r=te.getStr(r);var n=t&256,E=t&4096;return t=t&-6401,r=te.calculateAt(e,r,E),te.doStat(n?A.lstat:A.stat,r,i)}catch(D){if(typeof A>"u"||D.name!=="ErrnoError")throw D;return-D.errno}}function eB(e,r,i,t){te.varargs=t;try{r=te.getStr(r),r=te.calculateAt(e,r);var n=t?te.get():0;return A.open(r,i,n).fd}catch(E){if(typeof A>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}function rB(e,r){try{return e=te.getStr(e),te.doStat(A.stat,e,r)}catch(i){if(typeof A>"u"||i.name!=="ErrnoError")throw i;return-i.errno}}function iB(e,r,i,t,n){}function ci(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}function tB(){for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);rt=e}var rt=void 0;function Me(e){for(var r="",i=e;ie[i];)r+=rt[ie[i++]];return r}var rr={},ir={},Gr={},nB=48,EB=57;function it(e){if(e===void 0)return"_unknown";e=e.replace(/[^a-zA-Z0-9_]/g,"$");var r=e.charCodeAt(0);return r>=nB&&r<=EB?"_"+e:e}function tt(e,r){return e=it(e),{[e]:function(){return r.apply(this,arguments)}}[e]}function ui(e,r){var i=tt(r,function(t){this.name=r,this.message=t;var n=new Error(t).stack;n!==void 0&&(this.stack=this.toString()+`
|
|
54
|
-
`+n.replace(/^Error(:[^\n]*)?\n/,""))});return i.prototype=Object.create(e.prototype),i.prototype.constructor=i,i.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},i}var nt=void 0;function he(e){throw new nt(e)}var Et=void 0;function Dt(e){throw new Et(e)}function DB(e,r,i){e.forEach(function(C){Gr[C]=r});function t(C){var B=i(C);B.length!==e.length&&Dt("Mismatched type converter count");for(var a=0;a<e.length;++a)Re(e[a],B[a])}var n=new Array(r.length),E=[],D=0;r.forEach((C,B)=>{ir.hasOwnProperty(C)?n[B]=ir[C]:(E.push(C),rr.hasOwnProperty(C)||(rr[C]=[]),rr[C].push(()=>{n[B]=ir[C],++D,D===E.length&&t(n)}))}),E.length===0&&t(n)}function Re(e,r,i={}){if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");var t=r.name;if(e||he('type "'+t+'" must have a positive integer typeid pointer'),ir.hasOwnProperty(e)){if(i.ignoreDuplicateRegistrations)return;he("Cannot register type '"+t+"' twice")}if(ir[e]=r,delete Gr[e],rr.hasOwnProperty(e)){var n=rr[e];delete rr[e],n.forEach(E=>E())}}function CB(e,r,i,t,n){var E=ci(i);r=Me(r),Re(e,{name:r,fromWireType:function(D){return!!D},toWireType:function(D,C){return C?t:n},argPackAdvance:8,readValueFromPointer:function(D){var C;if(i===1)C=Fe;else if(i===2)C=be;else if(i===4)C=h;else throw new TypeError("Unknown boolean type size: "+r);return this.fromWireType(C[D>>E])},destructorFunction:null})}function BB(){this.allocated=[void 0],this.freelist=[],this.get=function(e){return this.allocated[e]},this.allocate=function(e){let r=this.freelist.pop()||this.allocated.length;return this.allocated[r]=e,r},this.free=function(e){this.allocated[e]=void 0,this.freelist.push(e)}}var Te=new BB;function oB(e){e>=Te.reserved&&--Te.get(e).refcount===0&&Te.free(e)}function aB(){for(var e=0,r=Te.reserved;r<Te.allocated.length;++r)Te.allocated[r]!==void 0&&++e;return e}function FB(){Te.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Te.reserved=Te.allocated.length,F.count_emval_handles=aB}var Ct={toValue:e=>(e||he("Cannot use deleted val. handle = "+e),Te.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Te.allocate({refcount:1,value:e})}}};function fi(e){return this.fromWireType(h[e>>2])}function sB(e,r){r=Me(r),Re(e,{name:r,fromWireType:function(i){var t=Ct.toValue(i);return oB(i),t},toWireType:function(i,t){return Ct.toHandle(t)},argPackAdvance:8,readValueFromPointer:fi,destructorFunction:null})}function AB(e,r){switch(r){case 2:return function(i){return this.fromWireType(W[i>>2])};case 3:return function(i){return this.fromWireType(xe[i>>3])};default:throw new TypeError("Unknown float type: "+e)}}function cB(e,r,i){var t=ci(i);r=Me(r),Re(e,{name:r,fromWireType:function(n){return n},toWireType:function(n,E){return E},argPackAdvance:8,readValueFromPointer:AB(r,t),destructorFunction:null})}function uB(e){for(;e.length;){var r=e.pop(),i=e.pop();i(r)}}function fB(e,r){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var i=tt(e.name||"unknownFunctionName",function(){});i.prototype=e.prototype;var t=new i,n=e.apply(t,r);return n instanceof Object?n:t}function lB(e,r,i,t,n,E){var D=r.length;D<2&&he("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var C=r[1]!==null&&i!==null,B=!1,a=1;a<r.length;++a)if(r[a]!==null&&r[a].destructorFunction===void 0){B=!0;break}for(var s=r[0].name!=="void",c="",m="",a=0;a<D-2;++a)c+=(a!==0?", ":"")+"arg"+a,m+=(a!==0?", ":"")+"arg"+a+"Wired";var y="return function "+it(e)+"("+c+`) {
|
|
55
|
-
if (arguments.length !== `+(D-2)+`) {
|
|
56
|
-
throwBindingError('function `+e+" called with ' + arguments.length + ' arguments, expected "+(D-2)+` args!');
|
|
57
|
-
}
|
|
58
|
-
`;B&&(y+=`var destructors = [];
|
|
59
|
-
`);var k=B?"destructors":"null",M=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],G=[he,t,n,uB,r[0],r[1]];C&&(y+="var thisWired = classParam.toWireType("+k+`, this);
|
|
60
|
-
`);for(var a=0;a<D-2;++a)y+="var arg"+a+"Wired = argType"+a+".toWireType("+k+", arg"+a+"); // "+r[a+2].name+`
|
|
61
|
-
`,M.push("argType"+a),G.push(r[a+2]);if(C&&(m="thisWired"+(m.length>0?", ":"")+m),y+=(s||E?"var rv = ":"")+"invoker(fn"+(m.length>0?", ":"")+m+`);
|
|
62
|
-
`,B)y+=`runDestructors(destructors);
|
|
63
|
-
`;else for(var a=C?1:2;a<r.length;++a){var H=a===1?"thisWired":"arg"+(a-2)+"Wired";r[a].destructorFunction!==null&&(y+=H+"_dtor("+H+"); // "+r[a].name+`
|
|
64
|
-
`,M.push(H+"_dtor"),G.push(r[a].destructorFunction))}return s&&(y+=`var ret = retType.fromWireType(rv);
|
|
65
|
-
return ret;
|
|
66
|
-
`),y+=`}
|
|
67
|
-
`,M.push(y),fB(Function,M).apply(null,G)}function dB(e,r,i){if(e[r].overloadTable===void 0){var t=e[r];e[r]=function(){return e[r].overloadTable.hasOwnProperty(arguments.length)||he("Function '"+i+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[r].overloadTable+")!"),e[r].overloadTable[arguments.length].apply(this,arguments)},e[r].overloadTable=[],e[r].overloadTable[t.argCount]=t}}function vB(e,r,i){F.hasOwnProperty(e)?((i===void 0||F[e].overloadTable!==void 0&&F[e].overloadTable[i]!==void 0)&&he("Cannot register public name '"+e+"' twice"),dB(F,e,e),F.hasOwnProperty(i)&&he("Cannot register multiple overloads of a function with the same number of arguments ("+i+")!"),F[e].overloadTable[i]=r):(F[e]=r,i!==void 0&&(F[e].numArguments=i))}function _B(e,r){for(var i=[],t=0;t<e;t++)i.push(Y[r+t*4>>2]);return i}function mB(e,r,i){F.hasOwnProperty(e)||Dt("Replacing nonexistant public symbol"),F[e].overloadTable!==void 0&&i!==void 0?F[e].overloadTable[i]=r:(F[e]=r,F[e].argCount=i)}function pB(e,r,i){var t=F["dynCall_"+e];return i&&i.length?t.apply(null,[r].concat(i)):t.call(null,r)}function gB(e,r,i){if(e.includes("j"))return pB(e,r,i);var t=f(r).apply(null,i);return t}function hB(e,r){var i=[];return function(){return i.length=0,Object.assign(i,arguments),gB(e,r,i)}}function yB(e,r){e=Me(e);function i(){return e.includes("j")?hB(e,r):f(r)}var t=i();return typeof t!="function"&&he("unknown function pointer with signature "+e+": "+r),t}var Bt=void 0;function wB(e){var r=bD(e),i=Me(r);return Pe(r),i}function kB(e,r){var i=[],t={};function n(E){if(!t[E]&&!ir[E]){if(Gr[E]){Gr[E].forEach(n);return}i.push(E),t[E]=!0}}throw r.forEach(n),new Bt(e+": "+i.map(wB).join([", "]))}function bB(e,r,i,t,n,E,D){var C=_B(r,i);e=Me(e),n=yB(t,n),vB(e,function(){kB("Cannot call "+e+" due to unbound types",C)},r-1),DB([],C,function(B){var a=[B[0],null].concat(B.slice(1));return mB(e,lB(e,a,null,n,E,D),r-1),[]})}function xB(e,r,i){switch(r){case 0:return i?function(n){return Fe[n]}:function(n){return ie[n]};case 1:return i?function(n){return be[n>>1]}:function(n){return sr[n>>1]};case 2:return i?function(n){return h[n>>2]}:function(n){return Y[n>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function SB(e,r,i,t,n){r=Me(r);var E=ci(i),D=c=>c;if(t===0){var C=32-8*i;D=c=>c<<C>>>C}var B=r.includes("unsigned"),a=(c,m)=>{},s;B?s=function(c,m){return a(m,this.name),m>>>0}:s=function(c,m){return a(m,this.name),m},Re(e,{name:r,fromWireType:D,toWireType:s,argPackAdvance:8,readValueFromPointer:xB(r,E,t!==0),destructorFunction:null})}function MB(e,r,i){var t=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],n=t[r];function E(D){D=D>>2;var C=Y,B=C[D],a=C[D+1];return new n(C.buffer,a,B)}i=Me(i),Re(e,{name:i,fromWireType:E,argPackAdvance:8,readValueFromPointer:E},{ignoreDuplicateRegistrations:!0})}function TB(e,r){r=Me(r);var i=r==="std::string";Re(e,{name:r,fromWireType:function(t){var n=Y[t>>2],E=t+4,D;if(i)for(var C=E,B=0;B<=n;++B){var a=E+B;if(B==n||ie[a]==0){var s=a-C,c=se(C,s);D===void 0?D=c:(D+=String.fromCharCode(0),D+=c),C=a+1}}else{for(var m=new Array(n),B=0;B<n;++B)m[B]=String.fromCharCode(ie[E+B]);D=m.join("")}return Pe(t),D},toWireType:function(t,n){n instanceof ArrayBuffer&&(n=new Uint8Array(n));var E,D=typeof n=="string";D||n instanceof Uint8Array||n instanceof Uint8ClampedArray||n instanceof Int8Array||he("Cannot pass non-string to std::string"),i&&D?E=Ze(n):E=n.length;var C=_e(4+E+1),B=C+4;if(Y[C>>2]=E,i&&D)ue(n,B,E+1);else if(D)for(var a=0;a<E;++a){var s=n.charCodeAt(a);s>255&&(Pe(B),he("String has UTF-16 code units that do not fit in 8 bits")),ie[B+a]=s}else for(var a=0;a<E;++a)ie[B+a]=n[a];return t!==null&&t.push(Pe,C),C},argPackAdvance:8,readValueFromPointer:fi,destructorFunction:function(t){Pe(t)}})}var ot=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function PB(e,r){for(var i=e,t=i>>1,n=t+r/2;!(t>=n)&&sr[t];)++t;if(i=t<<1,i-e>32&&ot)return ot.decode(ie.subarray(e,i));for(var E="",D=0;!(D>=r/2);++D){var C=be[e+D*2>>1];if(C==0)break;E+=String.fromCharCode(C)}return E}function LB(e,r,i){if(i===void 0&&(i=2147483647),i<2)return 0;i-=2;for(var t=r,n=i<e.length*2?i/2:e.length,E=0;E<n;++E){var D=e.charCodeAt(E);be[r>>1]=D,r+=2}return be[r>>1]=0,r-t}function RB(e){return e.length*2}function GB(e,r){for(var i=0,t="";!(i>=r/4);){var n=h[e+i*4>>2];if(n==0)break;if(++i,n>=65536){var E=n-65536;t+=String.fromCharCode(55296|E>>10,56320|E&1023)}else t+=String.fromCharCode(n)}return t}function IB(e,r,i){if(i===void 0&&(i=2147483647),i<4)return 0;for(var t=r,n=t+i-4,E=0;E<e.length;++E){var D=e.charCodeAt(E);if(D>=55296&&D<=57343){var C=e.charCodeAt(++E);D=65536+((D&1023)<<10)|C&1023}if(h[r>>2]=D,r+=4,r+4>n)break}return h[r>>2]=0,r-t}function UB(e){for(var r=0,i=0;i<e.length;++i){var t=e.charCodeAt(i);t>=55296&&t<=57343&&++i,r+=4}return r}function OB(e,r,i){i=Me(i);var t,n,E,D,C;r===2?(t=PB,n=LB,D=RB,E=()=>sr,C=1):r===4&&(t=GB,n=IB,D=UB,E=()=>Y,C=2),Re(e,{name:i,fromWireType:function(B){for(var a=Y[B>>2],s=E(),c,m=B+4,y=0;y<=a;++y){var k=B+4+y*r;if(y==a||s[k>>C]==0){var M=k-m,G=t(m,M);c===void 0?c=G:(c+=String.fromCharCode(0),c+=G),m=k+r}}return Pe(B),c},toWireType:function(B,a){typeof a!="string"&&he("Cannot pass non-string to C++ string type "+i);var s=D(a),c=_e(4+s+r);return Y[c>>2]=s>>C,n(a,c+4,s+r),B!==null&&B.push(Pe,c),c},argPackAdvance:8,readValueFromPointer:fi,destructorFunction:function(B){Pe(B)}})}function VB(e,r){r=Me(r),Re(e,{isVoid:!0,name:r,argPackAdvance:0,fromWireType:function(){},toWireType:function(i,t){}})}var jB=!0;function WB(){return jB}function NB(){throw 1/0}function HB(e,r,i,t,n,E,D){try{var C=te.getStreamFromFD(t),B=A.mmap(C,e,n,r,i),a=B.ptr;return h[E>>2]=B.allocated,Y[D>>2]=a,0}catch(s){if(typeof A>"u"||s.name!=="ErrnoError")throw s;return-s.errno}}function zB(e,r,i,t,n,E){try{var D=te.getStreamFromFD(n);i&2&&te.doMsync(e,D,r,t,E),A.munmap(D)}catch(C){if(typeof A>"u"||C.name!=="ErrnoError")throw C;return-C.errno}}function XB(){ze("")}function cr(e,r){if(b.mainLoop.timingMode=e,b.mainLoop.timingValue=r,!b.mainLoop.func)return 1;if(b.mainLoop.running||(b.mainLoop.running=!0),e==0)b.mainLoop.scheduler=function(){var D=Math.max(0,b.mainLoop.tickStartTime+r-ur())|0;setTimeout(b.mainLoop.runner,D)},b.mainLoop.method="timeout";else if(e==1)b.mainLoop.scheduler=function(){b.requestAnimationFrame(b.mainLoop.runner)},b.mainLoop.method="rAF";else if(e==2){if(typeof setImmediate>"u"){var i=[],t="setimmediate",n=E=>{(E.data===t||E.data.target===t)&&(E.stopPropagation(),i.shift()())};addEventListener("message",n,!0),setImmediate=function(D){i.push(D),O?(F.setImmediates===void 0&&(F.setImmediates=[]),F.setImmediates.push(D),postMessage({target:t})):postMessage(t,"*")}}b.mainLoop.scheduler=function(){setImmediate(b.mainLoop.runner)},b.mainLoop.method="immediate"}return 0}var ur;z?ur=()=>{var e=process.hrtime();return e[0]*1e3+e[1]/1e6}:ur=()=>performance.now();function at(e,r,i,t,n){Je(!b.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),b.mainLoop.func=e,b.mainLoop.arg=t;var E=b.mainLoop.currentlyRunningMainloop;function D(){return!(E<b.mainLoop.currentlyRunningMainloop)}if(b.mainLoop.running=!1,b.mainLoop.runner=function(){if(!ce){if(b.mainLoop.queue.length>0){var B=Date.now(),a=b.mainLoop.queue.shift();if(a.func(a.arg),b.mainLoop.remainingBlockers){var s=b.mainLoop.remainingBlockers,c=s%1==0?s-1:Math.floor(s);a.counted?b.mainLoop.remainingBlockers=c:(c=c+.5,b.mainLoop.remainingBlockers=(8*s+c)/9)}if(Ae('main loop blocker "'+a.name+'" took '+(Date.now()-B)+" ms"),b.mainLoop.updateStatus(),!D())return;setTimeout(b.mainLoop.runner,0);return}if(!!D()){if(b.mainLoop.currentFrameNumber=b.mainLoop.currentFrameNumber+1|0,b.mainLoop.timingMode==1&&b.mainLoop.timingValue>1&&b.mainLoop.currentFrameNumber%b.mainLoop.timingValue!=0){b.mainLoop.scheduler();return}else b.mainLoop.timingMode==0&&(b.mainLoop.tickStartTime=ur());_.newRenderingFrameStarted(),b.mainLoop.runIter(e),D()&&(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),b.mainLoop.scheduler())}}},n||(r&&r>0?cr(0,1e3/r):cr(1,1),b.mainLoop.scheduler()),i)throw"unwind"}function li(e){if(e instanceof Yi||e=="unwind")return ge;P(1,e)}function qB(e){ge=e,Xi()||(F.onExit&&F.onExit(e),ce=!0),P(e,new Yi(e))}function Ft(e,r){ge=e,qB(e)}var st=Ft;function QB(){if(!Xi())try{st(ge)}catch(e){li(e)}}function tr(e){if(!ce)try{e(),QB()}catch(r){li(r)}}function di(e,r){return setTimeout(function(){tr(e)},r)}function qe(e){qe.shown||(qe.shown={}),qe.shown[e]||(qe.shown[e]=1,z&&(e="warning: "+e),ee(e))}var b={mainLoop:{running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){b.mainLoop.scheduler=null,b.mainLoop.currentlyRunningMainloop++},resume:function(){b.mainLoop.currentlyRunningMainloop++;var e=b.mainLoop.timingMode,r=b.mainLoop.timingValue,i=b.mainLoop.func;b.mainLoop.func=null,at(i,0,!1,b.mainLoop.arg,!0),cr(e,r),b.mainLoop.scheduler()},updateStatus:function(){if(F.setStatus){var e=F.statusMessage||"Please wait...",r=b.mainLoop.remainingBlockers,i=b.mainLoop.expectedBlockers;r?r<i?F.setStatus(e+" ("+(i-r)+"/"+i+")"):F.setStatus(e):F.setStatus("")}},runIter:function(e){if(!ce){if(F.preMainLoop){var r=F.preMainLoop();if(r===!1)return}tr(e),F.postMainLoop&&F.postMainLoop()}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(F.preloadPlugins||(F.preloadPlugins=[]),b.initted)return;b.initted=!0;try{new Blob,b.hasBlobConstructor=!0}catch{b.hasBlobConstructor=!1,ee("warning: no blob constructor, cannot create blobs with mimetypes")}b.BlobBuilder=typeof MozBlobBuilder<"u"?MozBlobBuilder:typeof WebKitBlobBuilder<"u"?WebKitBlobBuilder:b.hasBlobConstructor?null:ee("warning: no BlobBuilder"),b.URLObject=typeof window<"u"?window.URL?window.URL:window.webkitURL:void 0,!F.noImageDecoding&&typeof b.URLObject>"u"&&(ee("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),F.noImageDecoding=!0);var e={};e.canHandle=function(E){return!F.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(E)},e.handle=function(E,D,C,B){var a=null;if(b.hasBlobConstructor)try{a=new Blob([E],{type:b.getMimetype(D)}),a.size!==E.length&&(a=new Blob([new Uint8Array(E).buffer],{type:b.getMimetype(D)}))}catch(y){qe("Blob constructor present but fails: "+y+"; falling back to blob builder")}if(!a){var s=new b.BlobBuilder;s.append(new Uint8Array(E).buffer),a=s.getBlob()}var c=b.URLObject.createObjectURL(a),m=new Image;m.onload=()=>{Je(m.complete,"Image "+D+" could not be decoded");var y=document.createElement("canvas");y.width=m.width,y.height=m.height;var k=y.getContext("2d");k.drawImage(m,0,0),vD[D]=y,b.URLObject.revokeObjectURL(c),C&&C(E)},m.onerror=y=>{Ae("Image "+c+" could not be decoded"),B&&B()},m.src=c},F.preloadPlugins.push(e);var r={};r.canHandle=function(E){return!F.noAudioDecoding&&E.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},r.handle=function(E,D,C,B){var a=!1;function s(M){a||(a=!0,C&&C(E))}function c(){a||(a=!0,new Audio,B&&B())}if(b.hasBlobConstructor){try{var m=new Blob([E],{type:b.getMimetype(D)})}catch{return c()}var y=b.URLObject.createObjectURL(m),k=new Audio;k.addEventListener("canplaythrough",()=>s(),!1),k.onerror=function(G){if(a)return;ee("warning: browser could not fully decode audio "+D+", trying slower base64 approach");function H(S){for(var U="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ne="=",q="",oe=0,Ee=0,fe=0;fe<S.length;fe++)for(oe=oe<<8|S[fe],Ee+=8;Ee>=6;){var Qe=oe>>Ee-6&63;Ee-=6,q+=U[Qe]}return Ee==2?(q+=U[(oe&3)<<4],q+=ne+ne):Ee==4&&(q+=U[(oe&15)<<2],q+=ne),q}k.src="data:audio/x-"+D.substr(-3)+";base64,"+H(E),s()},k.src=y,di(function(){s()},1e4)}else return c()},F.preloadPlugins.push(r);function i(){b.pointerLock=document.pointerLockElement===F.canvas||document.mozPointerLockElement===F.canvas||document.webkitPointerLockElement===F.canvas||document.msPointerLockElement===F.canvas}var t=F.canvas;t&&(t.requestPointerLock=t.requestPointerLock||t.mozRequestPointerLock||t.webkitRequestPointerLock||t.msRequestPointerLock||(()=>{}),t.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),t.exitPointerLock=t.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",i,!1),document.addEventListener("mozpointerlockchange",i,!1),document.addEventListener("webkitpointerlockchange",i,!1),document.addEventListener("mspointerlockchange",i,!1),F.elementPointerLock&&t.addEventListener("click",n=>{!b.pointerLock&&F.canvas.requestPointerLock&&(F.canvas.requestPointerLock(),n.preventDefault())},!1))},handledByPreloadPlugin:function(e,r,i,t){b.init();var n=!1;return F.preloadPlugins.forEach(function(E){n||E.canHandle(r)&&(E.handle(e,r,i,t),n=!0)}),n},createContext:function(e,r,i,t){if(r&&F.ctx&&e==F.canvas)return F.ctx;var n,E;if(r){var D={antialias:!1,alpha:!1,majorVersion:typeof WebGL2RenderingContext<"u"?2:1};if(t)for(var C in t)D[C]=t[C];typeof _<"u"&&(E=_.createContext(e,D),E&&(n=_.getContext(E).GLctx))}else n=e.getContext("2d");return n?(i&&(r||Je(typeof u>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),F.ctx=n,r&&_.makeContextCurrent(E),F.useWebGL=r,b.moduleContextCreatedCallbacks.forEach(function(B){B()}),b.init()),n):null},destroyContext:function(e,r,i){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(e,r){b.lockPointer=e,b.resizeCanvas=r,typeof b.lockPointer>"u"&&(b.lockPointer=!0),typeof b.resizeCanvas>"u"&&(b.resizeCanvas=!1);var i=F.canvas;function t(){b.isFullscreen=!1;var E=i.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===E?(i.exitFullscreen=b.exitFullscreen,b.lockPointer&&i.requestPointerLock(),b.isFullscreen=!0,b.resizeCanvas?b.setFullscreenCanvasSize():b.updateCanvasDimensions(i)):(E.parentNode.insertBefore(i,E),E.parentNode.removeChild(E),b.resizeCanvas?b.setWindowedCanvasSize():b.updateCanvasDimensions(i)),F.onFullScreen&&F.onFullScreen(b.isFullscreen),F.onFullscreen&&F.onFullscreen(b.isFullscreen)}b.fullscreenHandlersInstalled||(b.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",t,!1),document.addEventListener("mozfullscreenchange",t,!1),document.addEventListener("webkitfullscreenchange",t,!1),document.addEventListener("MSFullscreenChange",t,!1));var n=document.createElement("div");i.parentNode.insertBefore(n,i),n.appendChild(i),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?()=>n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(n.webkitRequestFullScreen?()=>n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),n.requestFullscreen()},exitFullscreen:function(){if(!b.isFullscreen)return!1;var e=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){};return e.apply(document,[]),!0},nextRAF:0,fakeRequestAnimationFrame:function(e){var r=Date.now();if(b.nextRAF===0)b.nextRAF=r+1e3/60;else for(;r+2>=b.nextRAF;)b.nextRAF+=1e3/60;var i=Math.max(b.nextRAF-r,0);setTimeout(e,i)},requestAnimationFrame:function(e){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(e);return}var r=b.fakeRequestAnimationFrame;r(e)},safeSetTimeout:function(e,r){return di(e,r)},safeRequestAnimationFrame:function(e){return b.requestAnimationFrame(function(){tr(e)})},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var r=0;switch(e.type){case"DOMMouseScroll":r=e.detail/3;break;case"mousewheel":r=e.wheelDelta/120;break;case"wheel":switch(r=e.deltaY,e.deltaMode){case 0:r/=100;break;case 1:r/=3;break;case 2:r*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return r},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(b.pointerLock)e.type!="mousemove"&&"mozMovementX"in e?b.mouseMovementX=b.mouseMovementY=0:(b.mouseMovementX=b.getMovementX(e),b.mouseMovementY=b.getMovementY(e)),typeof SDL<"u"?(b.mouseX=SDL.mouseX+b.mouseMovementX,b.mouseY=SDL.mouseY+b.mouseMovementY):(b.mouseX+=b.mouseMovementX,b.mouseY+=b.mouseMovementY);else{var r=F.canvas.getBoundingClientRect(),i=F.canvas.width,t=F.canvas.height,n=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,E=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(e.type==="touchstart"||e.type==="touchend"||e.type==="touchmove"){var D=e.touch;if(D===void 0)return;var C=D.pageX-(n+r.left),B=D.pageY-(E+r.top);C=C*(i/r.width),B=B*(t/r.height);var a={x:C,y:B};if(e.type==="touchstart")b.lastTouches[D.identifier]=a,b.touches[D.identifier]=a;else if(e.type==="touchend"||e.type==="touchmove"){var s=b.touches[D.identifier];s||(s=a),b.lastTouches[D.identifier]=s,b.touches[D.identifier]=a}return}var c=e.pageX-(n+r.left),m=e.pageY-(E+r.top);c=c*(i/r.width),m=m*(t/r.height),b.mouseMovementX=c-b.mouseX,b.mouseMovementY=m-b.mouseY,b.mouseX=c,b.mouseY=m}},resizeListeners:[],updateResizeListeners:function(){var e=F.canvas;b.resizeListeners.forEach(function(r){r(e.width,e.height)})},setCanvasSize:function(e,r,i){var t=F.canvas;b.updateCanvasDimensions(t,e,r),i||b.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL<"u"){var e=Y[SDL.screen>>2];e=e|8388608,h[SDL.screen>>2]=e}b.updateCanvasDimensions(F.canvas),b.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var e=Y[SDL.screen>>2];e=e&-8388609,h[SDL.screen>>2]=e}b.updateCanvasDimensions(F.canvas),b.updateResizeListeners()},updateCanvasDimensions:function(e,r,i){r&&i?(e.widthNative=r,e.heightNative=i):(r=e.widthNative,i=e.heightNative);var t=r,n=i;if(F.forcedAspectRatio&&F.forcedAspectRatio>0&&(t/n<F.forcedAspectRatio?t=Math.round(n*F.forcedAspectRatio):n=Math.round(t/F.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&typeof screen<"u"){var E=Math.min(screen.width/t,screen.height/n);t=Math.round(t*E),n=Math.round(n*E)}b.resizeCanvas?(e.width!=t&&(e.width=t),e.height!=n&&(e.height=n),typeof e.style<"u"&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=r&&(e.width=r),e.height!=i&&(e.height=i),typeof e.style<"u"&&(t!=r||n!=i?(e.style.setProperty("width",t+"px","important"),e.style.setProperty("height",n+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}},I={errorCode:12288,defaultDisplayInitialized:!1,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1},stringCache:{},setErrorCode:function(e){I.errorCode=e},chooseConfig:function(e,r,i,t,n){if(e!=62e3)return I.setErrorCode(12296),0;if(r)for(;;){var E=h[r>>2];if(E==12321){var D=h[r+4>>2];I.contextAttributes.alpha=D>0}else if(E==12325){var C=h[r+4>>2];I.contextAttributes.depth=C>0}else if(E==12326){var B=h[r+4>>2];I.contextAttributes.stencil=B>0}else if(E==12337){var a=h[r+4>>2];I.contextAttributes.antialias=a>0}else if(E==12338){var a=h[r+4>>2];I.contextAttributes.antialias=a==1}else if(E==12544){var s=h[r+4>>2];I.contextAttributes.lowLatency=s!=12547}else if(E==12344)break;r+=8}return(!i||!t)&&!n?(I.setErrorCode(12300),0):(n&&(h[n>>2]=1),i&&t>0&&(h[i>>2]=62002),I.setErrorCode(12288),1)}};function KB(e){return e==12448?(I.setErrorCode(12288),1):(I.setErrorCode(12300),0)}function YB(e,r,i,t,n){return I.chooseConfig(e,r,i,t,n)}function At(e){var r=e.getExtension("ANGLE_instanced_arrays");if(r)return e.vertexAttribDivisor=function(i,t){r.vertexAttribDivisorANGLE(i,t)},e.drawArraysInstanced=function(i,t,n,E){r.drawArraysInstancedANGLE(i,t,n,E)},e.drawElementsInstanced=function(i,t,n,E,D){r.drawElementsInstancedANGLE(i,t,n,E,D)},1}function ct(e){var r=e.getExtension("OES_vertex_array_object");if(r)return e.createVertexArray=function(){return r.createVertexArrayOES()},e.deleteVertexArray=function(i){r.deleteVertexArrayOES(i)},e.bindVertexArray=function(i){r.bindVertexArrayOES(i)},e.isVertexArray=function(i){return r.isVertexArrayOES(i)},1}function ut(e){var r=e.getExtension("WEBGL_draw_buffers");if(r)return e.drawBuffers=function(i,t){r.drawBuffersWEBGL(i,t)},1}function ft(e){return!!(e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function lt(e){return!!(e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function dt(e){return!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw"))}var _={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(r){_.lastError||(_.lastError=r)},getNewId:function(e){for(var r=_.counter++,i=e.length;i<r;i++)e[i]=null;return r},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:function(e){return 32-Math.clz32(e===0?0:e-1)},generateTempBuffers:function(e,r){var i=_.log2ceilLookup(_.MAX_TEMP_BUFFER_SIZE);r.tempVertexBufferCounters1=[],r.tempVertexBufferCounters2=[],r.tempVertexBufferCounters1.length=r.tempVertexBufferCounters2.length=i+1,r.tempVertexBuffers1=[],r.tempVertexBuffers2=[],r.tempVertexBuffers1.length=r.tempVertexBuffers2.length=i+1,r.tempIndexBuffers=[],r.tempIndexBuffers.length=i+1;for(var t=0;t<=i;++t){r.tempIndexBuffers[t]=null,r.tempVertexBufferCounters1[t]=r.tempVertexBufferCounters2[t]=0;var n=_.numTempVertexBuffersPerSize;r.tempVertexBuffers1[t]=[],r.tempVertexBuffers2[t]=[];var E=r.tempVertexBuffers1[t],D=r.tempVertexBuffers2[t];E.length=D.length=n;for(var C=0;C<n;++C)E[C]=D[C]=null}if(e){r.tempQuadIndexBuffer=u.createBuffer(),r.GLctx.bindBuffer(34963,r.tempQuadIndexBuffer);for(var B=_.MAX_TEMP_BUFFER_SIZE>>1,a=new Uint16Array(B),t=0,s=0;a[t++]=s,!(t>=B||(a[t++]=s+1,t>=B)||(a[t++]=s+2,t>=B)||(a[t++]=s,t>=B)||(a[t++]=s+2,t>=B)||(a[t++]=s+3,t>=B));)s+=4;r.GLctx.bufferData(34963,a,35044),r.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:function(r){var i=_.log2ceilLookup(r),t=_.currentContext.tempVertexBuffers1[i],n=_.currentContext.tempVertexBufferCounters1[i];_.currentContext.tempVertexBufferCounters1[i]=_.currentContext.tempVertexBufferCounters1[i]+1&_.numTempVertexBuffersPerSize-1;var E=t[n];if(E)return E;var D=u.getParameter(34964);return t[n]=u.createBuffer(),u.bindBuffer(34962,t[n]),u.bufferData(34962,1<<i,35048),u.bindBuffer(34962,D),t[n]},getTempIndexBuffer:function(r){var i=_.log2ceilLookup(r),t=_.currentContext.tempIndexBuffers[i];if(t)return t;var n=u.getParameter(34965);return _.currentContext.tempIndexBuffers[i]=u.createBuffer(),u.bindBuffer(34963,_.currentContext.tempIndexBuffers[i]),u.bufferData(34963,1<<i,35048),u.bindBuffer(34963,n),_.currentContext.tempIndexBuffers[i]},newRenderingFrameStarted:function(){if(!!_.currentContext){var r=_.currentContext.tempVertexBuffers1;_.currentContext.tempVertexBuffers1=_.currentContext.tempVertexBuffers2,_.currentContext.tempVertexBuffers2=r,r=_.currentContext.tempVertexBufferCounters1,_.currentContext.tempVertexBufferCounters1=_.currentContext.tempVertexBufferCounters2,_.currentContext.tempVertexBufferCounters2=r;for(var i=_.log2ceilLookup(_.MAX_TEMP_BUFFER_SIZE),t=0;t<=i;++t)_.currentContext.tempVertexBufferCounters1[t]=0}},getSource:function(e,r,i,t){for(var n="",E=0;E<r;++E){var D=t?h[t+E*4>>2]:-1;n+=se(h[i+E*4>>2],D<0?void 0:D)}return n},calcBufLength:function(r,i,t,n){if(t>0)return n*t;var E=_.byteSizeByType[i-_.byteSizeByTypeRoot];return r*E*n},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:function(r){_.resetBufferBinding=!1;for(var i=0;i<_.currentContext.maxVertexAttribs;++i){var t=_.currentContext.clientBuffers[i];if(!(!t.clientside||!t.enabled)){_.resetBufferBinding=!0;var n=_.calcBufLength(t.size,t.type,t.stride,r),E=_.getTempVertexBuffer(n);u.bindBuffer(34962,E),u.bufferSubData(34962,0,ie.subarray(t.ptr,t.ptr+n)),t.vertexAttribPointerAdaptor.call(u,i,t.size,t.type,t.normalized,t.stride,0)}}},postDrawHandleClientVertexAttribBindings:function(){_.resetBufferBinding&&u.bindBuffer(34962,_.buffers[u.currentArrayBufferBinding])},createContext:function(e,r){if(!e.getContextSafariWebGL2Fixed){let n=function(E,D){var C=e.getContextSafariWebGL2Fixed(E,D);return E=="webgl"==C instanceof WebGLRenderingContext?C:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=n}var i=r.majorVersion>1?e.getContext("webgl2",r):e.getContext("webgl",r);if(!i)return 0;var t=_.registerContext(i,r);return t},registerContext:function(e,r){var i=_.getNewId(_.contexts),t={handle:i,attributes:r,version:r.majorVersion,GLctx:e};e.canvas&&(e.canvas.GLctxObject=t),_.contexts[i]=t,(typeof r.enableExtensionsByDefault>"u"||r.enableExtensionsByDefault)&&_.initExtensions(t),t.maxVertexAttribs=t.GLctx.getParameter(34921),t.clientBuffers=[];for(var n=0;n<t.maxVertexAttribs;n++)t.clientBuffers[n]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return _.generateTempBuffers(!1,t),i},makeContextCurrent:function(e){return _.currentContext=_.contexts[e],F.ctx=u=_.currentContext&&_.currentContext.GLctx,!(e&&!u)},getContext:function(e){return _.contexts[e]},deleteContext:function(e){_.currentContext===_.contexts[e]&&(_.currentContext=null),typeof N=="object"&&N.removeAllHandlersOnTarget(_.contexts[e].GLctx.canvas),_.contexts[e]&&_.contexts[e].GLctx.canvas&&(_.contexts[e].GLctx.canvas.GLctxObject=void 0),_.contexts[e]=null},initExtensions:function(e){if(e||(e=_.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r=e.GLctx;At(r),ct(r),ut(r),ft(r),lt(r),e.version>=2&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!r.disjointTimerQueryExt)&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query")),dt(r);var i=r.getSupportedExtensions()||[];i.forEach(function(t){!t.includes("lose_context")&&!t.includes("debug")&&r.getExtension(t)})}}};function JB(e,r,i,t){if(e!=62e3)return I.setErrorCode(12296),0;for(var n=1;;){var E=h[t>>2];if(E==12440)n=h[t+4>>2];else{if(E==12344)break;return I.setErrorCode(12292),0}t+=8}return n<2||n>3?(I.setErrorCode(12293),0):(I.contextAttributes.majorVersion=n-1,I.contextAttributes.minorVersion=0,I.context=_.createContext(F.canvas,I.contextAttributes),I.context!=0?(I.setErrorCode(12288),_.makeContextCurrent(I.context),F.useWebGL=!0,b.moduleContextCreatedCallbacks.forEach(function(D){D()}),_.makeContextCurrent(null),62004):(I.setErrorCode(12297),0))}function $B(e,r,i,t){return e!=62e3?(I.setErrorCode(12296),0):r!=62002?(I.setErrorCode(12293),0):(I.setErrorCode(12288),62006)}function ZB(e,r){return e!=62e3?(I.setErrorCode(12296),0):r!=62004?(I.setErrorCode(12294),0):(_.deleteContext(I.context),I.setErrorCode(12288),I.currentContext==r&&(I.currentContext=0),1)}function e9(e,r){return e!=62e3?(I.setErrorCode(12296),0):r!=62006?(I.setErrorCode(12301),1):(I.currentReadSurface==r&&(I.currentReadSurface=0),I.currentDrawSurface==r&&(I.currentDrawSurface=0),I.setErrorCode(12288),1)}function r9(){return I.currentContext}function i9(){return I.currentContext?62e3:0}function t9(e){return e==12378?I.currentReadSurface:e==12377?I.currentDrawSurface:(I.setErrorCode(12300),0)}function n9(e){return I.setErrorCode(12288),62e3}function E9(){return I.errorCode}function D9(e,r,i){return e!=62e3?(I.setErrorCode(12296),0):(r&&(h[r>>2]=1),i&&(h[i>>2]=4),I.defaultDisplayInitialized=!0,I.setErrorCode(12288),1)}function C9(e,r,i,t){return e!=62e3?(I.setErrorCode(12296),0):t!=0&&t!=62004?(I.setErrorCode(12294),0):i!=0&&i!=62006||r!=0&&r!=62006?(I.setErrorCode(12301),0):(_.makeContextCurrent(t?I.context:null),I.currentContext=t,I.currentDrawSurface=r,I.currentReadSurface=i,I.setErrorCode(12288),1)}function Ge(e){var r=Ze(e)+1,i=_e(r);return i&&ue(e,i,r),i}function B9(e,r){if(e!=62e3)return I.setErrorCode(12296),0;if(I.setErrorCode(12288),I.stringCache[r])return I.stringCache[r];var i;switch(r){case 12371:i=Ge("Emscripten");break;case 12372:i=Ge("1.4 Emscripten EGL");break;case 12373:i=Ge("");break;case 12429:i=Ge("OpenGL_ES");break;default:return I.setErrorCode(12300),0}return I.stringCache[r]=i,i}function o9(e,r,i,t){if(e!=62e3)return I.setErrorCode(12296),0;if(r!=62006)return I.setErrorCode(12301),0;if(!t)return I.setErrorCode(12300),0;switch(I.setErrorCode(12288),i){case 12328:return h[t>>2]=62002,1;case 12376:return 1;case 12375:return h[t>>2]=F.canvas.width,1;case 12374:return h[t>>2]=F.canvas.height,1;case 12432:return h[t>>2]=-1,1;case 12433:return h[t>>2]=-1,1;case 12434:return h[t>>2]=-1,1;case 12422:return h[t>>2]=12420,1;case 12441:return h[t>>2]=12442,1;case 12435:return h[t>>2]=12437,1;case 12416:case 12417:case 12418:case 12419:return 1;default:return I.setErrorCode(12292),0}}function a9(){if(!I.defaultDisplayInitialized)I.setErrorCode(12289);else if(!F.ctx)I.setErrorCode(12290);else if(F.ctx.isContextLost())I.setErrorCode(12302);else return I.setErrorCode(12288),1;return 0}function F9(e,r){return e!=62e3?(I.setErrorCode(12296),0):(r==0?cr(0,0):cr(1,r),I.setErrorCode(12288),1)}function s9(e){return e!=62e3?(I.setErrorCode(12296),0):(I.currentContext=0,I.currentReadSurface=0,I.currentDrawSurface=0,I.defaultDisplayInitialized=!1,I.setErrorCode(12288),1)}var vi=[];function A9(e,r){vi.length=0;var i;for(r>>=2;i=ie[e++];)r+=i!=105&r,vi.push(i==105?h[r]:xe[r++>>1]),++r;return vi}function c9(e,r,i){var t=A9(r,i);return pC[e].apply(null,t)}function u9(e,r,i){return c9(e,r,i)}function f9(e,r,i){function t(){f(e)(r)}i>=0||z?di(t,i):b.safeRequestAnimationFrame(t)}function l9(e){var r=d(),i=e();return v(r),i}function d9(e){var r=Ze(e)+1,i=SD(r);return ue(e,i,r),i}function v9(e,r,i,t){var n=se(e),E=se(r);E=Se.resolve(E);function D(B){B&&tr(function(){l9(function(){f(B)(d9(E))})})}var C=Be.dirname(E);A.createPreloadedFile(C,Be.basename(E),n,!0,!0,function(){D(i)},function(){D(t)},!1,!1,function(){try{A.unlink(E)}catch{}A.mkdirTree(C)})}function _9(e,r,i,t){Zi(se(e),function(n){tr(function(){var E=_e(n.length);ie.set(n,E),f(i)(r,E,n.length),Pe(E)})},function(){t&&tr(function(){f(t)(r)})},!0)}function m9(){b.mainLoop.pause(),b.mainLoop.func=null}function p9(){return Date.now()}function _i(e){if(!e||!e.callee||!e.callee.name)return[null,"",""];e.callee.toString();var r=e.callee.name,i="(",t=!0;for(var n in e){var E=e[n];t||(i+=", "),t=!1,typeof E=="number"||typeof E=="string"?i+=E:i+="("+typeof E+")"}i+=")";var D=e.callee.caller;return e=D?D.arguments:[],t&&(i=""),[e,r,i]}function g9(){var e=new Error;if(!e.stack){try{throw new Error}catch(r){e=r}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function h9(e){var r=g9(),i=r.lastIndexOf("_emscripten_log"),t=r.lastIndexOf("_emscripten_get_callstack"),n=r.indexOf(`
|
|
68
|
-
`,Math.max(i,t))+1;r=r.slice(n),e&32&&qe("EM_LOG_DEMANGLE is deprecated; ignoring"),e&8&&typeof emscripten_source_map>"u"&&(qe('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e^=8,e|=16);var E=null;if(e&128)for(E=_i(arguments);E[1].includes("_emscripten_");)E=_i(E[0]);var D=r.split(`
|
|
69
|
-
`);r="";var C=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),B=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),a=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var s in D){var c=D[s],m="",y="",k=0,M=0,G=a.exec(c);if(G&&G.length==5)m=G[1],y=G[2],k=G[3],M=G[4];else if(G=C.exec(c),G||(G=B.exec(c)),G&&G.length>=4)m=G[1],y=G[2],k=G[3],M=G[4]|0;else{r+=c+`
|
|
70
|
-
`;continue}var H=!1;if(e&8){var S=emscripten_source_map.originalPositionFor({line:k,column:M});H=S&&S.source,H&&(e&64&&(S.source=S.source.substring(S.source.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=" at "+m+" ("+S.source+":"+S.line+":"+S.column+`)
|
|
71
|
-
`)}(e&16||!H)&&(e&64&&(y=y.substring(y.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=(H?" = "+m:" at "+m)+" ("+y+":"+k+":"+M+`)
|
|
72
|
-
`),e&128&&E[0]&&(E[1]==m&&E[2].length>0&&(r=r.replace(/\s+$/,""),r+=" with values: "+E[1]+E[2]+`
|
|
73
|
-
`),E=_i(E[0]))}return r=r.replace(/\s+$/,""),r}function y9(e,r,i){var t=h9(e);if(!r||i<=0)return Ze(t)+1;var n=ue(t,r,i);return n+1}var N={inEventHandler:0,removeAllEventListeners:function(){for(var e=N.eventHandlers.length-1;e>=0;--e)N._removeHandler(e);N.eventHandlers=[],N.deferredCalls=[]},registerRemoveEventListeners:function(){N.removeEventListenersRegistered||(N.removeEventListenersRegistered=!0)},deferredCalls:[],deferCall:function(e,r,i){function t(D,C){if(D.length!=C.length)return!1;for(var B in D)if(D[B]!=C[B])return!1;return!0}for(var n in N.deferredCalls){var E=N.deferredCalls[n];if(E.targetFunction==e&&t(E.argsList,i))return}N.deferredCalls.push({targetFunction:e,precedence:r,argsList:i}),N.deferredCalls.sort(function(D,C){return D.precedence<C.precedence})},removeDeferredCalls:function(e){for(var r=0;r<N.deferredCalls.length;++r)N.deferredCalls[r].targetFunction==e&&(N.deferredCalls.splice(r,1),--r)},canPerformEventHandlerRequests:function(){return N.inEventHandler&&N.currentEventHandler.allowsDeferredCalls},runDeferredCalls:function(){if(!!N.canPerformEventHandlerRequests())for(var e=0;e<N.deferredCalls.length;++e){var r=N.deferredCalls[e];N.deferredCalls.splice(e,1),--e,r.targetFunction.apply(null,r.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:function(e,r){for(var i=0;i<N.eventHandlers.length;++i)N.eventHandlers[i].target==e&&(!r||r==N.eventHandlers[i].eventTypeString)&&N._removeHandler(i--)},_removeHandler:function(e){var r=N.eventHandlers[e];r.target.removeEventListener(r.eventTypeString,r.eventListenerFunc,r.useCapture),N.eventHandlers.splice(e,1)},registerOrRemoveHandler:function(e){var r=function(n){++N.inEventHandler,N.currentEventHandler=e,N.runDeferredCalls(),e.handlerFunc(n),N.runDeferredCalls(),--N.inEventHandler};if(e.callbackfunc)e.eventListenerFunc=r,e.target.addEventListener(e.eventTypeString,r,e.useCapture),N.eventHandlers.push(e),N.registerRemoveEventListeners();else for(var i=0;i<N.eventHandlers.length;++i)N.eventHandlers[i].target==e.target&&N.eventHandlers[i].eventTypeString==e.eventTypeString&&N._removeHandler(i--)},getNodeNameForTarget:function(e){return e?e==window?"#window":e==screen?"#screen":e&&e.nodeName?e.nodeName:"":""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};function w9(e){return e>2?se(e):e}var vt=[0,typeof document<"u"?document:0,typeof window<"u"?window:0];function Ie(e){e=w9(e);var r=vt[e]||(typeof document<"u"?document.querySelector(e):void 0);return r}function _t(e){return Ie(e)}function k9(e,r,i){var t=_t(e);if(!t)return-4;h[r>>2]=t.width,h[i>>2]=t.height}function b9(){return typeof devicePixelRatio=="number"&&devicePixelRatio||1}function mi(e){return vt.indexOf(e)<0?e.getBoundingClientRect():{left:0,top:0}}function x9(e,r,i){if(e=Ie(e),!e)return-4;var t=mi(e);return xe[r>>3]=t.width,xe[i>>3]=t.height,0}function mt(){return 2147483648}function S9(){return mt()}function M9(e,r,i){(e|0)===e&&(e=se(e)),e=Se.resolve(e);var t=vD[e];if(t){var n=t.getContext("2d"),E=n.getImageData(0,0,t.width,t.height),D=_e(t.width*t.height*4);return ie.set(E.data,D),h[r>>2]=t.width,h[i>>2]=t.height,D}return 0}function pt(e){u.activeTexture(e)}var T9=pt;function gt(e,r){u.attachShader(_.programs[e],_.shaders[r])}var P9=gt;function L9(e,r){u.beginQuery(e,_.queries[r])}var R9=L9;function G9(e,r){u.disjointTimerQueryExt.beginQueryEXT(e,_.queries[r])}var I9=G9;function U9(e){u.beginTransformFeedback(e)}var O9=U9;function ht(e,r,i){u.bindAttribLocation(_.programs[e],r,se(i))}var V9=ht;function yt(e,r){e==34962?u.currentArrayBufferBinding=r:e==34963&&(u.currentElementArrayBufferBinding=r),e==35051?u.currentPixelPackBufferBinding=r:e==35052&&(u.currentPixelUnpackBufferBinding=r),u.bindBuffer(e,_.buffers[r])}var j9=yt;function W9(e,r,i){u.bindBufferBase(e,r,_.buffers[i])}var N9=W9;function H9(e,r,i,t,n){u.bindBufferRange(e,r,_.buffers[i],t,n)}var z9=H9;function wt(e,r){u.bindFramebuffer(e,_.framebuffers[r])}var X9=wt;function kt(e,r){u.bindRenderbuffer(e,_.renderbuffers[r])}var q9=kt;function Q9(e,r){u.bindSampler(e,_.samplers[r])}var K9=Q9;function bt(e,r){u.bindTexture(e,_.textures[r])}var Y9=bt;function J9(e,r){u.bindTransformFeedback(e,_.transformFeedbacks[r])}var $9=J9;function xt(e){u.bindVertexArray(_.vaos[e]);var r=u.getParameter(34965);u.currentElementArrayBufferBinding=r?r.name|0:0}var Z9=xt,e8=xt,r8=e8;function St(e,r,i,t){u.blendColor(e,r,i,t)}var i8=St;function Mt(e){u.blendEquation(e)}var t8=Mt;function Tt(e,r){u.blendEquationSeparate(e,r)}var n8=Tt;function Pt(e,r){u.blendFunc(e,r)}var E8=Pt;function Lt(e,r,i,t){u.blendFuncSeparate(e,r,i,t)}var D8=Lt;function C8(e,r,i,t,n,E,D,C,B,a){u.blitFramebuffer(e,r,i,t,n,E,D,C,B,a)}var B8=C8;function Rt(e,r,i,t){_.currentContext.version>=2?i&&r?u.bufferData(e,ie,t,i,r):u.bufferData(e,r,t):u.bufferData(e,i?ie.subarray(i,i+r):r,t)}var o8=Rt;function Gt(e,r,i,t){if(_.currentContext.version>=2){i&&u.bufferSubData(e,r,ie,t,i);return}u.bufferSubData(e,r,ie.subarray(t,t+i))}var a8=Gt;function It(e){return u.checkFramebufferStatus(e)}var F8=It;function Ut(e){u.clear(e)}var s8=Ut;function A8(e,r,i,t){u.clearBufferfi(e,r,i,t)}var c8=A8;function u8(e,r,i){u.clearBufferfv(e,r,W,i>>2)}var f8=u8;function l8(e,r,i){u.clearBufferiv(e,r,h,i>>2)}var d8=l8;function v8(e,r,i){u.clearBufferuiv(e,r,Y,i>>2)}var _8=v8;function Ot(e,r,i,t){u.clearColor(e,r,i,t)}var m8=Ot;function Vt(e){u.clearDepth(e)}var p8=Vt;function jt(e){u.clearStencil(e)}var g8=jt;function Wt(e,r){return(e>>>0)+r*4294967296}function h8(e,r,i,t){var n=Wt(i,t);return u.clientWaitSync(_.syncs[e],r,n)}var y8=h8;function Nt(e,r,i,t){u.colorMask(!!e,!!r,!!i,!!t)}var w8=Nt;function Ht(e){u.compileShader(_.shaders[e])}var k8=Ht;function zt(e,r,i,t,n,E,D,C){if(_.currentContext.version>=2){u.currentPixelUnpackBufferBinding||!D?u.compressedTexImage2D(e,r,i,t,n,E,D,C):u.compressedTexImage2D(e,r,i,t,n,E,ie,C,D);return}u.compressedTexImage2D(e,r,i,t,n,E,C?ie.subarray(C,C+D):null)}var b8=zt;function x8(e,r,i,t,n,E,D,C,B){u.currentPixelUnpackBufferBinding?u.compressedTexImage3D(e,r,i,t,n,E,D,C,B):u.compressedTexImage3D(e,r,i,t,n,E,D,ie,B,C)}var S8=x8;function Xt(e,r,i,t,n,E,D,C,B){if(_.currentContext.version>=2){u.currentPixelUnpackBufferBinding||!C?u.compressedTexSubImage2D(e,r,i,t,n,E,D,C,B):u.compressedTexSubImage2D(e,r,i,t,n,E,D,ie,B,C);return}u.compressedTexSubImage2D(e,r,i,t,n,E,D,B?ie.subarray(B,B+C):null)}var M8=Xt;function T8(e,r,i,t,n,E,D,C,B,a,s){u.currentPixelUnpackBufferBinding?u.compressedTexSubImage3D(e,r,i,t,n,E,D,C,B,a,s):u.compressedTexSubImage3D(e,r,i,t,n,E,D,C,B,ie,s,a)}var P8=T8;function L8(e,r,i,t,n){u.copyBufferSubData(e,r,i,t,n)}var R8=L8;function qt(e,r,i,t,n,E,D,C){u.copyTexImage2D(e,r,i,t,n,E,D,C)}var G8=qt;function Qt(e,r,i,t,n,E,D,C){u.copyTexSubImage2D(e,r,i,t,n,E,D,C)}var I8=Qt;function U8(e,r,i,t,n,E,D,C,B){u.copyTexSubImage3D(e,r,i,t,n,E,D,C,B)}var O8=U8;function Kt(){var e=_.getNewId(_.programs),r=u.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,_.programs[e]=r,e}var V8=Kt;function Yt(e){var r=_.getNewId(_.shaders);return _.shaders[r]=u.createShader(e),r}var j8=Yt;function Jt(e){u.cullFace(e)}var W8=Jt;function $t(e,r){for(var i=0;i<e;i++){var t=h[r+i*4>>2],n=_.buffers[t];!n||(u.deleteBuffer(n),n.name=0,_.buffers[t]=null,t==u.currentArrayBufferBinding&&(u.currentArrayBufferBinding=0),t==u.currentElementArrayBufferBinding&&(u.currentElementArrayBufferBinding=0),t==u.currentPixelPackBufferBinding&&(u.currentPixelPackBufferBinding=0),t==u.currentPixelUnpackBufferBinding&&(u.currentPixelUnpackBufferBinding=0))}}var N8=$t;function Zt(e,r){for(var i=0;i<e;++i){var t=h[r+i*4>>2],n=_.framebuffers[t];!n||(u.deleteFramebuffer(n),n.name=0,_.framebuffers[t]=null)}}var H8=Zt;function en(e){if(!!e){var r=_.programs[e];if(!r){_.recordError(1281);return}u.deleteProgram(r),r.name=0,_.programs[e]=null}}var z8=en;function X8(e,r){for(var i=0;i<e;i++){var t=h[r+i*4>>2],n=_.queries[t];!n||(u.deleteQuery(n),_.queries[t]=null)}}var q8=X8;function Q8(e,r){for(var i=0;i<e;i++){var t=h[r+i*4>>2],n=_.queries[t];!n||(u.disjointTimerQueryExt.deleteQueryEXT(n),_.queries[t]=null)}}var K8=Q8;function rn(e,r){for(var i=0;i<e;i++){var t=h[r+i*4>>2],n=_.renderbuffers[t];!n||(u.deleteRenderbuffer(n),n.name=0,_.renderbuffers[t]=null)}}var Y8=rn;function J8(e,r){for(var i=0;i<e;i++){var t=h[r+i*4>>2],n=_.samplers[t];!n||(u.deleteSampler(n),n.name=0,_.samplers[t]=null)}}var $8=J8;function tn(e){if(!!e){var r=_.shaders[e];if(!r){_.recordError(1281);return}u.deleteShader(r),_.shaders[e]=null}}var Z8=tn;function eo(e){if(!!e){var r=_.syncs[e];if(!r){_.recordError(1281);return}u.deleteSync(r),r.name=0,_.syncs[e]=null}}var ro=eo;function nn(e,r){for(var i=0;i<e;i++){var t=h[r+i*4>>2],n=_.textures[t];!n||(u.deleteTexture(n),n.name=0,_.textures[t]=null)}}var io=nn;function to(e,r){for(var i=0;i<e;i++){var t=h[r+i*4>>2],n=_.transformFeedbacks[t];!n||(u.deleteTransformFeedback(n),n.name=0,_.transformFeedbacks[t]=null)}}var no=to;function En(e,r){for(var i=0;i<e;i++){var t=h[r+i*4>>2];u.deleteVertexArray(_.vaos[t]),_.vaos[t]=null}}var Eo=En,Do=En,Co=Do;function Dn(e){u.depthFunc(e)}var Bo=Dn;function Cn(e){u.depthMask(!!e)}var oo=Cn;function Bn(e,r){u.depthRange(e,r)}var ao=Bn;function on(e,r){u.detachShader(_.programs[e],_.shaders[r])}var Fo=on;function an(e){u.disable(e)}var so=an;function Fn(e){var r=_.currentContext.clientBuffers[e];r.enabled=!1,u.disableVertexAttribArray(e)}var Ao=Fn;function sn(e,r,i){_.preDrawHandleClientVertexAttribBindings(r+i),u.drawArrays(e,r,i),_.postDrawHandleClientVertexAttribBindings()}var co=sn;function fr(e,r,i,t){u.drawArraysInstanced(e,r,i,t)}var uo=fr,fo=fr,lo=fo,vo=fr,_o=vo,mo=fr,po=mo,go=fr,ho=go,Ir=[];function pi(e,r){for(var i=Ir[e],t=0;t<e;t++)i[t]=h[r+t*4>>2];u.drawBuffers(i)}var yo=pi,wo=pi,ko=wo,bo=pi,xo=bo;function gi(e,r,i,t){var n;if(!u.currentElementArrayBufferBinding){var E=_.calcBufLength(1,i,0,r);n=_.getTempIndexBuffer(E),u.bindBuffer(34963,n),u.bufferSubData(34963,0,ie.subarray(t,t+E)),t=0}_.preDrawHandleClientVertexAttribBindings(r),u.drawElements(e,r,i,t),_.postDrawHandleClientVertexAttribBindings(r),u.currentElementArrayBufferBinding||u.bindBuffer(34963,null)}var So=gi;function lr(e,r,i,t,n){u.drawElementsInstanced(e,r,i,t,n)}var Mo=lr,To=lr,Po=To,Lo=lr,Ro=Lo,Go=lr,Io=Go,Uo=lr,Oo=Uo;function Vo(e,r,i,t,n,E){gi(e,t,n,E)}var jo=Vo;function An(e){u.enable(e)}var Wo=An;function cn(e){var r=_.currentContext.clientBuffers[e];r.enabled=!0,u.enableVertexAttribArray(e)}var No=cn;function Ho(e){u.endQuery(e)}var zo=Ho;function Xo(e){u.disjointTimerQueryExt.endQueryEXT(e)}var qo=Xo;function Qo(){u.endTransformFeedback()}var Ko=Qo;function Yo(e,r){var i=u.fenceSync(e,r);if(i){var t=_.getNewId(_.syncs);return i.name=t,_.syncs[t]=i,t}return 0}var Jo=Yo;function un(){u.finish()}var $o=un;function fn(){u.flush()}var Zo=fn;function Ur(e){switch(e){case 34962:e=34964;break;case 34963:e=34965;break;case 35051:e=35053;break;case 35052:e=35055;break;case 35982:e=35983;break;case 36662:e=36662;break;case 36663:e=36663;break;case 35345:e=35368;break}var r=u.getParameter(e);return r?r.name|0:0}function hi(e){switch(e){case 34962:case 34963:case 36662:case 36663:case 35051:case 35052:case 35882:case 35982:case 35345:return!0;default:return!1}}function ea(e,r,i){if(!hi(e)){_.recordError(1280),ee("GL_INVALID_ENUM in glFlushMappedBufferRange");return}var t=_.mappedBuffers[Ur(e)];if(!t){_.recordError(1282),ee("buffer was never mapped in glFlushMappedBufferRange");return}if(!(t.access&16)){_.recordError(1282),ee("buffer was not mapped with GL_MAP_FLUSH_EXPLICIT_BIT in glFlushMappedBufferRange");return}if(r<0||i<0||r+i>t.length){_.recordError(1281),ee("invalid range in glFlushMappedBufferRange");return}u.bufferSubData(e,t.offset,ie.subarray(t.mem+r,t.mem+r+i))}var ra=ea;function ln(e,r,i,t){u.framebufferRenderbuffer(e,r,i,_.renderbuffers[t])}var ia=ln;function dn(e,r,i,t,n){u.framebufferTexture2D(e,r,i,_.textures[t],n)}var ta=dn;function na(e,r,i,t,n){u.framebufferTextureLayer(e,r,_.textures[i],t,n)}var Ea=na;function vn(e){u.frontFace(e)}var Da=vn;function Oe(e,r,i,t){for(var n=0;n<e;n++){var E=u[i](),D=E&&_.getNewId(t);E?(E.name=D,t[D]=E):_.recordError(1282),h[r+n*4>>2]=D}}function _n(e,r){Oe(e,r,"createBuffer",_.buffers)}var Ca=_n;function mn(e,r){Oe(e,r,"createFramebuffer",_.framebuffers)}var Ba=mn;function oa(e,r){Oe(e,r,"createQuery",_.queries)}var aa=oa;function Fa(e,r){for(var i=0;i<e;i++){var t=u.disjointTimerQueryExt.createQueryEXT();if(!t){for(_.recordError(1282);i<e;)h[r+i++*4>>2]=0;return}var n=_.getNewId(_.queries);t.name=n,_.queries[n]=t,h[r+i*4>>2]=n}}var sa=Fa;function pn(e,r){Oe(e,r,"createRenderbuffer",_.renderbuffers)}var Aa=pn;function ca(e,r){Oe(e,r,"createSampler",_.samplers)}var ua=ca;function gn(e,r){Oe(e,r,"createTexture",_.textures)}var fa=gn;function la(e,r){Oe(e,r,"createTransformFeedback",_.transformFeedbacks)}var da=la;function hn(e,r){Oe(e,r,"createVertexArray",_.vaos)}var va=hn,_a=hn,ma=_a;function yn(e){u.generateMipmap(e)}var pa=yn;function wn(e,r,i,t,n,E,D,C){r=_.programs[r];var B=u[e](r,i);if(B){var a=C&&ue(B.name,C,t);n&&(h[n>>2]=a),E&&(h[E>>2]=B.size),D&&(h[D>>2]=B.type)}}function kn(e,r,i,t,n,E,D){wn("getActiveAttrib",e,r,i,t,n,E,D)}var ga=kn;function bn(e,r,i,t,n,E,D){wn("getActiveUniform",e,r,i,t,n,E,D)}var ha=bn;function ya(e,r,i,t,n){e=_.programs[e];var E=u.getActiveUniformBlockName(e,r);if(!!E)if(n&&i>0){var D=ue(E,n,i);t&&(h[t>>2]=D)}else t&&(h[t>>2]=0)}var wa=ya;function ka(e,r,i,t){if(!t){_.recordError(1281);return}if(e=_.programs[e],i==35393){var n=u.getActiveUniformBlockName(e,r);h[t>>2]=n.length+1;return}var E=u.getActiveUniformBlockParameter(e,r,i);if(E!==null)if(i==35395)for(var D=0;D<E.length;D++)h[t+D*4>>2]=E[D];else h[t>>2]=E}var ba=ka;function xa(e,r,i,t,n){if(!n){_.recordError(1281);return}if(r>0&&i==0){_.recordError(1281);return}e=_.programs[e];for(var E=[],D=0;D<r;D++)E.push(h[i+D*4>>2]);var C=u.getActiveUniforms(e,E,t);if(!!C)for(var B=C.length,D=0;D<B;D++)h[n+D*4>>2]=C[D]}var Sa=xa;function xn(e,r,i,t){var n=u.getAttachedShaders(_.programs[e]),E=n.length;E>r&&(E=r),h[i>>2]=E;for(var D=0;D<E;++D){var C=_.shaders.indexOf(n[D]);h[t+D*4>>2]=C}}var Ma=xn;function Sn(e,r){return u.getAttribLocation(_.programs[e],se(r))}var Ta=Sn;function Or(e,r){Y[e>>2]=r,Y[e+4>>2]=(r-Y[e>>2])/4294967296}function Vr(e,r,i){if(!r){_.recordError(1281);return}var t=void 0;switch(e){case 36346:t=1;break;case 36344:i!=0&&i!=1&&_.recordError(1280);return;case 34814:case 36345:t=0;break;case 34466:var n=u.getParameter(34467);t=n?n.length:0;break;case 33309:if(_.currentContext.version<2){_.recordError(1282);return}var E=u.getSupportedExtensions()||[];t=2*E.length;break;case 33307:case 33308:if(_.currentContext.version<2){_.recordError(1280);return}t=e==33307?3:0;break}if(t===void 0){var D=u.getParameter(e);switch(typeof D){case"number":t=D;break;case"boolean":t=D?1:0;break;case"string":_.recordError(1280);return;case"object":if(D===null)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{t=0;break}default:{_.recordError(1280);return}}else if(D instanceof Float32Array||D instanceof Uint32Array||D instanceof Int32Array||D instanceof Array){for(var C=0;C<D.length;++C)switch(i){case 0:h[r+C*4>>2]=D[C];break;case 2:W[r+C*4>>2]=D[C];break;case 4:Fe[r+C>>0]=D[C]?1:0;break}return}else try{t=D.name|0}catch(B){_.recordError(1280),ee("GL_INVALID_ENUM in glGet"+i+"v: Unknown object returned from WebGL getParameter("+e+")! (error: "+B+")");return}break;default:_.recordError(1280),ee("GL_INVALID_ENUM in glGet"+i+"v: Native code calling glGet"+i+"v("+e+") and it returns "+D+" of type "+typeof D+"!");return}}switch(i){case 1:Or(r,t);break;case 0:h[r>>2]=t;break;case 2:W[r>>2]=t;break;case 4:Fe[r>>0]=t?1:0;break}}function Mn(e,r){Vr(e,r,4)}var Pa=Mn;function La(e,r,i){if(!i){_.recordError(1281);return}Or(i,u.getBufferParameter(e,r))}var Ra=La;function Tn(e,r,i){if(!i){_.recordError(1281);return}h[i>>2]=u.getBufferParameter(e,r)}var Ga=Tn;function Ia(e,r,i){if(r==35005){var t=0,n=_.mappedBuffers[Ur(e)];n&&(t=n.mem),h[i>>2]=t}else _.recordError(1280),ee("GL_INVALID_ENUM in glGetBufferPointerv")}var Ua=Ia;function Pn(){var e=u.getError()||_.lastError;return _.lastError=0,e}var Oa=Pn;function Ln(e,r){Vr(e,r,2)}var Va=Ln;function ja(e,r){return u.getFragDataLocation(_.programs[e],se(r))}var Wa=ja;function Rn(e,r,i,t){var n=u.getFramebufferAttachmentParameter(e,r,i);(n instanceof WebGLRenderbuffer||n instanceof WebGLTexture)&&(n=n.name|0),h[t>>2]=n}var Na=Rn;function Gn(e,r,i,t){if(!i){_.recordError(1281);return}var n=u.getIndexedParameter(e,r),E;switch(typeof n){case"boolean":E=n?1:0;break;case"number":E=n;break;case"object":if(n===null)switch(e){case 35983:case 35368:E=0;break;default:{_.recordError(1280);return}}else if(n instanceof WebGLBuffer)E=n.name|0;else{_.recordError(1280);return}break;default:_.recordError(1280);return}switch(t){case 1:Or(i,E);break;case 0:h[i>>2]=E;break;case 2:W[i>>2]=E;break;case 4:Fe[i>>0]=E?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+t}}function Ha(e,r,i){Gn(e,r,i,1)}var za=Ha;function Xa(e,r){Vr(e,r,1)}var qa=Xa;function Qa(e,r,i){Gn(e,r,i,0)}var Ka=Qa;function In(e,r){Vr(e,r,0)}var Ya=In;function Ja(e,r,i,t,n){if(t<0){_.recordError(1281);return}if(!n){_.recordError(1281);return}var E=u.getInternalformatParameter(e,r,i);if(E!==null)for(var D=0;D<E.length&&D<t;++D)h[n+D*4>>2]=E[D]}var $a=Ja;function Za(e,r,i,t,n){_.recordError(1282)}var eF=Za;function Un(e,r,i,t){var n=u.getProgramInfoLog(_.programs[e]);n===null&&(n="(unknown error)");var E=r>0&&t?ue(n,t,r):0;i&&(h[i>>2]=E)}var rF=Un;function On(e,r,i){if(!i){_.recordError(1281);return}if(e>=_.counter){_.recordError(1281);return}if(e=_.programs[e],r==35716){var t=u.getProgramInfoLog(e);t===null&&(t="(unknown error)"),h[i>>2]=t.length+1}else if(r==35719){if(!e.maxUniformLength)for(var n=0;n<u.getProgramParameter(e,35718);++n)e.maxUniformLength=Math.max(e.maxUniformLength,u.getActiveUniform(e,n).name.length+1);h[i>>2]=e.maxUniformLength}else if(r==35722){if(!e.maxAttributeLength)for(var n=0;n<u.getProgramParameter(e,35721);++n)e.maxAttributeLength=Math.max(e.maxAttributeLength,u.getActiveAttrib(e,n).name.length+1);h[i>>2]=e.maxAttributeLength}else if(r==35381){if(!e.maxUniformBlockNameLength)for(var n=0;n<u.getProgramParameter(e,35382);++n)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,u.getActiveUniformBlockName(e,n).length+1);h[i>>2]=e.maxUniformBlockNameLength}else h[i>>2]=u.getProgramParameter(e,r)}var iF=On;function Vn(e,r,i){if(!i){_.recordError(1281);return}var t=_.queries[e],n;_.currentContext.version<2?n=u.disjointTimerQueryExt.getQueryObjectEXT(t,r):n=u.getQueryParameter(t,r);var E;typeof n=="boolean"?E=n?1:0:E=n,Or(i,E)}var tF=Vn;function jn(e,r,i){if(!i){_.recordError(1281);return}var t=_.queries[e],n=u.disjointTimerQueryExt.getQueryObjectEXT(t,r),E;typeof n=="boolean"?E=n?1:0:E=n,h[i>>2]=E}var nF=jn,EF=Vn,DF=EF;function CF(e,r,i){if(!i){_.recordError(1281);return}var t=_.queries[e],n=u.getQueryParameter(t,r),E;typeof n=="boolean"?E=n?1:0:E=n,h[i>>2]=E}var BF=CF,oF=jn,aF=oF;function FF(e,r,i){if(!i){_.recordError(1281);return}h[i>>2]=u.getQuery(e,r)}var sF=FF;function AF(e,r,i){if(!i){_.recordError(1281);return}h[i>>2]=u.disjointTimerQueryExt.getQueryEXT(e,r)}var cF=AF;function Wn(e,r,i){if(!i){_.recordError(1281);return}h[i>>2]=u.getRenderbufferParameter(e,r)}var uF=Wn;function fF(e,r,i){if(!i){_.recordError(1281);return}W[i>>2]=u.getSamplerParameter(_.samplers[e],r)}var lF=fF;function dF(e,r,i){if(!i){_.recordError(1281);return}h[i>>2]=u.getSamplerParameter(_.samplers[e],r)}var vF=dF;function Nn(e,r,i,t){var n=u.getShaderInfoLog(_.shaders[e]);n===null&&(n="(unknown error)");var E=r>0&&t?ue(n,t,r):0;i&&(h[i>>2]=E)}var _F=Nn;function Hn(e,r,i,t){var n=u.getShaderPrecisionFormat(e,r);h[i>>2]=n.rangeMin,h[i+4>>2]=n.rangeMax,h[t>>2]=n.precision}var mF=Hn;function zn(e,r,i,t){var n=u.getShaderSource(_.shaders[e]);if(!!n){var E=r>0&&t?ue(n,t,r):0;i&&(h[i>>2]=E)}}var pF=zn;function Xn(e,r,i){if(!i){_.recordError(1281);return}if(r==35716){var t=u.getShaderInfoLog(_.shaders[e]);t===null&&(t="(unknown error)");var n=t?t.length+1:0;h[i>>2]=n}else if(r==35720){var E=u.getShaderSource(_.shaders[e]),D=E?E.length+1:0;h[i>>2]=D}else h[i>>2]=u.getShaderParameter(_.shaders[e],r)}var gF=Xn;function qn(e){var r=_.stringCache[e];if(!r){switch(e){case 7939:var i=u.getSupportedExtensions()||[];i=i.concat(i.map(function(B){return"GL_"+B})),r=Ge(i.join(" "));break;case 7936:case 7937:case 37445:case 37446:var t=u.getParameter(e);t||_.recordError(1280),r=t&&Ge(t);break;case 7938:var n=u.getParameter(7938);_.currentContext.version>=2?n="OpenGL ES 3.0 ("+n+")":n="OpenGL ES 2.0 ("+n+")",r=Ge(n);break;case 35724:var E=u.getParameter(35724),D=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/,C=E.match(D);C!==null&&(C[1].length==3&&(C[1]=C[1]+"0"),E="OpenGL ES GLSL ES "+C[1]+" ("+E+")"),r=Ge(E);break;default:_.recordError(1280)}_.stringCache[e]=r}return r}var hF=qn;function yF(e,r){if(_.currentContext.version<2)return _.recordError(1282),0;var i=_.stringiCache[e];if(i)return r<0||r>=i.length?(_.recordError(1281),0):i[r];switch(e){case 7939:var t=u.getSupportedExtensions()||[];return t=t.concat(t.map(function(n){return"GL_"+n})),t=t.map(function(n){return Ge(n)}),i=_.stringiCache[e]=t,r<0||r>=i.length?(_.recordError(1281),0):i[r];default:return _.recordError(1280),0}}var wF=yF;function kF(e,r,i,t,n){if(i<0){_.recordError(1281);return}if(!n){_.recordError(1281);return}var E=u.getSyncParameter(_.syncs[e],r);E!==null&&(h[n>>2]=E,t&&(h[t>>2]=1))}var bF=kF;function Qn(e,r,i){if(!i){_.recordError(1281);return}W[i>>2]=u.getTexParameter(e,r)}var xF=Qn;function Kn(e,r,i){if(!i){_.recordError(1281);return}h[i>>2]=u.getTexParameter(e,r)}var SF=Kn;function MF(e,r,i,t,n,E,D){e=_.programs[e];var C=u.getTransformFeedbackVarying(e,r);if(!!C){if(D&&i>0){var B=ue(C.name,D,i);t&&(h[t>>2]=B)}else t&&(h[t>>2]=0);n&&(h[n>>2]=C.size),E&&(h[E>>2]=C.type)}}var TF=MF;function PF(e,r){return u.getUniformBlockIndex(_.programs[e],se(r))}var LF=PF;function RF(e,r,i,t){if(!t){_.recordError(1281);return}if(r>0&&(i==0||t==0)){_.recordError(1281);return}e=_.programs[e];for(var n=[],E=0;E<r;E++)n.push(se(h[i+E*4>>2]));var D=u.getUniformIndices(e,n);if(!!D)for(var C=D.length,E=0;E<C;E++)h[t+E*4>>2]=D[E]}var GF=RF;function IF(e){return parseInt(e)}function Yn(e){return e.slice(-1)=="]"&&e.lastIndexOf("[")}function Jn(e){var r=e.uniformLocsById,i=e.uniformSizeAndIdsByName,t,n;if(!r)for(e.uniformLocsById=r={},e.uniformArrayNamesById={},t=0;t<u.getProgramParameter(e,35718);++t){var E=u.getActiveUniform(e,t),D=E.name,C=E.size,B=Yn(D),a=B>0?D.slice(0,B):D,s=e.uniformIdCounter;for(e.uniformIdCounter+=C,i[a]=[C,s],n=0;n<C;++n)r[s]=n,e.uniformArrayNamesById[s++]=a}}function $n(e,r){if(r=se(r),e=_.programs[e]){Jn(e);var i=e.uniformLocsById,t=0,n=r,E=Yn(r);E>0&&(t=IF(r.slice(E+1))>>>0,n=r.slice(0,E));var D=e.uniformSizeAndIdsByName[n];if(D&&t<D[0]&&(t+=D[1],i[t]=i[t]||u.getUniformLocation(e,r)))return t}else _.recordError(1281);return-1}var UF=$n;function J(e){var r=u.currentProgram;if(r){var i=r.uniformLocsById[e];return typeof i=="number"&&(r.uniformLocsById[e]=i=u.getUniformLocation(r,r.uniformArrayNamesById[e]+(i>0?"["+i+"]":""))),i}else _.recordError(1282)}function yi(e,r,i,t){if(!i){_.recordError(1281);return}e=_.programs[e],Jn(e);var n=u.getUniform(e,J(r));if(typeof n=="number"||typeof n=="boolean")switch(t){case 0:h[i>>2]=n;break;case 2:W[i>>2]=n;break}else for(var E=0;E<n.length;E++)switch(t){case 0:h[i+E*4>>2]=n[E];break;case 2:W[i+E*4>>2]=n[E];break}}function Zn(e,r,i){yi(e,r,i,2)}var OF=Zn;function eE(e,r,i){yi(e,r,i,0)}var VF=eE;function jF(e,r,i){yi(e,r,i,0)}var WF=jF;function wi(e,r,i,t){if(!i){_.recordError(1281);return}_.currentContext.clientBuffers[e].enabled&&ee("glGetVertexAttrib*v on client-side array: not supported, bad data returned");var n=u.getVertexAttrib(e,r);if(r==34975)h[i>>2]=n&&n.name;else if(typeof n=="number"||typeof n=="boolean")switch(t){case 0:h[i>>2]=n;break;case 2:W[i>>2]=n;break;case 5:h[i>>2]=Math.fround(n);break}else for(var E=0;E<n.length;E++)switch(t){case 0:h[i+E*4>>2]=n[E];break;case 2:W[i+E*4>>2]=n[E];break;case 5:h[i+E*4>>2]=Math.fround(n[E]);break}}function rE(e,r,i){wi(e,r,i,0)}var NF=rE,HF=rE,zF=HF;function iE(e,r,i){if(!i){_.recordError(1281);return}_.currentContext.clientBuffers[e].enabled&&ee("glGetVertexAttribPointer on client-side array: not supported, bad data returned"),h[i>>2]=u.getVertexAttribOffset(e,r)}var XF=iE;function tE(e,r,i){wi(e,r,i,2)}var qF=tE;function nE(e,r,i){wi(e,r,i,5)}var QF=nE;function EE(e,r){u.hint(e,r)}var KF=EE;function YF(e,r,i){for(var t=Ir[r],n=0;n<r;n++)t[n]=h[i+n*4>>2];u.invalidateFramebuffer(e,t)}var JF=YF;function $F(e,r,i,t,n,E,D){for(var C=Ir[r],B=0;B<r;B++)C[B]=h[i+B*4>>2];u.invalidateSubFramebuffer(e,C,t,n,E,D)}var ZF=$F;function DE(e){var r=_.buffers[e];return r?u.isBuffer(r):0}var es=DE;function CE(e){return u.isEnabled(e)}var rs=CE;function BE(e){var r=_.framebuffers[e];return r?u.isFramebuffer(r):0}var is=BE;function oE(e){return e=_.programs[e],e?u.isProgram(e):0}var ts=oE;function ns(e){var r=_.queries[e];return r?u.isQuery(r):0}var Es=ns;function Ds(e){var r=_.queries[e];return r?u.disjointTimerQueryExt.isQueryEXT(r):0}var Cs=Ds;function aE(e){var r=_.renderbuffers[e];return r?u.isRenderbuffer(r):0}var Bs=aE;function os(e){var r=_.samplers[e];return r?u.isSampler(r):0}var as=os;function FE(e){var r=_.shaders[e];return r?u.isShader(r):0}var Fs=FE;function ss(e){return u.isSync(_.syncs[e])}var As=ss;function sE(e){var r=_.textures[e];return r?u.isTexture(r):0}var cs=sE;function us(e){return u.isTransformFeedback(_.transformFeedbacks[e])}var fs=us;function AE(e){var r=_.vaos[e];return r?u.isVertexArray(r):0}var ls=AE,ds=AE,vs=ds;function cE(e){u.lineWidth(e)}var _s=cE;function uE(e){e=_.programs[e],u.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}}var ms=uE;function ps(e,r,i,t){if((t&33)!=0)return ee("glMapBufferRange access does not support MAP_READ or MAP_UNSYNCHRONIZED"),0;if((t&2)==0)return ee("glMapBufferRange access must include MAP_WRITE"),0;if((t&12)==0)return ee("glMapBufferRange access must include INVALIDATE_BUFFER or INVALIDATE_RANGE"),0;if(!hi(e))return _.recordError(1280),ee("GL_INVALID_ENUM in glMapBufferRange"),0;var n=_e(i);return n?(_.mappedBuffers[Ur(e)]={offset:r,length:i,mem:n,access:t},n):0}var gs=ps;function hs(){u.pauseTransformFeedback()}var ys=hs;function fE(e,r){e==3317&&(_.unpackAlignment=r),u.pixelStorei(e,r)}var ws=fE;function lE(e,r){u.polygonOffset(e,r)}var ks=lE;function bs(e,r,i,t){_.recordError(1280)}var xs=bs;function Ss(e,r,i){_.recordError(1280)}var Ms=Ss;function Ts(e,r){u.disjointTimerQueryExt.queryCounterEXT(_.queries[e],r)}var Ps=Ts;function Ls(e){u.readBuffer(e)}var Rs=Ls;function Gs(e,r,i,t){function n(C,B){return C+B-1&-B}var E=e*i,D=n(E,t);return r*D}function Is(e){var r={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return r[e-6402]||1}function nr(e){return e-=5120,e==0?Fe:e==1?ie:e==2?be:e==4?h:e==6?W:e==5||e==28922||e==28520||e==30779||e==30782?Y:sr}function Er(e){return 31-Math.clz32(e.BYTES_PER_ELEMENT)}function ki(e,r,i,t,n,E){var D=nr(e),C=Er(D),B=1<<C,a=Is(r)*B,s=Gs(i,t,a,_.unpackAlignment);return D.subarray(n>>C,n+s>>C)}function dE(e,r,i,t,n,E,D){if(_.currentContext.version>=2){if(u.currentPixelPackBufferBinding)u.readPixels(e,r,i,t,n,E,D);else{var C=nr(E);u.readPixels(e,r,i,t,n,E,C,D>>Er(C))}return}var B=ki(E,n,i,t,D);if(!B){_.recordError(1280);return}u.readPixels(e,r,i,t,n,E,B)}var Us=dE;function vE(){}var Os=vE;function _E(e,r,i,t){u.renderbufferStorage(e,r,i,t)}var Vs=_E;function js(e,r,i,t,n){u.renderbufferStorageMultisample(e,r,i,t,n)}var Ws=js;function Ns(){u.resumeTransformFeedback()}var Hs=Ns;function mE(e,r){u.sampleCoverage(e,!!r)}var zs=mE;function Xs(e,r,i){u.samplerParameterf(_.samplers[e],r,i)}var qs=Xs;function Qs(e,r,i){var t=W[i>>2];u.samplerParameterf(_.samplers[e],r,t)}var Ks=Qs;function Ys(e,r,i){u.samplerParameteri(_.samplers[e],r,i)}var Js=Ys;function $s(e,r,i){var t=h[i>>2];u.samplerParameteri(_.samplers[e],r,t)}var Zs=$s;function pE(e,r,i,t){u.scissor(e,r,i,t)}var eA=pE;function gE(e,r,i,t,n){_.recordError(1280)}var rA=gE;function hE(e,r,i,t){var n=_.getSource(e,r,i,t);u.shaderSource(_.shaders[e],n)}var iA=hE;function yE(e,r,i){u.stencilFunc(e,r,i)}var tA=yE;function wE(e,r,i,t){u.stencilFuncSeparate(e,r,i,t)}var nA=wE;function kE(e){u.stencilMask(e)}var EA=kE;function bE(e,r){u.stencilMaskSeparate(e,r)}var DA=bE;function xE(e,r,i){u.stencilOp(e,r,i)}var CA=xE;function SE(e,r,i,t){u.stencilOpSeparate(e,r,i,t)}var BA=SE;function ME(e,r,i,t,n,E,D,C,B){if(_.currentContext.version>=2){if(u.currentPixelUnpackBufferBinding)u.texImage2D(e,r,i,t,n,E,D,C,B);else if(B){var a=nr(C);u.texImage2D(e,r,i,t,n,E,D,C,a,B>>Er(a))}else u.texImage2D(e,r,i,t,n,E,D,C,null);return}u.texImage2D(e,r,i,t,n,E,D,C,B?ki(C,D,t,n,B):null)}var oA=ME;function aA(e,r,i,t,n,E,D,C,B,a){if(u.currentPixelUnpackBufferBinding)u.texImage3D(e,r,i,t,n,E,D,C,B,a);else if(a){var s=nr(B);u.texImage3D(e,r,i,t,n,E,D,C,B,s,a>>Er(s))}else u.texImage3D(e,r,i,t,n,E,D,C,B,null)}var FA=aA;function TE(e,r,i){u.texParameterf(e,r,i)}var sA=TE;function PE(e,r,i){var t=W[i>>2];u.texParameterf(e,r,t)}var AA=PE;function LE(e,r,i){u.texParameteri(e,r,i)}var cA=LE;function RE(e,r,i){var t=h[i>>2];u.texParameteri(e,r,t)}var uA=RE;function fA(e,r,i,t,n){u.texStorage2D(e,r,i,t,n)}var lA=fA;function dA(e,r,i,t,n,E){u.texStorage3D(e,r,i,t,n,E)}var vA=dA;function GE(e,r,i,t,n,E,D,C,B){if(_.currentContext.version>=2){if(u.currentPixelUnpackBufferBinding)u.texSubImage2D(e,r,i,t,n,E,D,C,B);else if(B){var a=nr(C);u.texSubImage2D(e,r,i,t,n,E,D,C,a,B>>Er(a))}else u.texSubImage2D(e,r,i,t,n,E,D,C,null);return}var s=null;B&&(s=ki(C,D,n,E,B)),u.texSubImage2D(e,r,i,t,n,E,D,C,s)}var _A=GE;function mA(e,r,i,t,n,E,D,C,B,a,s){if(u.currentPixelUnpackBufferBinding)u.texSubImage3D(e,r,i,t,n,E,D,C,B,a,s);else if(s){var c=nr(a);u.texSubImage3D(e,r,i,t,n,E,D,C,B,a,c,s>>Er(c))}else u.texSubImage3D(e,r,i,t,n,E,D,C,B,a,null)}var pA=mA;function gA(e,r,i,t){e=_.programs[e];for(var n=[],E=0;E<r;E++)n.push(se(h[i+E*4>>2]));u.transformFeedbackVaryings(e,n,t)}var hA=gA;function IE(e,r){u.uniform1f(J(e),r)}var yA=IE,Ve=[];function UE(e,r,i){if(_.currentContext.version>=2){r&&u.uniform1fv(J(e),W,i>>2,r);return}if(r<=288)for(var t=Ve[r-1],n=0;n<r;++n)t[n]=W[i+4*n>>2];else var t=W.subarray(i>>2,i+r*4>>2);u.uniform1fv(J(e),t)}var wA=UE;function OE(e,r){u.uniform1i(J(e),r)}var kA=OE,dr=[];function VE(e,r,i){if(_.currentContext.version>=2){r&&u.uniform1iv(J(e),h,i>>2,r);return}if(r<=288)for(var t=dr[r-1],n=0;n<r;++n)t[n]=h[i+4*n>>2];else var t=h.subarray(i>>2,i+r*4>>2);u.uniform1iv(J(e),t)}var bA=VE;function xA(e,r){u.uniform1ui(J(e),r)}var SA=xA;function MA(e,r,i){r&&u.uniform1uiv(J(e),Y,i>>2,r)}var TA=MA;function jE(e,r,i){u.uniform2f(J(e),r,i)}var PA=jE;function WE(e,r,i){if(_.currentContext.version>=2){r&&u.uniform2fv(J(e),W,i>>2,r*2);return}if(r<=144)for(var t=Ve[2*r-1],n=0;n<2*r;n+=2)t[n]=W[i+4*n>>2],t[n+1]=W[i+(4*n+4)>>2];else var t=W.subarray(i>>2,i+r*8>>2);u.uniform2fv(J(e),t)}var LA=WE;function NE(e,r,i){u.uniform2i(J(e),r,i)}var RA=NE;function HE(e,r,i){if(_.currentContext.version>=2){r&&u.uniform2iv(J(e),h,i>>2,r*2);return}if(r<=144)for(var t=dr[2*r-1],n=0;n<2*r;n+=2)t[n]=h[i+4*n>>2],t[n+1]=h[i+(4*n+4)>>2];else var t=h.subarray(i>>2,i+r*8>>2);u.uniform2iv(J(e),t)}var GA=HE;function IA(e,r,i){u.uniform2ui(J(e),r,i)}var UA=IA;function OA(e,r,i){r&&u.uniform2uiv(J(e),Y,i>>2,r*2)}var VA=OA;function zE(e,r,i,t){u.uniform3f(J(e),r,i,t)}var jA=zE;function XE(e,r,i){if(_.currentContext.version>=2){r&&u.uniform3fv(J(e),W,i>>2,r*3);return}if(r<=96)for(var t=Ve[3*r-1],n=0;n<3*r;n+=3)t[n]=W[i+4*n>>2],t[n+1]=W[i+(4*n+4)>>2],t[n+2]=W[i+(4*n+8)>>2];else var t=W.subarray(i>>2,i+r*12>>2);u.uniform3fv(J(e),t)}var WA=XE;function qE(e,r,i,t){u.uniform3i(J(e),r,i,t)}var NA=qE;function QE(e,r,i){if(_.currentContext.version>=2){r&&u.uniform3iv(J(e),h,i>>2,r*3);return}if(r<=96)for(var t=dr[3*r-1],n=0;n<3*r;n+=3)t[n]=h[i+4*n>>2],t[n+1]=h[i+(4*n+4)>>2],t[n+2]=h[i+(4*n+8)>>2];else var t=h.subarray(i>>2,i+r*12>>2);u.uniform3iv(J(e),t)}var HA=QE;function zA(e,r,i,t){u.uniform3ui(J(e),r,i,t)}var XA=zA;function qA(e,r,i){r&&u.uniform3uiv(J(e),Y,i>>2,r*3)}var QA=qA;function KE(e,r,i,t,n){u.uniform4f(J(e),r,i,t,n)}var KA=KE;function YE(e,r,i){if(_.currentContext.version>=2){r&&u.uniform4fv(J(e),W,i>>2,r*4);return}if(r<=72){var t=Ve[4*r-1],n=W;i>>=2;for(var E=0;E<4*r;E+=4){var D=i+E;t[E]=n[D],t[E+1]=n[D+1],t[E+2]=n[D+2],t[E+3]=n[D+3]}}else var t=W.subarray(i>>2,i+r*16>>2);u.uniform4fv(J(e),t)}var YA=YE;function JE(e,r,i,t,n){u.uniform4i(J(e),r,i,t,n)}var JA=JE;function $E(e,r,i){if(_.currentContext.version>=2){r&&u.uniform4iv(J(e),h,i>>2,r*4);return}if(r<=72)for(var t=dr[4*r-1],n=0;n<4*r;n+=4)t[n]=h[i+4*n>>2],t[n+1]=h[i+(4*n+4)>>2],t[n+2]=h[i+(4*n+8)>>2],t[n+3]=h[i+(4*n+12)>>2];else var t=h.subarray(i>>2,i+r*16>>2);u.uniform4iv(J(e),t)}var $A=$E;function ZA(e,r,i,t,n){u.uniform4ui(J(e),r,i,t,n)}var ec=ZA;function rc(e,r,i){r&&u.uniform4uiv(J(e),Y,i>>2,r*4)}var ic=rc;function tc(e,r,i){e=_.programs[e],u.uniformBlockBinding(e,r,i)}var nc=tc;function ZE(e,r,i,t){if(_.currentContext.version>=2){r&&u.uniformMatrix2fv(J(e),!!i,W,t>>2,r*4);return}if(r<=72)for(var n=Ve[4*r-1],E=0;E<4*r;E+=4)n[E]=W[t+4*E>>2],n[E+1]=W[t+(4*E+4)>>2],n[E+2]=W[t+(4*E+8)>>2],n[E+3]=W[t+(4*E+12)>>2];else var n=W.subarray(t>>2,t+r*16>>2);u.uniformMatrix2fv(J(e),!!i,n)}var Ec=ZE;function Dc(e,r,i,t){r&&u.uniformMatrix2x3fv(J(e),!!i,W,t>>2,r*6)}var Cc=Dc;function Bc(e,r,i,t){r&&u.uniformMatrix2x4fv(J(e),!!i,W,t>>2,r*8)}var oc=Bc;function eD(e,r,i,t){if(_.currentContext.version>=2){r&&u.uniformMatrix3fv(J(e),!!i,W,t>>2,r*9);return}if(r<=32)for(var n=Ve[9*r-1],E=0;E<9*r;E+=9)n[E]=W[t+4*E>>2],n[E+1]=W[t+(4*E+4)>>2],n[E+2]=W[t+(4*E+8)>>2],n[E+3]=W[t+(4*E+12)>>2],n[E+4]=W[t+(4*E+16)>>2],n[E+5]=W[t+(4*E+20)>>2],n[E+6]=W[t+(4*E+24)>>2],n[E+7]=W[t+(4*E+28)>>2],n[E+8]=W[t+(4*E+32)>>2];else var n=W.subarray(t>>2,t+r*36>>2);u.uniformMatrix3fv(J(e),!!i,n)}var ac=eD;function Fc(e,r,i,t){r&&u.uniformMatrix3x2fv(J(e),!!i,W,t>>2,r*6)}var sc=Fc;function Ac(e,r,i,t){r&&u.uniformMatrix3x4fv(J(e),!!i,W,t>>2,r*12)}var cc=Ac;function rD(e,r,i,t){if(_.currentContext.version>=2){r&&u.uniformMatrix4fv(J(e),!!i,W,t>>2,r*16);return}if(r<=18){var n=Ve[16*r-1],E=W;t>>=2;for(var D=0;D<16*r;D+=16){var C=t+D;n[D]=E[C],n[D+1]=E[C+1],n[D+2]=E[C+2],n[D+3]=E[C+3],n[D+4]=E[C+4],n[D+5]=E[C+5],n[D+6]=E[C+6],n[D+7]=E[C+7],n[D+8]=E[C+8],n[D+9]=E[C+9],n[D+10]=E[C+10],n[D+11]=E[C+11],n[D+12]=E[C+12],n[D+13]=E[C+13],n[D+14]=E[C+14],n[D+15]=E[C+15]}}else var n=W.subarray(t>>2,t+r*64>>2);u.uniformMatrix4fv(J(e),!!i,n)}var uc=rD;function fc(e,r,i,t){r&&u.uniformMatrix4x2fv(J(e),!!i,W,t>>2,r*8)}var lc=fc;function dc(e,r,i,t){r&&u.uniformMatrix4x3fv(J(e),!!i,W,t>>2,r*12)}var vc=dc;function _c(e){if(!hi(e))return _.recordError(1280),ee("GL_INVALID_ENUM in glUnmapBuffer"),0;var r=Ur(e),i=_.mappedBuffers[r];return i?(_.mappedBuffers[r]=null,i.access&16||(_.currentContext.version>=2?u.bufferSubData(e,i.offset,ie,i.mem,i.length):u.bufferSubData(e,i.offset,ie.subarray(i.mem,i.mem+i.length))),Pe(i.mem),1):(_.recordError(1282),ee("buffer was never mapped in glUnmapBuffer"),0)}var mc=_c;function iD(e){e=_.programs[e],u.useProgram(e),u.currentProgram=e}var pc=iD;function tD(e){u.validateProgram(_.programs[e])}var gc=tD;function nD(e,r){u.vertexAttrib1f(e,r)}var hc=nD;function ED(e,r){u.vertexAttrib1f(e,W[r>>2])}var yc=ED;function DD(e,r,i){u.vertexAttrib2f(e,r,i)}var wc=DD;function CD(e,r){u.vertexAttrib2f(e,W[r>>2],W[r+4>>2])}var kc=CD;function BD(e,r,i,t){u.vertexAttrib3f(e,r,i,t)}var bc=BD;function oD(e,r){u.vertexAttrib3f(e,W[r>>2],W[r+4>>2],W[r+8>>2])}var xc=oD;function aD(e,r,i,t,n){u.vertexAttrib4f(e,r,i,t,n)}var Sc=aD;function FD(e,r){u.vertexAttrib4f(e,W[r>>2],W[r+4>>2],W[r+8>>2],W[r+12>>2])}var Mc=FD;function vr(e,r){u.vertexAttribDivisor(e,r)}var Tc=vr,Pc=vr,Lc=Pc,Rc=vr,Gc=Rc,Ic=vr,Uc=Ic,Oc=vr,Vc=Oc;function jc(e,r,i,t,n){u.vertexAttribI4i(e,r,i,t,n)}var Wc=jc;function Nc(e,r){u.vertexAttribI4i(e,h[r>>2],h[r+4>>2],h[r+8>>2],h[r+12>>2])}var Hc=Nc;function zc(e,r,i,t,n){u.vertexAttribI4ui(e,r,i,t,n)}var Xc=zc;function qc(e,r){u.vertexAttribI4ui(e,Y[r>>2],Y[r+4>>2],Y[r+8>>2],Y[r+12>>2])}var Qc=qc;function Kc(e,r,i,t,n){var E=_.currentContext.clientBuffers[e];if(!u.currentArrayBufferBinding){E.size=r,E.type=i,E.normalized=!1,E.stride=t,E.ptr=n,E.clientside=!0,E.vertexAttribPointerAdaptor=function(D,C,B,a,s,c){this.vertexAttribIPointer(D,C,B,s,c)};return}E.clientside=!1,u.vertexAttribIPointer(e,r,i,t,n)}var Yc=Kc;function sD(e,r,i,t,n,E){var D=_.currentContext.clientBuffers[e];if(!u.currentArrayBufferBinding){D.size=r,D.type=i,D.normalized=t,D.stride=n,D.ptr=E,D.clientside=!0,D.vertexAttribPointerAdaptor=function(C,B,a,s,c,m){this.vertexAttribPointer(C,B,a,s,c,m)};return}D.clientside=!1,u.vertexAttribPointer(e,r,i,!!t,n,E)}var Jc=sD;function AD(e,r,i,t){u.viewport(e,r,i,t)}var $c=AD;function Zc(e,r,i,t){var n=Wt(i,t);u.waitSync(_.syncs[e],r,n)}var eu=Zc;function ru(e,r,i){ie.copyWithin(e,r,r+i)}function iu(e){var r=le.buffer;try{return le.grow(e-r.byteLength+65535>>>16),ji(),1}catch{}}function tu(e){var r=ie.length;e=e>>>0;var i=mt();if(e>i)return!1;let t=(B,a)=>B+(a-B%a)%a;for(var n=1;n<=4;n*=2){var E=r*(1+.2/n);E=Math.min(E,e+100663296);var D=Math.min(i,t(Math.max(e,E),65536)),C=iu(D);if(C)return!0}return!1}function nu(e,r,i){var t=_t(e);return t?(t.width=r,t.height=i,0):-4}function cD(e,r,i){xe[e>>3]=r.timeStamp;var t=e>>2;h[t+2]=r.screenX,h[t+3]=r.screenY,h[t+4]=r.clientX,h[t+5]=r.clientY,h[t+6]=r.ctrlKey,h[t+7]=r.shiftKey,h[t+8]=r.altKey,h[t+9]=r.metaKey,be[t*2+20]=r.button,be[t*2+21]=r.buttons,h[t+11]=r.movementX,h[t+12]=r.movementY;var n=mi(i);h[t+13]=r.clientX-n.left,h[t+14]=r.clientY-n.top}function Dr(e,r,i,t,n,E,D){N.mouseEvent||(N.mouseEvent=_e(72)),e=Ie(e);var C=function(a=event){cD(N.mouseEvent,a,e),f(t)(n,N.mouseEvent,r)&&a.preventDefault()},B={target:e,allowsDeferredCalls:E!="mousemove"&&E!="mouseenter"&&E!="mouseleave",eventTypeString:E,callbackfunc:t,handlerFunc:C,useCapture:i};N.registerOrRemoveHandler(B)}function Eu(e,r,i,t,n){return Dr(e,r,i,t,4,"click"),0}function Du(e,r,i,t,n){return Dr(e,r,i,t,7,"dblclick"),0}function Cu(e,r,i){return e=Ie(e),e?(e.style.width=r+"px",e.style.height=i+"px",0):-4}function Bu(e,r,i,t,n,E,D){N.focusEvent||(N.focusEvent=_e(256));var C=function(a=event){var s=N.getNodeNameForTarget(a.target),c=a.target.id?a.target.id:"",m=N.focusEvent;ue(s,m+0,128),ue(c,m+128,128),f(t)(n,m,r)&&a.preventDefault()},B={target:Ie(e),eventTypeString:E,callbackfunc:t,handlerFunc:C,useCapture:i};N.registerOrRemoveHandler(B)}function ou(e,r,i,t,n){return Bu(e,r,i,t,15,"focusout"),0}function uD(e,r,i,t,n,E,D){N.keyEvent||(N.keyEvent=_e(176));var C=function(a){var s=N.keyEvent;xe[s>>3]=a.timeStamp;var c=s>>2;h[c+2]=a.location,h[c+3]=a.ctrlKey,h[c+4]=a.shiftKey,h[c+5]=a.altKey,h[c+6]=a.metaKey,h[c+7]=a.repeat,h[c+8]=a.charCode,h[c+9]=a.keyCode,h[c+10]=a.which,ue(a.key||"",s+44,32),ue(a.code||"",s+76,32),ue(a.char||"",s+108,32),ue(a.locale||"",s+140,32),f(t)(n,s,r)&&a.preventDefault()},B={target:Ie(e),allowsDeferredCalls:!0,eventTypeString:E,callbackfunc:t,handlerFunc:C,useCapture:i};N.registerOrRemoveHandler(B)}function au(e,r,i,t,n){return uD(e,r,i,t,2,"keydown"),0}function Fu(e,r,i,t,n){return uD(e,r,i,t,3,"keyup"),0}function su(e,r,i){var t=f(e);at(t,r,i)}function Au(e,r,i,t,n){return Dr(e,r,i,t,5,"mousedown"),0}function cu(e,r,i,t,n){return Dr(e,r,i,t,33,"mouseenter"),0}function uu(e,r,i,t,n){return Dr(e,r,i,t,8,"mousemove"),0}function fu(e,r,i,t,n){return Dr(e,r,i,t,6,"mouseup"),0}function lu(e,r,i,t,n,E,D){N.uiEvent||(N.uiEvent=_e(36)),e=Ie(e);var C=function(a=event){if(a.target==e){var s=document.body;if(!!s){var c=N.uiEvent;h[c>>2]=a.detail,h[c+4>>2]=s.clientWidth,h[c+8>>2]=s.clientHeight,h[c+12>>2]=innerWidth,h[c+16>>2]=innerHeight,h[c+20>>2]=outerWidth,h[c+24>>2]=outerHeight,h[c+28>>2]=pageXOffset,h[c+32>>2]=pageYOffset,f(t)(n,c,r)&&a.preventDefault()}}},B={target:e,eventTypeString:E,callbackfunc:t,handlerFunc:C,useCapture:i};N.registerOrRemoveHandler(B)}function du(e,r,i,t,n){return lu(e,r,i,t,10,"resize"),0}function jr(e,r,i,t,n,E,D){N.touchEvent||(N.touchEvent=_e(1696)),e=Ie(e);var C=function(a){for(var s,c={},m=a.touches,y=0;y<m.length;++y)s=m[y],s.isChanged=s.onTarget=0,c[s.identifier]=s;for(var y=0;y<a.changedTouches.length;++y)s=a.changedTouches[y],s.isChanged=1,c[s.identifier]=s;for(var y=0;y<a.targetTouches.length;++y)c[a.targetTouches[y].identifier].onTarget=1;var k=N.touchEvent;xe[k>>3]=a.timeStamp;var M=k>>2;h[M+3]=a.ctrlKey,h[M+4]=a.shiftKey,h[M+5]=a.altKey,h[M+6]=a.metaKey,M+=7;var G=mi(e),H=0;for(var y in c)if(s=c[y],h[M+0]=s.identifier,h[M+1]=s.screenX,h[M+2]=s.screenY,h[M+3]=s.clientX,h[M+4]=s.clientY,h[M+5]=s.pageX,h[M+6]=s.pageY,h[M+7]=s.isChanged,h[M+8]=s.onTarget,h[M+9]=s.clientX-G.left,h[M+10]=s.clientY-G.top,M+=13,++H>31)break;h[k+8>>2]=H,f(t)(n,k,r)&&a.preventDefault()},B={target:e,allowsDeferredCalls:E=="touchstart"||E=="touchend",eventTypeString:E,callbackfunc:t,handlerFunc:C,useCapture:i};N.registerOrRemoveHandler(B)}function vu(e,r,i,t,n){return jr(e,r,i,t,25,"touchcancel"),0}function _u(e,r,i,t,n){return jr(e,r,i,t,23,"touchend"),0}function mu(e,r,i,t,n){return jr(e,r,i,t,24,"touchmove"),0}function pu(e,r,i,t,n){return jr(e,r,i,t,22,"touchstart"),0}function gu(e,r,i,t,n,E,D){N.wheelEvent||(N.wheelEvent=_e(104));var C=function(a=event){var s=N.wheelEvent;cD(s,a,e),xe[s+72>>3]=a.deltaX,xe[s+80>>3]=a.deltaY,xe[s+88>>3]=a.deltaZ,h[s+96>>2]=a.deltaMode,f(t)(n,s,r)&&a.preventDefault()},B={target:e,allowsDeferredCalls:!0,eventTypeString:E,callbackfunc:t,handlerFunc:C,useCapture:i};N.registerOrRemoveHandler(B)}function hu(e,r,i,t,n){return e=Ie(e),typeof e.onwheel<"u"?(gu(e,r,i,t,9,"wheel"),0):-1}function yu(e,r){var i=_.getContext(e),t=se(r);t.startsWith("GL_")&&(t=t.substr(3)),t=="ANGLE_instanced_arrays"&&At(u),t=="OES_vertex_array_object"&&ct(u),t=="WEBGL_draw_buffers"&&ut(u),t=="WEBGL_draw_instanced_base_vertex_base_instance"&&ft(u),t=="WEBGL_multi_draw_instanced_base_vertex_base_instance"&<(u),t=="WEBGL_multi_draw"&&dt(u);var n=i.GLctx.getExtension(t);return!!n}var wu=["default","low-power","high-performance"];function ku(e,r){if(!r)return-5;if(e=_.contexts[e],!e)return-3;var i=e.GLctx;if(!i)return-3;i=i.getContextAttributes(),h[r>>2]=i.alpha,h[r+4>>2]=i.depth,h[r+8>>2]=i.stencil,h[r+12>>2]=i.antialias,h[r+16>>2]=i.premultipliedAlpha,h[r+20>>2]=i.preserveDrawingBuffer;var t=i.powerPreference&&wu.indexOf(i.powerPreference);return h[r+24>>2]=t,h[r+28>>2]=i.failIfMajorPerformanceCaveat,h[r+32>>2]=e.version,h[r+36>>2]=0,h[r+40>>2]=e.attributes.enableExtensionsByDefault,0}function bu(){return _.currentContext?_.currentContext.handle:0}var xu=bu,bi={};function Su(){return T||"./this.program"}function _r(){if(!_r.strings){var e=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:Su()};for(var i in bi)bi[i]===void 0?delete r[i]:r[i]=bi[i];var t=[];for(var i in r)t.push(i+"="+r[i]);_r.strings=t}return _r.strings}function Mu(e,r){for(var i=0;i<e.length;++i)Fe[r++>>0]=e.charCodeAt(i);Fe[r>>0]=0}function Tu(e,r){var i=0;return _r().forEach(function(t,n){var E=r+i;Y[e+n*4>>2]=E,Mu(t,E),i+=t.length+1}),0}function Pu(e,r){var i=_r();Y[e>>2]=i.length;var t=0;return i.forEach(function(n){t+=n.length+1}),Y[r>>2]=t,0}function Lu(e){try{var r=te.getStreamFromFD(e);return A.close(r),0}catch(i){if(typeof A>"u"||i.name!=="ErrnoError")throw i;return i.errno}}function Ru(e,r,i,t){for(var n=0,E=0;E<i;E++){var D=Y[r>>2],C=Y[r+4>>2];r+=8;var B=A.read(e,Fe,D,C,t);if(B<0)return-1;if(n+=B,B<C)break;typeof t<"u"&&(t+=B)}return n}function Gu(e,r,i,t){try{var n=te.getStreamFromFD(e),E=Ru(n,r,i);return Y[t>>2]=E,0}catch(D){if(typeof A>"u"||D.name!=="ErrnoError")throw D;return D.errno}}function Iu(e,r){return r+2097152>>>0<4194305-!!e?(e>>>0)+r*4294967296:NaN}function Uu(e,r,i,t,n){try{var E=Iu(r,i);if(isNaN(E))return 61;var D=te.getStreamFromFD(e);return A.llseek(D,E,t),ae=[D.position>>>0,(Q=D.position,+Math.abs(Q)>=1?Q>0?(Math.min(+Math.floor(Q/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],h[n>>2]=ae[0],h[n+4>>2]=ae[1],D.getdents&&E===0&&t===0&&(D.getdents=null),0}catch(C){if(typeof A>"u"||C.name!=="ErrnoError")throw C;return C.errno}}function Ou(e,r,i,t){for(var n=0,E=0;E<i;E++){var D=Y[r>>2],C=Y[r+4>>2];r+=8;var B=A.write(e,Fe,D,C,t);if(B<0)return-1;n+=B,typeof t<"u"&&(t+=B)}return n}function Vu(e,r,i,t){try{var n=te.getStreamFromFD(e),E=Ou(n,r,i);return Y[t>>2]=E,0}catch(D){if(typeof A>"u"||D.name!=="ErrnoError")throw D;return D.errno}}function ju(e){return e}function Wr(e){return e%4===0&&(e%100!==0||e%400===0)}function Wu(e,r){for(var i=0,t=0;t<=r;i+=e[t++]);return i}var fD=[31,29,31,30,31,30,31,31,30,31,30,31],lD=[31,28,31,30,31,30,31,31,30,31,30,31];function Nu(e,r){for(var i=new Date(e.getTime());r>0;){var t=Wr(i.getFullYear()),n=i.getMonth(),E=(t?fD:lD)[n];if(r>E-i.getDate())r-=E-i.getDate()+1,i.setDate(1),n<11?i.setMonth(n+1):(i.setMonth(0),i.setFullYear(i.getFullYear()+1));else return i.setDate(i.getDate()+r),i}return i}function Hu(e,r){Fe.set(e,r)}function zu(e,r,i,t){var n=h[t+40>>2],E={tm_sec:h[t>>2],tm_min:h[t+4>>2],tm_hour:h[t+8>>2],tm_mday:h[t+12>>2],tm_mon:h[t+16>>2],tm_year:h[t+20>>2],tm_wday:h[t+24>>2],tm_yday:h[t+28>>2],tm_isdst:h[t+32>>2],tm_gmtoff:h[t+36>>2],tm_zone:n?se(n):""},D=se(i),C={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var B in C)D=D.replace(new RegExp(B,"g"),C[B]);var a=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],s=["January","February","March","April","May","June","July","August","September","October","November","December"];function c(S,U,ne){for(var q=typeof S=="number"?S.toString():S||"";q.length<U;)q=ne[0]+q;return q}function m(S,U){return c(S,U,"0")}function y(S,U){function ne(oe){return oe<0?-1:oe>0?1:0}var q;return(q=ne(S.getFullYear()-U.getFullYear()))===0&&(q=ne(S.getMonth()-U.getMonth()))===0&&(q=ne(S.getDate()-U.getDate())),q}function k(S){switch(S.getDay()){case 0:return new Date(S.getFullYear()-1,11,29);case 1:return S;case 2:return new Date(S.getFullYear(),0,3);case 3:return new Date(S.getFullYear(),0,2);case 4:return new Date(S.getFullYear(),0,1);case 5:return new Date(S.getFullYear()-1,11,31);case 6:return new Date(S.getFullYear()-1,11,30)}}function M(S){var U=Nu(new Date(S.tm_year+1900,0,1),S.tm_yday),ne=new Date(U.getFullYear(),0,4),q=new Date(U.getFullYear()+1,0,4),oe=k(ne),Ee=k(q);return y(oe,U)<=0?y(Ee,U)<=0?U.getFullYear()+1:U.getFullYear():U.getFullYear()-1}var G={"%a":function(S){return a[S.tm_wday].substring(0,3)},"%A":function(S){return a[S.tm_wday]},"%b":function(S){return s[S.tm_mon].substring(0,3)},"%B":function(S){return s[S.tm_mon]},"%C":function(S){var U=S.tm_year+1900;return m(U/100|0,2)},"%d":function(S){return m(S.tm_mday,2)},"%e":function(S){return c(S.tm_mday,2," ")},"%g":function(S){return M(S).toString().substring(2)},"%G":function(S){return M(S)},"%H":function(S){return m(S.tm_hour,2)},"%I":function(S){var U=S.tm_hour;return U==0?U=12:U>12&&(U-=12),m(U,2)},"%j":function(S){return m(S.tm_mday+Wu(Wr(S.tm_year+1900)?fD:lD,S.tm_mon-1),3)},"%m":function(S){return m(S.tm_mon+1,2)},"%M":function(S){return m(S.tm_min,2)},"%n":function(){return`
|
|
74
|
-
`},"%p":function(S){return S.tm_hour>=0&&S.tm_hour<12?"AM":"PM"},"%S":function(S){return m(S.tm_sec,2)},"%t":function(){return" "},"%u":function(S){return S.tm_wday||7},"%U":function(S){var U=S.tm_yday+7-S.tm_wday;return m(Math.floor(U/7),2)},"%V":function(S){var U=Math.floor((S.tm_yday+7-(S.tm_wday+6)%7)/7);if((S.tm_wday+371-S.tm_yday-2)%7<=2&&U++,U){if(U==53){var q=(S.tm_wday+371-S.tm_yday)%7;q!=4&&(q!=3||!Wr(S.tm_year))&&(U=1)}}else{U=52;var ne=(S.tm_wday+7-S.tm_yday-1)%7;(ne==4||ne==5&&Wr(S.tm_year%400-1))&&U++}return m(U,2)},"%w":function(S){return S.tm_wday},"%W":function(S){var U=S.tm_yday+7-(S.tm_wday+6)%7;return m(Math.floor(U/7),2)},"%y":function(S){return(S.tm_year+1900).toString().substring(2)},"%Y":function(S){return S.tm_year+1900},"%z":function(S){var U=S.tm_gmtoff,ne=U>=0;return U=Math.abs(U)/60,U=U/60*100+U%60,(ne?"+":"-")+String("0000"+U).slice(-4)},"%Z":function(S){return S.tm_zone},"%%":function(){return"%"}};D=D.replace(/%%/g,"\0\0");for(var B in G)D.includes(B)&&(D=D.replace(new RegExp(B,"g"),G[B](E)));D=D.replace(/\0\0/g,"%");var H=Rr(D,!1);return H.length>r?0:(Hu(H,e),H.length-1)}function Xu(e,r,i,t,n){return zu(e,r,i,t)}var dD=function(e,r,i,t){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=A.nextInode++,this.name=r,this.mode=i,this.node_ops={},this.stream_ops={},this.rdev=t},Nr=365,Hr=146;Object.defineProperties(dD.prototype,{read:{get:function(){return(this.mode&Nr)===Nr},set:function(e){e?this.mode|=Nr:this.mode&=~Nr}},write:{get:function(){return(this.mode&Hr)===Hr},set:function(e){e?this.mode|=Hr:this.mode&=~Hr}},isFolder:{get:function(){return A.isDir(this.mode)}},isDevice:{get:function(){return A.isChrdev(this.mode)}}}),A.FSNode=dD,A.staticInit(),tB(),nt=F.BindingError=ui(Error,"BindingError"),Et=F.InternalError=ui(Error,"InternalError"),FB(),Bt=F.UnboundTypeError=ui(Error,"UnboundTypeError"),F.requestFullscreen=function(r,i){b.requestFullscreen(r,i)},F.requestAnimationFrame=function(r){b.requestAnimationFrame(r)},F.setCanvasSize=function(r,i,t){b.setCanvasSize(r,i,t)},F.pauseMainLoop=function(){b.mainLoop.pause()},F.resumeMainLoop=function(){b.mainLoop.resume()},F.getUserMedia=function(){b.getUserMedia()},F.createContext=function(r,i,t,n){return b.createContext(r,i,t,n)};for(var vD={},u,ve=0;ve<32;++ve)Ir.push(new Array(ve));for(var qu=new Float32Array(288),ve=0;ve<288;++ve)Ve[ve]=qu.subarray(0,ve+1);for(var Qu=new Int32Array(288),ve=0;ve<288;++ve)dr[ve]=Qu.subarray(0,ve+1);var _D={OSD_MemInfo_getModuleHeapLength:wC,__cxa_begin_catch:TC,__cxa_end_catch:LC,__cxa_find_matching_catch_2:GC,__cxa_find_matching_catch_3:IC,__cxa_find_matching_catch_4:UC,__cxa_find_matching_catch_5:OC,__cxa_rethrow:VC,__cxa_throw:jC,__resumeException:RC,__syscall_chmod:zC,__syscall_faccessat:XC,__syscall_fcntl64:QC,__syscall_fstat64:KC,__syscall_getdents64:YC,__syscall_ioctl:JC,__syscall_lstat64:$C,__syscall_newfstatat:ZC,__syscall_openat:eB,__syscall_stat64:rB,_embind_register_bigint:iB,_embind_register_bool:CB,_embind_register_emval:sB,_embind_register_float:cB,_embind_register_function:bB,_embind_register_integer:SB,_embind_register_memory_view:MB,_embind_register_std_string:TB,_embind_register_std_wstring:OB,_embind_register_void:VB,_emscripten_get_now_is_monotonic:WB,_emscripten_throw_longjmp:NB,_mmap_js:HB,_munmap_js:zB,abort:XB,eglBindAPI:KB,eglChooseConfig:YB,eglCreateContext:JB,eglCreateWindowSurface:$B,eglDestroyContext:ZB,eglDestroySurface:e9,eglGetCurrentContext:r9,eglGetCurrentDisplay:i9,eglGetCurrentSurface:t9,eglGetDisplay:n9,eglGetError:E9,eglInitialize:D9,eglMakeCurrent:C9,eglQueryString:B9,eglQuerySurface:o9,eglSwapBuffers:a9,eglSwapInterval:F9,eglTerminate:s9,emscripten_asm_const_int:u9,emscripten_async_call:f9,emscripten_async_wget:v9,emscripten_async_wget_data:_9,emscripten_cancel_main_loop:m9,emscripten_date_now:p9,emscripten_get_callstack:y9,emscripten_get_canvas_element_size:k9,emscripten_get_device_pixel_ratio:b9,emscripten_get_element_css_size:x9,emscripten_get_heap_max:S9,emscripten_get_now:ur,emscripten_get_preloaded_image_data:M9,emscripten_glActiveTexture:T9,emscripten_glAttachShader:P9,emscripten_glBeginQuery:R9,emscripten_glBeginQueryEXT:I9,emscripten_glBeginTransformFeedback:O9,emscripten_glBindAttribLocation:V9,emscripten_glBindBuffer:j9,emscripten_glBindBufferBase:N9,emscripten_glBindBufferRange:z9,emscripten_glBindFramebuffer:X9,emscripten_glBindRenderbuffer:q9,emscripten_glBindSampler:K9,emscripten_glBindTexture:Y9,emscripten_glBindTransformFeedback:$9,emscripten_glBindVertexArray:Z9,emscripten_glBindVertexArrayOES:r8,emscripten_glBlendColor:i8,emscripten_glBlendEquation:t8,emscripten_glBlendEquationSeparate:n8,emscripten_glBlendFunc:E8,emscripten_glBlendFuncSeparate:D8,emscripten_glBlitFramebuffer:B8,emscripten_glBufferData:o8,emscripten_glBufferSubData:a8,emscripten_glCheckFramebufferStatus:F8,emscripten_glClear:s8,emscripten_glClearBufferfi:c8,emscripten_glClearBufferfv:f8,emscripten_glClearBufferiv:d8,emscripten_glClearBufferuiv:_8,emscripten_glClearColor:m8,emscripten_glClearDepthf:p8,emscripten_glClearStencil:g8,emscripten_glClientWaitSync:y8,emscripten_glColorMask:w8,emscripten_glCompileShader:k8,emscripten_glCompressedTexImage2D:b8,emscripten_glCompressedTexImage3D:S8,emscripten_glCompressedTexSubImage2D:M8,emscripten_glCompressedTexSubImage3D:P8,emscripten_glCopyBufferSubData:R8,emscripten_glCopyTexImage2D:G8,emscripten_glCopyTexSubImage2D:I8,emscripten_glCopyTexSubImage3D:O8,emscripten_glCreateProgram:V8,emscripten_glCreateShader:j8,emscripten_glCullFace:W8,emscripten_glDeleteBuffers:N8,emscripten_glDeleteFramebuffers:H8,emscripten_glDeleteProgram:z8,emscripten_glDeleteQueries:q8,emscripten_glDeleteQueriesEXT:K8,emscripten_glDeleteRenderbuffers:Y8,emscripten_glDeleteSamplers:$8,emscripten_glDeleteShader:Z8,emscripten_glDeleteSync:ro,emscripten_glDeleteTextures:io,emscripten_glDeleteTransformFeedbacks:no,emscripten_glDeleteVertexArrays:Eo,emscripten_glDeleteVertexArraysOES:Co,emscripten_glDepthFunc:Bo,emscripten_glDepthMask:oo,emscripten_glDepthRangef:ao,emscripten_glDetachShader:Fo,emscripten_glDisable:so,emscripten_glDisableVertexAttribArray:Ao,emscripten_glDrawArrays:co,emscripten_glDrawArraysInstanced:uo,emscripten_glDrawArraysInstancedANGLE:lo,emscripten_glDrawArraysInstancedARB:_o,emscripten_glDrawArraysInstancedEXT:po,emscripten_glDrawArraysInstancedNV:ho,emscripten_glDrawBuffers:yo,emscripten_glDrawBuffersEXT:ko,emscripten_glDrawBuffersWEBGL:xo,emscripten_glDrawElements:So,emscripten_glDrawElementsInstanced:Mo,emscripten_glDrawElementsInstancedANGLE:Po,emscripten_glDrawElementsInstancedARB:Ro,emscripten_glDrawElementsInstancedEXT:Io,emscripten_glDrawElementsInstancedNV:Oo,emscripten_glDrawRangeElements:jo,emscripten_glEnable:Wo,emscripten_glEnableVertexAttribArray:No,emscripten_glEndQuery:zo,emscripten_glEndQueryEXT:qo,emscripten_glEndTransformFeedback:Ko,emscripten_glFenceSync:Jo,emscripten_glFinish:$o,emscripten_glFlush:Zo,emscripten_glFlushMappedBufferRange:ra,emscripten_glFramebufferRenderbuffer:ia,emscripten_glFramebufferTexture2D:ta,emscripten_glFramebufferTextureLayer:Ea,emscripten_glFrontFace:Da,emscripten_glGenBuffers:Ca,emscripten_glGenFramebuffers:Ba,emscripten_glGenQueries:aa,emscripten_glGenQueriesEXT:sa,emscripten_glGenRenderbuffers:Aa,emscripten_glGenSamplers:ua,emscripten_glGenTextures:fa,emscripten_glGenTransformFeedbacks:da,emscripten_glGenVertexArrays:va,emscripten_glGenVertexArraysOES:ma,emscripten_glGenerateMipmap:pa,emscripten_glGetActiveAttrib:ga,emscripten_glGetActiveUniform:ha,emscripten_glGetActiveUniformBlockName:wa,emscripten_glGetActiveUniformBlockiv:ba,emscripten_glGetActiveUniformsiv:Sa,emscripten_glGetAttachedShaders:Ma,emscripten_glGetAttribLocation:Ta,emscripten_glGetBooleanv:Pa,emscripten_glGetBufferParameteri64v:Ra,emscripten_glGetBufferParameteriv:Ga,emscripten_glGetBufferPointerv:Ua,emscripten_glGetError:Oa,emscripten_glGetFloatv:Va,emscripten_glGetFragDataLocation:Wa,emscripten_glGetFramebufferAttachmentParameteriv:Na,emscripten_glGetInteger64i_v:za,emscripten_glGetInteger64v:qa,emscripten_glGetIntegeri_v:Ka,emscripten_glGetIntegerv:Ya,emscripten_glGetInternalformativ:$a,emscripten_glGetProgramBinary:eF,emscripten_glGetProgramInfoLog:rF,emscripten_glGetProgramiv:iF,emscripten_glGetQueryObjecti64vEXT:tF,emscripten_glGetQueryObjectivEXT:nF,emscripten_glGetQueryObjectui64vEXT:DF,emscripten_glGetQueryObjectuiv:BF,emscripten_glGetQueryObjectuivEXT:aF,emscripten_glGetQueryiv:sF,emscripten_glGetQueryivEXT:cF,emscripten_glGetRenderbufferParameteriv:uF,emscripten_glGetSamplerParameterfv:lF,emscripten_glGetSamplerParameteriv:vF,emscripten_glGetShaderInfoLog:_F,emscripten_glGetShaderPrecisionFormat:mF,emscripten_glGetShaderSource:pF,emscripten_glGetShaderiv:gF,emscripten_glGetString:hF,emscripten_glGetStringi:wF,emscripten_glGetSynciv:bF,emscripten_glGetTexParameterfv:xF,emscripten_glGetTexParameteriv:SF,emscripten_glGetTransformFeedbackVarying:TF,emscripten_glGetUniformBlockIndex:LF,emscripten_glGetUniformIndices:GF,emscripten_glGetUniformLocation:UF,emscripten_glGetUniformfv:OF,emscripten_glGetUniformiv:VF,emscripten_glGetUniformuiv:WF,emscripten_glGetVertexAttribIiv:NF,emscripten_glGetVertexAttribIuiv:zF,emscripten_glGetVertexAttribPointerv:XF,emscripten_glGetVertexAttribfv:qF,emscripten_glGetVertexAttribiv:QF,emscripten_glHint:KF,emscripten_glInvalidateFramebuffer:JF,emscripten_glInvalidateSubFramebuffer:ZF,emscripten_glIsBuffer:es,emscripten_glIsEnabled:rs,emscripten_glIsFramebuffer:is,emscripten_glIsProgram:ts,emscripten_glIsQuery:Es,emscripten_glIsQueryEXT:Cs,emscripten_glIsRenderbuffer:Bs,emscripten_glIsSampler:as,emscripten_glIsShader:Fs,emscripten_glIsSync:As,emscripten_glIsTexture:cs,emscripten_glIsTransformFeedback:fs,emscripten_glIsVertexArray:ls,emscripten_glIsVertexArrayOES:vs,emscripten_glLineWidth:_s,emscripten_glLinkProgram:ms,emscripten_glMapBufferRange:gs,emscripten_glPauseTransformFeedback:ys,emscripten_glPixelStorei:ws,emscripten_glPolygonOffset:ks,emscripten_glProgramBinary:xs,emscripten_glProgramParameteri:Ms,emscripten_glQueryCounterEXT:Ps,emscripten_glReadBuffer:Rs,emscripten_glReadPixels:Us,emscripten_glReleaseShaderCompiler:Os,emscripten_glRenderbufferStorage:Vs,emscripten_glRenderbufferStorageMultisample:Ws,emscripten_glResumeTransformFeedback:Hs,emscripten_glSampleCoverage:zs,emscripten_glSamplerParameterf:qs,emscripten_glSamplerParameterfv:Ks,emscripten_glSamplerParameteri:Js,emscripten_glSamplerParameteriv:Zs,emscripten_glScissor:eA,emscripten_glShaderBinary:rA,emscripten_glShaderSource:iA,emscripten_glStencilFunc:tA,emscripten_glStencilFuncSeparate:nA,emscripten_glStencilMask:EA,emscripten_glStencilMaskSeparate:DA,emscripten_glStencilOp:CA,emscripten_glStencilOpSeparate:BA,emscripten_glTexImage2D:oA,emscripten_glTexImage3D:FA,emscripten_glTexParameterf:sA,emscripten_glTexParameterfv:AA,emscripten_glTexParameteri:cA,emscripten_glTexParameteriv:uA,emscripten_glTexStorage2D:lA,emscripten_glTexStorage3D:vA,emscripten_glTexSubImage2D:_A,emscripten_glTexSubImage3D:pA,emscripten_glTransformFeedbackVaryings:hA,emscripten_glUniform1f:yA,emscripten_glUniform1fv:wA,emscripten_glUniform1i:kA,emscripten_glUniform1iv:bA,emscripten_glUniform1ui:SA,emscripten_glUniform1uiv:TA,emscripten_glUniform2f:PA,emscripten_glUniform2fv:LA,emscripten_glUniform2i:RA,emscripten_glUniform2iv:GA,emscripten_glUniform2ui:UA,emscripten_glUniform2uiv:VA,emscripten_glUniform3f:jA,emscripten_glUniform3fv:WA,emscripten_glUniform3i:NA,emscripten_glUniform3iv:HA,emscripten_glUniform3ui:XA,emscripten_glUniform3uiv:QA,emscripten_glUniform4f:KA,emscripten_glUniform4fv:YA,emscripten_glUniform4i:JA,emscripten_glUniform4iv:$A,emscripten_glUniform4ui:ec,emscripten_glUniform4uiv:ic,emscripten_glUniformBlockBinding:nc,emscripten_glUniformMatrix2fv:Ec,emscripten_glUniformMatrix2x3fv:Cc,emscripten_glUniformMatrix2x4fv:oc,emscripten_glUniformMatrix3fv:ac,emscripten_glUniformMatrix3x2fv:sc,emscripten_glUniformMatrix3x4fv:cc,emscripten_glUniformMatrix4fv:uc,emscripten_glUniformMatrix4x2fv:lc,emscripten_glUniformMatrix4x3fv:vc,emscripten_glUnmapBuffer:mc,emscripten_glUseProgram:pc,emscripten_glValidateProgram:gc,emscripten_glVertexAttrib1f:hc,emscripten_glVertexAttrib1fv:yc,emscripten_glVertexAttrib2f:wc,emscripten_glVertexAttrib2fv:kc,emscripten_glVertexAttrib3f:bc,emscripten_glVertexAttrib3fv:xc,emscripten_glVertexAttrib4f:Sc,emscripten_glVertexAttrib4fv:Mc,emscripten_glVertexAttribDivisor:Tc,emscripten_glVertexAttribDivisorANGLE:Lc,emscripten_glVertexAttribDivisorARB:Gc,emscripten_glVertexAttribDivisorEXT:Uc,emscripten_glVertexAttribDivisorNV:Vc,emscripten_glVertexAttribI4i:Wc,emscripten_glVertexAttribI4iv:Hc,emscripten_glVertexAttribI4ui:Xc,emscripten_glVertexAttribI4uiv:Qc,emscripten_glVertexAttribIPointer:Yc,emscripten_glVertexAttribPointer:Jc,emscripten_glViewport:$c,emscripten_glWaitSync:eu,emscripten_memcpy_big:ru,emscripten_resize_heap:tu,emscripten_set_canvas_element_size:nu,emscripten_set_click_callback_on_thread:Eu,emscripten_set_dblclick_callback_on_thread:Du,emscripten_set_element_css_size:Cu,emscripten_set_focusout_callback_on_thread:ou,emscripten_set_keydown_callback_on_thread:au,emscripten_set_keyup_callback_on_thread:Fu,emscripten_set_main_loop:su,emscripten_set_mousedown_callback_on_thread:Au,emscripten_set_mouseenter_callback_on_thread:cu,emscripten_set_mousemove_callback_on_thread:uu,emscripten_set_mouseup_callback_on_thread:fu,emscripten_set_resize_callback_on_thread:du,emscripten_set_touchcancel_callback_on_thread:vu,emscripten_set_touchend_callback_on_thread:_u,emscripten_set_touchmove_callback_on_thread:mu,emscripten_set_touchstart_callback_on_thread:pu,emscripten_set_wheel_callback_on_thread:hu,emscripten_webgl_enable_extension:yu,emscripten_webgl_get_context_attributes:ku,emscripten_webgl_get_current_context:xu,environ_get:Tu,environ_sizes_get:Pu,exit:st,fd_close:Lu,fd_read:Gu,fd_seek:Uu,fd_write:Vu,glActiveTexture:pt,glAttachShader:gt,glBindAttribLocation:ht,glBindBuffer:yt,glBindFramebuffer:wt,glBindRenderbuffer:kt,glBindTexture:bt,glBlendColor:St,glBlendEquation:Mt,glBlendEquationSeparate:Tt,glBlendFunc:Pt,glBlendFuncSeparate:Lt,glBufferData:Rt,glBufferSubData:Gt,glCheckFramebufferStatus:It,glClear:Ut,glClearColor:Ot,glClearDepthf:Vt,glClearStencil:jt,glColorMask:Nt,glCompileShader:Ht,glCompressedTexImage2D:zt,glCompressedTexSubImage2D:Xt,glCopyTexImage2D:qt,glCopyTexSubImage2D:Qt,glCreateProgram:Kt,glCreateShader:Yt,glCullFace:Jt,glDeleteBuffers:$t,glDeleteFramebuffers:Zt,glDeleteProgram:en,glDeleteRenderbuffers:rn,glDeleteShader:tn,glDeleteTextures:nn,glDepthFunc:Dn,glDepthMask:Cn,glDepthRangef:Bn,glDetachShader:on,glDisable:an,glDisableVertexAttribArray:Fn,glDrawArrays:sn,glDrawElements:gi,glEnable:An,glEnableVertexAttribArray:cn,glFinish:un,glFlush:fn,glFramebufferRenderbuffer:ln,glFramebufferTexture2D:dn,glFrontFace:vn,glGenBuffers:_n,glGenFramebuffers:mn,glGenRenderbuffers:pn,glGenTextures:gn,glGenerateMipmap:yn,glGetActiveAttrib:kn,glGetActiveUniform:bn,glGetAttachedShaders:xn,glGetAttribLocation:Sn,glGetBooleanv:Mn,glGetBufferParameteriv:Tn,glGetError:Pn,glGetFloatv:Ln,glGetFramebufferAttachmentParameteriv:Rn,glGetIntegerv:In,glGetProgramInfoLog:Un,glGetProgramiv:On,glGetRenderbufferParameteriv:Wn,glGetShaderInfoLog:Nn,glGetShaderPrecisionFormat:Hn,glGetShaderSource:zn,glGetShaderiv:Xn,glGetString:qn,glGetTexParameterfv:Qn,glGetTexParameteriv:Kn,glGetUniformLocation:$n,glGetUniformfv:Zn,glGetUniformiv:eE,glGetVertexAttribPointerv:iE,glGetVertexAttribfv:tE,glGetVertexAttribiv:nE,glHint:EE,glIsBuffer:DE,glIsEnabled:CE,glIsFramebuffer:BE,glIsProgram:oE,glIsRenderbuffer:aE,glIsShader:FE,glIsTexture:sE,glLineWidth:cE,glLinkProgram:uE,glPixelStorei:fE,glPolygonOffset:lE,glReadPixels:dE,glReleaseShaderCompiler:vE,glRenderbufferStorage:_E,glSampleCoverage:mE,glScissor:pE,glShaderBinary:gE,glShaderSource:hE,glStencilFunc:yE,glStencilFuncSeparate:wE,glStencilMask:kE,glStencilMaskSeparate:bE,glStencilOp:xE,glStencilOpSeparate:SE,glTexImage2D:ME,glTexParameterf:TE,glTexParameterfv:PE,glTexParameteri:LE,glTexParameteriv:RE,glTexSubImage2D:GE,glUniform1f:IE,glUniform1fv:UE,glUniform1i:OE,glUniform1iv:VE,glUniform2f:jE,glUniform2fv:WE,glUniform2i:NE,glUniform2iv:HE,glUniform3f:zE,glUniform3fv:XE,glUniform3i:qE,glUniform3iv:QE,glUniform4f:KE,glUniform4fv:YE,glUniform4i:JE,glUniform4iv:$E,glUniformMatrix2fv:ZE,glUniformMatrix3fv:eD,glUniformMatrix4fv:rD,glUseProgram:iD,glValidateProgram:tD,glVertexAttrib1f:nD,glVertexAttrib1fv:ED,glVertexAttrib2f:DD,glVertexAttrib2fv:CD,glVertexAttrib3f:BD,glVertexAttrib3fv:oD,glVertexAttrib4f:aD,glVertexAttrib4fv:FD,glVertexAttribPointer:sD,glViewport:AD,invoke_d:r6,invoke_dd:I4,invoke_ddd:U4,invoke_dddd:H5,invoke_di:x4,invoke_did:M6,invoke_didd:K5,invoke_diddd:C6,invoke_diddi:c6,invoke_didi:z5,invoke_dii:Q4,invoke_diid:f5,invoke_diiddd:l5,invoke_diiddi:Q7,invoke_diii:F6,invoke_diiii:Sf,invoke_diiiii:mf,invoke_diiiiii:hf,invoke_diiiiiii:d7,invoke_fiii:m4,invoke_i:$u,invoke_iddid:L5,invoke_iddiiiiii:N7,invoke_idi:G5,invoke_idiiiii:Zf,invoke_ii:Ju,invoke_iid:g4,invoke_iidd:o5,invoke_iiddd:m6,invoke_iiddddd:dl,invoke_iiddddddddddddii:D5,invoke_iiddddddddiii:wf,invoke_iiddddddiiii:Al,invoke_iiddddi:bf,invoke_iiddddii:w7,invoke_iidddi:e6,invoke_iidddidd:a7,invoke_iidddii:j4,invoke_iidddiii:Y4,invoke_iiddi:a5,invoke_iiddid:cl,invoke_iiddii:W4,invoke_iiddiid:al,invoke_iiddiiiii:Bl,invoke_iidi:a6,invoke_iidid:x5,invoke_iidii:z4,invoke_iidiiddiid:h7,invoke_iidiii:q4,invoke_iidiiii:R4,invoke_iif:_4,invoke_iii:e4,invoke_iiid:J4,invoke_iiidd:S6,invoke_iiiddd:ef,invoke_iiidddd:Af,invoke_iiidddddd:R5,invoke_iiiddddi:p5,invoke_iiiddddidd:f6,invoke_iiiddddii:D6,invoke_iiidddi:Df,invoke_iiidddid:fl,invoke_iiidddii:i6,invoke_iiidddiid:j7,invoke_iiiddi:Y6,invoke_iiiddid:nl,invoke_iiiddidd:v5,invoke_iiiddidddd:O7,invoke_iiiddii:L6,invoke_iiiddiiii:S7,invoke_iiidi:d6,invoke_iiidid:S5,invoke_iiidii:Cf,invoke_iiidiid:w5,invoke_iiidiii:K4,invoke_iiidiiiii:J5,invoke_iiii:Zu,invoke_iiiid:O4,invoke_iiiidd:Z5,invoke_iiiiddd:q6,invoke_iiiidddd:N5,invoke_iiiidddddd:b5,invoke_iiiiddddddi:r7,invoke_iiiidddi:vf,invoke_iiiiddi:h6,invoke_iiiiddii:H4,invoke_iiiiddiii:_7,invoke_iiiiddiiii:cf,invoke_iiiidi:M5,invoke_iiiidii:Lf,invoke_iiiidiii:$4,invoke_iiiidiiiii:Nf,invoke_iiiif:h4,invoke_iiiii:Ku,invoke_iiiiid:A5,invoke_iiiiiddd:V7,invoke_iiiiidddd:i5,invoke_iiiiiddi:g6,invoke_iiiiidi:Q5,invoke_iiiiidii:e7,invoke_iiiiidiidd:s7,invoke_iiiiidiiiiii:E7,invoke_iiiiii:t4,invoke_iiiiiid:H6,invoke_iiiiiidd:q5,invoke_iiiiiidddd:C5,invoke_iiiiiiddiddiii:c5,invoke_iiiiiiddiiiii:A7,invoke_iiiiiidi:b6,invoke_iiiiiidii:N4,invoke_iiiiiidiiidd:C7,invoke_iiiiiii:C4,invoke_iiiiiiid:u5,invoke_iiiiiiidddiiddi:Dl,invoke_iiiiiiiddi:n7,invoke_iiiiiiii:A4,invoke_iiiiiiiidd:qf,invoke_iiiiiiiidddddddddiiddii:Yf,invoke_iiiiiiiidddddddiii:kf,invoke_iiiiiiiiddi:_f,invoke_iiiiiiiiddiiii:T7,invoke_iiiiiiiiddiiiii:x7,invoke_iiiiiiiifiii:n4,invoke_iiiiiiiii:w6,invoke_iiiiiiiiid:lf,invoke_iiiiiiiiidi:ml,invoke_iiiiiiiiii:$5,invoke_iiiiiiiiiiddidd:gf,invoke_iiiiiiiiiii:N6,invoke_iiiiiiiiiiidi:F7,invoke_iiiiiiiiiiii:z7,invoke_iiiiiiiiiiiid:gl,invoke_iiiiiiiiiiiiid:il,invoke_iiiiiiiiiiiiii:X7,invoke_iiiiiiiiiiiiiii:T5,invoke_iiji:Ml,invoke_v:B4,invoke_vd:w4,invoke_vddddiiiiiiiiiiii:Y7,invoke_vdddii:Ff,invoke_vdddiii:y7,invoke_vdddiiii:k7,invoke_vddi:af,invoke_vddii:sf,invoke_vddiii:wl,invoke_vddiiii:X4,invoke_vddiiiiiii:K7,invoke_vddiiiiiiiiiiiiiii:J7,invoke_vddiiiiiiiiiiiiiiiii:$7,invoke_vddiiiiiiiiiiiiiiiiiiii:q7,invoke_vddiiiiiiiiiiiiiiiiiiiiiiii:Z7,invoke_vdi:ff,invoke_vdiddddi:Bf,invoke_vdiddii:jf,invoke_vdiddiiii:df,invoke_vdidii:n6,invoke_vdiii:g5,invoke_vdiiii:G7,invoke_vdiiiii:I7,invoke_vdiiiiiiii:M7,invoke_vdiiiiiiiii:L7,invoke_vdiiiiiiiiii:R7,invoke_vdiiiiiiiiiii:yl,invoke_vffff:k4,invoke_vi:Yu,invoke_vid:p4,invoke_vidd:M4,invoke_viddd:T6,invoke_vidddd:G4,invoke_vidddddd:V4,invoke_viddddddd:ll,invoke_vidddddddddddd:u7,invoke_vidddddddii:ul,invoke_vidddddi:tf,invoke_viddddii:p7,invoke_viddddiiii:El,invoke_vidddi:rf,invoke_vidddidddddd:Z6,invoke_vidddii:Gf,invoke_vidddiiidi:g7,invoke_viddi:x6,invoke_viddid:Hf,invoke_viddidd:zf,invoke_viddidddiiii:d5,invoke_viddii:y6,invoke_viddiii:Q6,invoke_viddiiii:h5,invoke_viddiiiiii:j6,invoke_viddiiiiiiiiii:Fl,invoke_vidfdfii:z6,invoke_vidi:p6,invoke_vidid:t6,invoke_vididd:W5,invoke_vididdi:Kf,invoke_vididi:Qf,invoke_vidii:s6,invoke_vidiiddddii:m7,invoke_vidiidii:y5,invoke_vidiii:P4,invoke_vidiiidi:k5,invoke_vidiiii:X5,invoke_vidiiiiidd:pl,invoke_vidiiiiii:c7,invoke_vif:v4,invoke_vii:i4,invoke_viid:S4,invoke_viidd:T4,invoke_viiddd:A6,invoke_viidddd:m5,invoke_viidddddd:Y5,invoke_viidddddddd:B7,invoke_viidddddddiiii:Jf,invoke_viiddddi:L4,invoke_viiddddidd:P5,invoke_viidddi:of,invoke_viidddidi:l6,invoke_viidddii:U7,invoke_viiddi:P6,invoke_viiddidd:Ef,invoke_viiddii:V6,invoke_viiddiii:j5,invoke_viiddiiii:sl,invoke_viiddiiiiii:kl,invoke_viiddiiiiiiii:ol,invoke_viidi:d4,invoke_viidid:O6,invoke_viididd:$6,invoke_viidii:B6,invoke_viidiii:v6,invoke_viidiiid:v7,invoke_viidiiii:o6,invoke_viidiiiii:P7,invoke_viif:U5,invoke_viiffffi:l4,invoke_viifi:f4,invoke_viifiii:u4,invoke_viii:r4,invoke_viiid:I6,invoke_viiidd:u6,invoke_viiiddd:Vf,invoke_viiidddd:Rf,invoke_viiiddddi:b7,invoke_viiiddi:R6,invoke_viiiddidi:k6,invoke_viiiddiiii:uf,invoke_viiiddiiiiiiiiiiiiii:Cl,invoke_viiidi:yf,invoke_viiidid:nf,invoke_viiidii:If,invoke_viiidiii:Z4,invoke_viiidiiii:i7,invoke_viiidiiiii:tl,invoke_viiidiiiiii:E6,invoke_viiifiiiii:b4,invoke_viiii:E4,invoke_viiiid:W6,invoke_viiiidd:V5,invoke_viiiidddd:X6,invoke_viiiiddddd:H7,invoke_viiiidddddd:W7,invoke_viiiidddi:G6,invoke_viiiiddiiid:_6,invoke_viiiidii:xf,invoke_viiiidiii:Pf,invoke_viiiii:c4,invoke_viiiiid:U6,invoke_viiiiidd:r5,invoke_viiiiidddd:J6,invoke_viiiiidddddd:Tf,invoke_viiiiidddddddd:D7,invoke_viiiiiddddi:t7,invoke_viiiiiddi:Of,invoke_viiiiiddidd:_5,invoke_viiiiiddiii:Mf,invoke_viiiiiddiiii:Uf,invoke_viiiiidi:I5,invoke_viiiiidii:l7,invoke_viiiiii:D4,invoke_viiiiiid:O5,invoke_viiiiiidddi:o7,invoke_viiiiiiddi:vl,invoke_viiiiiiddiii:hl,invoke_viiiiiiddiiii:bl,invoke_viiiiiidii:f7,invoke_viiiiiidiidid:Wf,invoke_viiiiiii:o4,invoke_viiiiiiif:y4,invoke_viiiiiiii:a4,invoke_viiiiiiiid:F5,invoke_viiiiiiiiddi:$f,invoke_viiiiiiiii:F4,invoke_viiiiiiiiid:Xf,invoke_viiiiiiiiiddi:pf,invoke_viiiiiiiiii:s4,invoke_viiiiiiiiiid:s5,invoke_viiiiiiiiiidfdf:B5,invoke_viiiiiiiiiii:t5,invoke_viiiiiiiiiiidd:e5,invoke_viiiiiiiiiiidi:_l,invoke_viiiiiiiiiiiidi:rl,invoke_viiiiiiiiiiiidii:el,invoke_viiiiiiiiiiiii:K6,invoke_viiiiiiiiiiiiiiiiiiiiiiiiiiii:n5,invoke_viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii:E5,invoke_viiiij:xl,invoke_viiiiji:Sl,invoke_viijii:Tl,jsGetBoundingClientLeft:yC,jsGetBoundingClientTop:hC,jsUpdateBoundingClientRect:gC,llvm_eh_typeid_for:ju,occJSConsoleDebug:kC,occJSConsoleError:SC,occJSConsoleInfo:bC,occJSConsoleWarn:xC,strftime_l:Xu};mC();var mD=F._emscripten_bind_VoidPtr___destroy___0=function(){return(mD=F._emscripten_bind_VoidPtr___destroy___0=F.asm.emscripten_bind_VoidPtr___destroy___0).apply(null,arguments)},pD=F._emscripten_bind_MxDraw3DTools_MxDraw3DTools_0=function(){return(pD=F._emscripten_bind_MxDraw3DTools_MxDraw3DTools_0=F.asm.emscripten_bind_MxDraw3DTools_MxDraw3DTools_0).apply(null,arguments)},gD=F._emscripten_bind_MxDraw3DTools_TestCreateBox_0=function(){return(gD=F._emscripten_bind_MxDraw3DTools_TestCreateBox_0=F.asm.emscripten_bind_MxDraw3DTools_TestCreateBox_0).apply(null,arguments)},hD=F._emscripten_bind_MxDraw3DTools___destroy___0=function(){return(hD=F._emscripten_bind_MxDraw3DTools___destroy___0=F.asm.emscripten_bind_MxDraw3DTools___destroy___0).apply(null,arguments)};F.___original_main=function(){return(F.___original_main=F.asm.__original_main).apply(null,arguments)};var yD=F._main=function(){return(yD=F._main=F.asm.main).apply(null,arguments)},Pe=F._free=function(){return(Pe=F._free=F.asm.free).apply(null,arguments)},wD=function(){return(wD=F.asm.__cxa_free_exception).apply(null,arguments)},_e=F._malloc=function(){return(_e=F._malloc=F.asm.malloc).apply(null,arguments)},mr=function(){return(mr=F.asm.setTempRet0).apply(null,arguments)},kD=function(){return(kD=F.asm.__errno_location).apply(null,arguments)},bD=F.___getTypeName=function(){return(bD=F.___getTypeName=F.asm.__getTypeName).apply(null,arguments)};F.__embind_initialize_bindings=function(){return(F.__embind_initialize_bindings=F.asm._embind_initialize_bindings).apply(null,arguments)};var xD=function(){return(xD=F.asm.emscripten_builtin_memalign).apply(null,arguments)},l=function(){return(l=F.asm.setThrew).apply(null,arguments)},d=function(){return(d=F.asm.stackSave).apply(null,arguments)},v=function(){return(v=F.asm.stackRestore).apply(null,arguments)},SD=function(){return(SD=F.asm.stackAlloc).apply(null,arguments)},MD=function(){return(MD=F.asm.__cxa_can_catch).apply(null,arguments)},TD=function(){return(TD=F.asm.__cxa_is_pointer_type).apply(null,arguments)},PD=F.dynCall_viiiij=function(){return(PD=F.dynCall_viiiij=F.asm.dynCall_viiiij).apply(null,arguments)},LD=F.dynCall_iiji=function(){return(LD=F.dynCall_iiji=F.asm.dynCall_iiji).apply(null,arguments)},RD=F.dynCall_viiiiji=function(){return(RD=F.dynCall_viiiiji=F.asm.dynCall_viiiiji).apply(null,arguments)},GD=F.dynCall_viijii=function(){return(GD=F.dynCall_viijii=F.asm.dynCall_viijii).apply(null,arguments)};F.dynCall_jiji=function(){return(F.dynCall_jiji=F.asm.dynCall_jiji).apply(null,arguments)},F.dynCall_iiiiij=function(){return(F.dynCall_iiiiij=F.asm.dynCall_iiiiij).apply(null,arguments)},F.dynCall_iiiiijj=function(){return(F.dynCall_iiiiijj=F.asm.dynCall_iiiiijj).apply(null,arguments)},F.dynCall_iiiiiijj=function(){return(F.dynCall_iiiiiijj=F.asm.dynCall_iiiiiijj).apply(null,arguments)},F.___start_em_js=1946032,F.___stop_em_js=1946609;function Ku(e,r,i,t,n){var E=d();try{return f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function Yu(e,r){var i=d();try{f(e)(r)}catch(t){if(v(i),t!==t+0)throw t;l(1,0)}}function Ju(e,r){var i=d();try{return f(e)(r)}catch(t){if(v(i),t!==t+0)throw t;l(1,0)}}function $u(e){var r=d();try{return f(e)()}catch(i){if(v(r),i!==i+0)throw i;l(1,0)}}function Zu(e,r,i,t){var n=d();try{return f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function e4(e,r,i){var t=d();try{return f(e)(r,i)}catch(n){if(v(t),n!==n+0)throw n;l(1,0)}}function r4(e,r,i,t){var n=d();try{f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function i4(e,r,i){var t=d();try{f(e)(r,i)}catch(n){if(v(t),n!==n+0)throw n;l(1,0)}}function t4(e,r,i,t,n,E){var D=d();try{return f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function n4(e,r,i,t,n,E,D,C,B,a,s,c){var m=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c)}catch(y){if(v(m),y!==y+0)throw y;l(1,0)}}function E4(e,r,i,t,n){var E=d();try{f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function D4(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function C4(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function B4(e){var r=d();try{f(e)()}catch(i){if(v(r),i!==i+0)throw i;l(1,0)}}function o4(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function a4(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function F4(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function s4(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function A4(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function c4(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function u4(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function f4(e,r,i,t,n){var E=d();try{f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function l4(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function d4(e,r,i,t,n){var E=d();try{f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function v4(e,r,i){var t=d();try{f(e)(r,i)}catch(n){if(v(t),n!==n+0)throw n;l(1,0)}}function _4(e,r,i){var t=d();try{return f(e)(r,i)}catch(n){if(v(t),n!==n+0)throw n;l(1,0)}}function m4(e,r,i,t){var n=d();try{return f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function p4(e,r,i){var t=d();try{f(e)(r,i)}catch(n){if(v(t),n!==n+0)throw n;l(1,0)}}function g4(e,r,i){var t=d();try{return f(e)(r,i)}catch(n){if(v(t),n!==n+0)throw n;l(1,0)}}function h4(e,r,i,t,n){var E=d();try{return f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function y4(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function w4(e,r){var i=d();try{f(e)(r)}catch(t){if(v(i),t!==t+0)throw t;l(1,0)}}function k4(e,r,i,t,n){var E=d();try{f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function b4(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function x4(e,r){var i=d();try{return f(e)(r)}catch(t){if(v(i),t!==t+0)throw t;l(1,0)}}function S4(e,r,i,t){var n=d();try{f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function M4(e,r,i,t){var n=d();try{f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function T4(e,r,i,t,n){var E=d();try{f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function P4(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function L4(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function R4(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function G4(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function I4(e,r){var i=d();try{return f(e)(r)}catch(t){if(v(i),t!==t+0)throw t;l(1,0)}}function U4(e,r,i){var t=d();try{return f(e)(r,i)}catch(n){if(v(t),n!==n+0)throw n;l(1,0)}}function O4(e,r,i,t,n){var E=d();try{return f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function V4(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function j4(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function W4(e,r,i,t,n,E){var D=d();try{return f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function N4(e,r,i,t,n,E,D,C,B){var a=d();try{return f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function H4(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function z4(e,r,i,t,n){var E=d();try{return f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function X4(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function q4(e,r,i,t,n,E){var D=d();try{return f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function Q4(e,r,i){var t=d();try{return f(e)(r,i)}catch(n){if(v(t),n!==n+0)throw n;l(1,0)}}function K4(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function Y4(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function J4(e,r,i,t){var n=d();try{return f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function $4(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function Z4(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function e6(e,r,i,t,n,E){var D=d();try{return f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function r6(e){var r=d();try{return f(e)()}catch(i){if(v(r),i!==i+0)throw i;l(1,0)}}function i6(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function t6(e,r,i,t,n){var E=d();try{f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function n6(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function E6(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function D6(e,r,i,t,n,E,D,C,B){var a=d();try{return f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function C6(e,r,i,t,n){var E=d();try{return f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function B6(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function o6(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function a6(e,r,i,t){var n=d();try{return f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function F6(e,r,i,t){var n=d();try{return f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function s6(e,r,i,t,n){var E=d();try{f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function A6(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function c6(e,r,i,t,n){var E=d();try{return f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function u6(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function f6(e,r,i,t,n,E,D,C,B,a){var s=d();try{return f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function l6(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function d6(e,r,i,t,n){var E=d();try{return f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function v6(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function _6(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function m6(e,r,i,t,n){var E=d();try{return f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function p6(e,r,i,t){var n=d();try{f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function g6(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function h6(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function y6(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function w6(e,r,i,t,n,E,D,C,B){var a=d();try{return f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function k6(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function b6(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function x6(e,r,i,t,n){var E=d();try{f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function S6(e,r,i,t,n){var E=d();try{return f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function M6(e,r,i){var t=d();try{return f(e)(r,i)}catch(n){if(v(t),n!==n+0)throw n;l(1,0)}}function T6(e,r,i,t,n){var E=d();try{f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function P6(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function L6(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function R6(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function G6(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function I6(e,r,i,t,n){var E=d();try{f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function U6(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function O6(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function V6(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function j6(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function W6(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function N6(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function H6(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function z6(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function X6(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function q6(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function Q6(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function K6(e,r,i,t,n,E,D,C,B,a,s,c,m,y){var k=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y)}catch(M){if(v(k),M!==M+0)throw M;l(1,0)}}function Y6(e,r,i,t,n,E){var D=d();try{return f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function J6(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function $6(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function Z6(e,r,i,t,n,E,D,C,B,a,s,c){var m=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c)}catch(y){if(v(m),y!==y+0)throw y;l(1,0)}}function e5(e,r,i,t,n,E,D,C,B,a,s,c,m,y){var k=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y)}catch(M){if(v(k),M!==M+0)throw M;l(1,0)}}function r5(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function i5(e,r,i,t,n,E,D,C,B){var a=d();try{return f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function t5(e,r,i,t,n,E,D,C,B,a,s,c){var m=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c)}catch(y){if(v(m),y!==y+0)throw y;l(1,0)}}function n5(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H,S,U,ne,q,oe,Ee,fe,Qe,pr,gr,Ke){var Si=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H,S,U,ne,q,oe,Ee,fe,Qe,pr,gr,Ke)}catch(hr){if(v(Si),hr!==hr+0)throw hr;l(1,0)}}function E5(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H,S,U,ne,q,oe,Ee,fe,Qe,pr,gr,Ke,Si,hr,Ol,Vl,jl,Wl,Nl,Hl,zl,Xl,ql,Ql){var Kl=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H,S,U,ne,q,oe,Ee,fe,Qe,pr,gr,Ke,Si,hr,Ol,Vl,jl,Wl,Nl,Hl,zl,Xl,ql,Ql)}catch(Mi){if(v(Kl),Mi!==Mi+0)throw Mi;l(1,0)}}function D5(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k,M){var G=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k,M)}catch(H){if(v(G),H!==H+0)throw H;l(1,0)}}function C5(e,r,i,t,n,E,D,C,B,a){var s=d();try{return f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function B5(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k){var M=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k)}catch(G){if(v(M),G!==G+0)throw G;l(1,0)}}function o5(e,r,i,t){var n=d();try{return f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function a5(e,r,i,t,n){var E=d();try{return f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function F5(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function s5(e,r,i,t,n,E,D,C,B,a,s,c){var m=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c)}catch(y){if(v(m),y!==y+0)throw y;l(1,0)}}function A5(e,r,i,t,n,E){var D=d();try{return f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function c5(e,r,i,t,n,E,D,C,B,a,s,c,m,y){var k=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y)}catch(M){if(v(k),M!==M+0)throw M;l(1,0)}}function u5(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function f5(e,r,i,t){var n=d();try{return f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function l5(e,r,i,t,n,E){var D=d();try{return f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function d5(e,r,i,t,n,E,D,C,B,a,s,c){var m=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c)}catch(y){if(v(m),y!==y+0)throw y;l(1,0)}}function v5(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function _5(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function m5(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function p5(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function g5(e,r,i,t,n){var E=d();try{f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function h5(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function y5(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function w5(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function k5(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function b5(e,r,i,t,n,E,D,C,B,a){var s=d();try{return f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function x5(e,r,i,t,n){var E=d();try{return f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function S5(e,r,i,t,n,E){var D=d();try{return f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function M5(e,r,i,t,n,E){var D=d();try{return f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function T5(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k){var M=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k)}catch(G){if(v(M),G!==G+0)throw G;l(1,0)}}function P5(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function L5(e,r,i,t,n){var E=d();try{return f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function R5(e,r,i,t,n,E,D,C,B){var a=d();try{return f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function G5(e,r,i){var t=d();try{return f(e)(r,i)}catch(n){if(v(t),n!==n+0)throw n;l(1,0)}}function I5(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function U5(e,r,i,t){var n=d();try{f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function O5(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function V5(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function j5(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function W5(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function N5(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function H5(e,r,i,t){var n=d();try{return f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function z5(e,r,i,t){var n=d();try{return f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function X5(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function q5(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function Q5(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function K5(e,r,i,t){var n=d();try{return f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function Y5(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function J5(e,r,i,t,n,E,D,C,B){var a=d();try{return f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function $5(e,r,i,t,n,E,D,C,B,a){var s=d();try{return f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function Z5(e,r,i,t,n,E){var D=d();try{return f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function ef(e,r,i,t,n,E){var D=d();try{return f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function rf(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function tf(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function nf(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function Ef(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function Df(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function Cf(e,r,i,t,n,E){var D=d();try{return f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function Bf(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function of(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function af(e,r,i,t){var n=d();try{f(e)(r,i,t)}catch(E){if(v(n),E!==E+0)throw E;l(1,0)}}function Ff(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function sf(e,r,i,t,n){var E=d();try{f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function Af(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function cf(e,r,i,t,n,E,D,C,B,a){var s=d();try{return f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function uf(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function ff(e,r,i){var t=d();try{f(e)(r,i)}catch(n){if(v(t),n!==n+0)throw n;l(1,0)}}function lf(e,r,i,t,n,E,D,C,B,a){var s=d();try{return f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function df(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function vf(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function _f(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function mf(e,r,i,t,n,E){var D=d();try{return f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function pf(e,r,i,t,n,E,D,C,B,a,s,c,m){var y=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m)}catch(k){if(v(y),k!==k+0)throw k;l(1,0)}}function gf(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k){var M=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k)}catch(G){if(v(M),G!==G+0)throw G;l(1,0)}}function hf(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function yf(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function wf(e,r,i,t,n,E,D,C,B,a,s,c,m){var y=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c,m)}catch(k){if(v(y),k!==k+0)throw k;l(1,0)}}function kf(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H){var S=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H)}catch(U){if(v(S),U!==U+0)throw U;l(1,0)}}function bf(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function xf(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function Sf(e,r,i,t,n){var E=d();try{return f(e)(r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function Mf(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function Tf(e,r,i,t,n,E,D,C,B,a,s,c){var m=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c)}catch(y){if(v(m),y!==y+0)throw y;l(1,0)}}function Pf(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function Lf(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function Rf(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function Gf(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function If(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function Uf(e,r,i,t,n,E,D,C,B,a,s,c){var m=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c)}catch(y){if(v(m),y!==y+0)throw y;l(1,0)}}function Of(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function Vf(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function jf(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function Wf(e,r,i,t,n,E,D,C,B,a,s,c,m){var y=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m)}catch(k){if(v(y),k!==k+0)throw k;l(1,0)}}function Nf(e,r,i,t,n,E,D,C,B,a){var s=d();try{return f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function Hf(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function zf(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function Xf(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function qf(e,r,i,t,n,E,D,C,B,a){var s=d();try{return f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function Qf(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function Kf(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function Yf(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H,S,U,ne,q,oe){var Ee=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H,S,U,ne,q,oe)}catch(fe){if(v(Ee),fe!==fe+0)throw fe;l(1,0)}}function Jf(e,r,i,t,n,E,D,C,B,a,s,c,m,y){var k=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y)}catch(M){if(v(k),M!==M+0)throw M;l(1,0)}}function $f(e,r,i,t,n,E,D,C,B,a,s,c){var m=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c)}catch(y){if(v(m),y!==y+0)throw y;l(1,0)}}function Zf(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function e7(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function r7(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function i7(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function t7(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function n7(e,r,i,t,n,E,D,C,B,a){var s=d();try{return f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function E7(e,r,i,t,n,E,D,C,B,a,s,c){var m=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c)}catch(y){if(v(m),y!==y+0)throw y;l(1,0)}}function D7(e,r,i,t,n,E,D,C,B,a,s,c,m,y){var k=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y)}catch(M){if(v(k),M!==M+0)throw M;l(1,0)}}function C7(e,r,i,t,n,E,D,C,B,a,s,c){var m=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c)}catch(y){if(v(m),y!==y+0)throw y;l(1,0)}}function B7(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function o7(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function a7(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function F7(e,r,i,t,n,E,D,C,B,a,s,c,m){var y=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c,m)}catch(k){if(v(y),k!==k+0)throw k;l(1,0)}}function s7(e,r,i,t,n,E,D,C,B,a){var s=d();try{return f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function A7(e,r,i,t,n,E,D,C,B,a,s,c,m){var y=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c,m)}catch(k){if(v(y),k!==k+0)throw k;l(1,0)}}function c7(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function u7(e,r,i,t,n,E,D,C,B,a,s,c,m,y){var k=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y)}catch(M){if(v(k),M!==M+0)throw M;l(1,0)}}function f7(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function l7(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function d7(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function v7(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function _7(e,r,i,t,n,E,D,C,B){var a=d();try{return f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function m7(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function p7(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function g7(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function h7(e,r,i,t,n,E,D,C,B,a){var s=d();try{return f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function y7(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function w7(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function k7(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function b7(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function x7(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k){var M=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k)}catch(G){if(v(M),G!==G+0)throw G;l(1,0)}}function S7(e,r,i,t,n,E,D,C,B){var a=d();try{return f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function M7(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function T7(e,r,i,t,n,E,D,C,B,a,s,c,m,y){var k=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y)}catch(M){if(v(k),M!==M+0)throw M;l(1,0)}}function P7(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function L7(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function R7(e,r,i,t,n,E,D,C,B,a,s,c){var m=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c)}catch(y){if(v(m),y!==y+0)throw y;l(1,0)}}function G7(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function I7(e,r,i,t,n,E,D){var C=d();try{f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function U7(e,r,i,t,n,E,D,C){var B=d();try{f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function O7(e,r,i,t,n,E,D,C,B,a){var s=d();try{return f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function V7(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function j7(e,r,i,t,n,E,D,C,B){var a=d();try{return f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function W7(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function N7(e,r,i,t,n,E,D,C,B){var a=d();try{return f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function H7(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function z7(e,r,i,t,n,E,D,C,B,a,s,c){var m=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c)}catch(y){if(v(m),y!==y+0)throw y;l(1,0)}}function X7(e,r,i,t,n,E,D,C,B,a,s,c,m,y){var k=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y)}catch(M){if(v(k),M!==M+0)throw M;l(1,0)}}function q7(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H,S,U,ne,q,oe){var Ee=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H,S,U,ne,q,oe)}catch(fe){if(v(Ee),fe!==fe+0)throw fe;l(1,0)}}function Q7(e,r,i,t,n,E){var D=d();try{return f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function K7(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function Y7(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G){var H=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G)}catch(S){if(v(H),S!==S+0)throw S;l(1,0)}}function J7(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H){var S=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H)}catch(U){if(v(S),U!==U+0)throw U;l(1,0)}}function $7(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H,S,U){var ne=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H,S,U)}catch(q){if(v(ne),q!==q+0)throw q;l(1,0)}}function Z7(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H,S,U,ne,q,oe,Ee,fe,Qe,pr){var gr=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H,S,U,ne,q,oe,Ee,fe,Qe,pr)}catch(Ke){if(v(gr),Ke!==Ke+0)throw Ke;l(1,0)}}function el(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k,M){var G=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k,M)}catch(H){if(v(G),H!==H+0)throw H;l(1,0)}}function rl(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k){var M=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k)}catch(G){if(v(M),G!==G+0)throw G;l(1,0)}}function il(e,r,i,t,n,E,D,C,B,a,s,c,m,y){var k=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y)}catch(M){if(v(k),M!==M+0)throw M;l(1,0)}}function tl(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function nl(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function El(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function Dl(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k){var M=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k)}catch(G){if(v(M),G!==G+0)throw G;l(1,0)}}function Cl(e,r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H,S,U){var ne=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y,k,M,G,H,S,U)}catch(q){if(v(ne),q!==q+0)throw q;l(1,0)}}function Bl(e,r,i,t,n,E,D,C,B){var a=d();try{return f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function ol(e,r,i,t,n,E,D,C,B,a,s,c,m){var y=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m)}catch(k){if(v(y),k!==k+0)throw k;l(1,0)}}function al(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function Fl(e,r,i,t,n,E,D,C,B,a,s,c,m,y){var k=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y)}catch(M){if(v(k),M!==M+0)throw M;l(1,0)}}function sl(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function Al(e,r,i,t,n,E,D,C,B,a,s,c){var m=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c)}catch(y){if(v(m),y!==y+0)throw y;l(1,0)}}function cl(e,r,i,t,n,E){var D=d();try{return f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function ul(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function fl(e,r,i,t,n,E,D,C){var B=d();try{return f(e)(r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function ll(e,r,i,t,n,E,D,C,B){var a=d();try{f(e)(r,i,t,n,E,D,C,B)}catch(s){if(v(a),s!==s+0)throw s;l(1,0)}}function dl(e,r,i,t,n,E,D){var C=d();try{return f(e)(r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function vl(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function _l(e,r,i,t,n,E,D,C,B,a,s,c,m,y){var k=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m,y)}catch(M){if(v(k),M!==M+0)throw M;l(1,0)}}function ml(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function pl(e,r,i,t,n,E,D,C,B,a){var s=d();try{f(e)(r,i,t,n,E,D,C,B,a)}catch(c){if(v(s),c!==c+0)throw c;l(1,0)}}function gl(e,r,i,t,n,E,D,C,B,a,s,c,m){var y=d();try{return f(e)(r,i,t,n,E,D,C,B,a,s,c,m)}catch(k){if(v(y),k!==k+0)throw k;l(1,0)}}function hl(e,r,i,t,n,E,D,C,B,a,s,c){var m=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c)}catch(y){if(v(m),y!==y+0)throw y;l(1,0)}}function yl(e,r,i,t,n,E,D,C,B,a,s,c,m){var y=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m)}catch(k){if(v(y),k!==k+0)throw k;l(1,0)}}function wl(e,r,i,t,n,E){var D=d();try{f(e)(r,i,t,n,E)}catch(C){if(v(D),C!==C+0)throw C;l(1,0)}}function kl(e,r,i,t,n,E,D,C,B,a,s){var c=d();try{f(e)(r,i,t,n,E,D,C,B,a,s)}catch(m){if(v(c),m!==m+0)throw m;l(1,0)}}function bl(e,r,i,t,n,E,D,C,B,a,s,c,m){var y=d();try{f(e)(r,i,t,n,E,D,C,B,a,s,c,m)}catch(k){if(v(y),k!==k+0)throw k;l(1,0)}}function xl(e,r,i,t,n,E,D){var C=d();try{PD(e,r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}function Sl(e,r,i,t,n,E,D,C){var B=d();try{RD(e,r,i,t,n,E,D,C)}catch(a){if(v(B),a!==a+0)throw a;l(1,0)}}function Ml(e,r,i,t,n){var E=d();try{return LD(e,r,i,t,n)}catch(D){if(v(E),D!==D+0)throw D;l(1,0)}}function Tl(e,r,i,t,n,E,D){var C=d();try{GD(e,r,i,t,n,E,D)}catch(B){if(v(C),B!==B+0)throw B;l(1,0)}}var zr;Ar=function e(){zr||ID(),zr||(Ar=e)};function Pl(){var e=yD,r=0,i=0;try{var t=e(r,i);return Ft(t,!0),t}catch(n){return li(n)}}function ID(){if(He>0||(FC(),He>0))return;function e(){zr||(zr=!0,F.calledRun=!0,!ce&&(sC(),AC(),p(F),F.onRuntimeInitialized&&F.onRuntimeInitialized(),UD&&Pl(),cC()))}F.setStatus?(F.setStatus("Running..."),setTimeout(function(){setTimeout(function(){F.setStatus("")},1),e()},1)):e()}if(F.preInit)for(typeof F.preInit=="function"&&(F.preInit=[F.preInit]);F.preInit.length>0;)F.preInit.pop()();var UD=!0;F.noInitialRun&&(UD=!1),ID();function ye(){}ye.prototype=Object.create(ye.prototype),ye.prototype.constructor=ye,ye.prototype.__class__=ye,ye.__cache__={},F.WrapperObject=ye;function Xr(e){return(e||ye).__cache__}F.getCache=Xr;function xi(e,r){var i=Xr(r),t=i[e];return t||(t=Object.create((r||ye).prototype),t.ptr=e,i[e]=t)}F.wrapPointer=xi;function Ll(e,r){return xi(e.ptr,r)}F.castObject=Ll,F.NULL=xi(0);function Rl(e){if(!e.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";e.__destroy__(),delete Xr(e.__class__)[e.ptr]}F.destroy=Rl;function Gl(e,r){return e.ptr===r.ptr}F.compare=Gl;function Il(e){return e.ptr}F.getPointer=Il;function Ul(e){return e.__class__}F.getClass=Ul;function Ue(){throw"cannot construct a VoidPtr, no constructor in IDL"}Ue.prototype=Object.create(ye.prototype),Ue.prototype.constructor=Ue,Ue.prototype.__class__=Ue,Ue.__cache__={},F.VoidPtr=Ue,Ue.prototype.__destroy__=Ue.prototype.__destroy__=function(){var e=this.ptr;mD(e)};function we(){this.ptr=pD(),Xr(we)[this.ptr]=this}return we.prototype=Object.create(ye.prototype),we.prototype.constructor=we,we.prototype.__class__=we,we.__cache__={},F.MxDraw3DTools=we,we.prototype.TestCreateBox=we.prototype.TestCreateBox=function(){var e=this.ptr;return!!gD(e)},we.prototype.__destroy__=we.prototype.__destroy__=function(){var e=this.ptr;hD(e)},o.ready}})();typeof L=="object"&&typeof module=="object"?module.exports=br:typeof define=="function"&&define.amd?define([],function(){return br}):typeof L=="object"&&(L.mxdraw3d=br);const BC=Object.freeze(Object.defineProperty({__proto__:null,default:br},Symbol.toStringTag,{value:"Module"}));L.McDrawResbuf=Ri,L.McDrawUtility=kr,L.McObject=We,L.MdDbCircle=yr,L.MdDbCurve=or,L.MdDbDatabase=ei,L.MdDbEntity=je,L.MdDbLayerTable=Zr,L.MdDbLine=ar,L.MdDbPolyline=ri,L.MdDbText=Fr,L.MdRxObject=Cr,L.MxDraw3d=Ne,L.MxObjectId=wr,L.MxTools=Ye,L.b64Decode=Qr,L.b64Encode=qr,L.default=DC,L.downloadFile=Yr,L.drawArc=Bi,L.drawCircle=Jr,L.drawEllipticalArc=oi,L.drawLine=ti,L.drawMText=Ii,L.drawPolyLine=ni,L.drawPolygon=Ei,L.drawText=Pi,L.fetchAndInstantiate=Ti,L.loadMxCADassembly=Oi,L.loadMxCADassembly3d=Vi,L.loadWasmModule=CC,L.mxErase=ai,L.saveAsFileDialog=Kr,Object.defineProperties(L,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(t,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("mxdraw")):typeof define=="function"&&define.amd?define(["exports","mxdraw"],r):(t=typeof globalThis<"u"?globalThis:t||self,r(t.mxcad={},t.Mx))})(this,function(t,r){"use strict";const gD=(B=>B&&typeof B=="object"&&"default"in B?B:{default:B})(r);async function oD(B,D){const E=await(await fetch(B)).arrayBuffer();return await WebAssembly.instantiate(E,D)}function z(B){return btoa(unescape(encodeURIComponent(B)))}function H(B){return decodeURIComponent(escape(atob(B)))}async function q({blob:B,filename:D="",types:C=[{description:"mxweb File",accept:{"application/octet-stream":[".mxweb"]}}]}){try{if(window.showSaveFilePicker)if(window.navigator?.userActivation?.isActive)try{if(!window.showSaveFilePicker)return;const A=await(await window.showSaveFilePicker({suggestedName:D,types:C})).createWritable();await A.write(B),await A.close();return}catch(F){if(F?.name==="AbortError")return;console.error(F)}else console.warn("\u975E\u7528\u6237\u4EA4\u4E92 \u65E0\u6CD5\u8C03\u7528showSaveFilePicker \u5DF2\u9009\u62E9\u517C\u5BB9\u65B9\u6848");if(window.navigator?.msSaveOrOpenBlob){window.navigator.msSaveOrOpenBlob(B,D);return}const E=document.createElement("a");E.href=window.URL.createObjectURL(B),E.download=D,E.style.display="none",document.body.appendChild(E),E.click(),document.body.removeChild(E),typeof window.URL.revokeObjectURL=="function"?window.URL.revokeObjectURL(E.href):typeof window.webkitURL<"u"&&typeof window.webkitURL.revokeObjectURL=="function"?window.webkitURL.revokeObjectURL(E.href):window.URL.revokeObjectURL(E.href)}catch(E){console.error(E.name,E.message)}}function $(B,D){const C=document.createElement("a");C.href=window.URL.createObjectURL(B),C.download=D,C.click()}const v={b64Encode:z,b64Decode:H,saveAsFileDialog:q,downloadFile:$};async function uD(){const B=new r.MrxDbgUiPrPoint;B.setMessage(`
|
|
2
|
+
\u6307\u5B9A\u63D2\u5165\u4F4D\u7F6E:`);let D=await B.go();if(D==null)return;let C="\u6D4B\u8BD5";if(C.length<=0)return;let E=r.MxFun.screenCoordLong2Doc(50);C=v.b64Encode(C);const F={postx:D.x,posty:D.y,text:C,height:E};r.MxFun.call("Mx_Text",F)}class fD extends r.MxDbCircleShape{getGripPoints(){const{x:D,y:C,z:E}=this.center;let F=new THREE.Vector3(D,C+this.radius,E),A=new THREE.Vector3(D,C-this.radius,E),e=new THREE.Vector3(D-this.radius,C,E),i=new THREE.Vector3(D+this.radius,C,E);return[this.center,F,A,e,i]}moveGripPointsAt(D,C){const[E,F,A,e,i]=this.getGripPoints();return D===0&&(this.center=E.add(C)),D===1&&(this.radius=F.add(C).distanceTo(this.center)),D===2&&(this.radius=A.add(C).distanceTo(this.center)),D===3&&(this.radius=e.add(C).distanceTo(this.center)),D===4&&(this.radius=i.add(C).distanceTo(this.center)),!0}}const lD=B=>{const[D,C,E]=B,{x:F,y:A,z:e}=D,{x:i,y:s,z:n}=C,{x:o,y:u,z:d}=E,a=A*n-s*e-A*d+u*e+s*d-u*n,l=-(F*n-i*e-F*d+o*e+i*d-o*n),p=F*s-i*A-F*u+o*A+i*u-o*s,m=-(F*s*d-F*u*n-i*A*d+i*u*e+o*A*n-o*s*e),c=2*(i-F),w=2*(s-A),g=2*(n-e),S=F*F+A*A+e*e-i*i-s*s-n*n,f=2*(o-F),M=2*(u-A),x=2*(d-e),O=F*F+A*A+e*e-o*o-u*u-d*d,JD=-(l*g*O-l*x*S-w*p*O+w*x*m+M*p*S-M*g*m)/(a*w*x-a*M*g-c*l*x+c*M*p+f*l*g-f*w*p),YD=(a*g*O-a*x*S-c*p*O+c*x*m+f*p*S-f*g*m)/(a*w*x-a*M*g-c*l*x+c*M*p+f*l*g-f*w*p),QD=-(a*w*O-a*M*S-c*l*O+c*M*m+f*l*S-f*w*m)/(a*w*x-a*M*g-c*l*x+c*M*p+f*l*g-f*w*p);return new THREE.Vector3(JD,YD,QD)};function X(){const B=new r.MrxDbgUiPrPoint;let D=new fD;r.MxPaintBrush.use(D),D.closed=!1;let C=0,E="default",F=!0;const A=()=>{B.setUserDraw((a,l)=>{D.radius=F?D.center.distanceTo(a):D.center.distanceTo(a)/2,l.drawCustomEntity(D),l.drawLine(D.center,a)})},e=a=>{if(E==="default"){if(a===r.MrxDbgUiPrBaseReturn.kOk){if(C===0)B.setMessage(`
|
|
3
|
+
\u6307\u5B9A\u5706\u7684\u534A\u5F84:`),B.setKeyWords("[\u76F4\u5F84(D)]"),D.center=B.value(),A();else if(C===1)return r.MxFun.getCurrentDraw().addMxEntity(D),!0;C++}a===r.MrxDbgUiPrBaseReturn.kKeyWord&&B.isKeyWordPicked("D")&&(F=!1,A(),B.setMessage(`
|
|
4
|
+
\u6307\u5B9A\u5706\u7684\u76F4\u5F84:`),B.setKeyWords(""))}};let i=[];const s=a=>{if(E==="3P"&&(B.setMessage(`
|
|
5
|
+
\u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E00\u4E2A\u70B9:`),a===r.MrxDbgUiPrBaseReturn.kOk)){if(C===0&&(i.push(B.value()),B.setUserDraw((l,p)=>{p.drawLine(i[0],l)}),B.setMessage(`
|
|
6
|
+
\u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E8C\u4E2A\u70B9:`)),C===1&&(i.push(B.value()),B.setUserDraw((l,p)=>{const[m,c]=i,w=l;D.center=lD([m,c,w]),D.radius=D.center.distanceTo(m),p.drawCustomEntity(D)}),B.setMessage(`
|
|
7
|
+
\u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E09\u4E2A\u70B9:`)),C===2)return i.push(B.value()),D.center=lD(i),D.radius=D.center.distanceTo(i[0]),r.MxFun.getCurrentDraw().addMxEntity(D),!0;C++}};let n;const o=(a,l)=>{new THREE.Line3(a,l).getCenter(D.center),D.radius=l.distanceTo(a)/2},u=a=>{if(E==="2P"&&(B.setMessage(`
|
|
8
|
+
\u6307\u5B9A\u5706\u76F4\u5F84\u7684\u7B2C\u4E00\u4E2A\u7AEF\u70B9:`),a===r.MrxDbgUiPrBaseReturn.kOk)){if(C===0&&(n=B.value(),B.setUserDraw((l,p)=>{o(n,l),p.drawCustomEntity(D),p.drawLine(n,l)}),B.setMessage(`
|
|
9
|
+
\u6307\u5B9A\u5706\u76F4\u5F84\u7684\u7B2C\u4E8C\u4E2A\u7AEF\u70B9:`)),C===1)return o(n,B.value()),r.MxFun.getCurrentDraw().addMxEntity(D),!0;C++}},d=a=>{if(E==="T"){if(B.setMessage(`
|
|
10
|
+
\u6307\u5B9A\u5BF9\u8C61\u4E0E\u5706\u7684\u7B2C\u4E00\u4E2A\u5207\u70B9:`),a===r.MrxDbgUiPrBaseReturn.kOk){if(C===0){const l=B.value();console.log(l),r.MxFun.getCurrentDraw()}C++}return!0}};B.setMessage(`
|
|
11
|
+
\u6307\u5B9A\u5706\u7684\u5706\u5FC3\u6216[\u4E09\u70B9(3P)/\u4E24\u70B9(2P)/\u5207\u70B9\u3001\u5207\u70B9\u3001\u534A\u5F84(T)]:`),B.setKeyWords("3P 2P T"),B.goWhile(a=>{if(a===r.MrxDbgUiPrBaseReturn.kKeyWord&&(B.isKeyWordPicked("3P")?E="3P":B.isKeyWordPicked("2P")?E="2P":B.isKeyWordPicked("T")&&(E="T")),e(a))return{exit:!0};if(s(a))return{exit:!0};if(u(a))return{exit:!0};if(d(a))return{exit:!0}},a=>{a===r.MrxDbgUiPrBaseReturn.kCancel&&r.MxFun.getCurrentDraw().addMxEntity(D)})}r.store.events.on("MxDbEntityRegister",()=>{r.MxFun.addCommand("Mx_Circle",X)});var J;(function(B){B[B.kNormal=0]="kNormal",B[B.kRect=1]="kRect",B[B.kCross=2]="kCross"})(J||(J={}));class MD{z="D2BBB6A18140C6DF814181428143CDF2D5C9C8FDC9CFCFC2D8A2B2BBD3EB8144D8A4B3F38145D7A8C7D2D8A7CAC08146C7F0B1FBD2B5B4D4B6ABCBBFD8A9814781488149B6AA814AC1BDD1CF814BC9A5D8AD814CB8F6D1BEE3DCD6D0814D814EB7E1814FB4AE8150C1D98151D8BC8152CDE8B5A4CEAAD6F78153C0F6BED9D8AF815481558156C4CB8157BEC38158D8B1C3B4D2E58159D6AECEDAD5A7BAF5B7A6C0D6815AC6B9C5D2C7C7815BB9D4815CB3CBD2D2815D815ED8BFBEC5C6F2D2B2CFB0CFE7815F816081618162CAE981638164D8C081658166816781688169816AC2F2C2D2816BC8E9816C816D816E816F817081718172817381748175C7AC8176817781788179817A817B817CC1CB817DD3E8D5F9817ECAC2B6FED8A1D3DABFF78180D4C6BBA5D8C1CEE5BEAE81818182D8A88183D1C7D0A9818481858186D8BDD9EFCDF6BFBA8187BDBBBAA5D2E0B2FABAE0C4B68188CFEDBEA9CDA4C1C18189818A818BC7D7D9F1818CD9F4818D818E818F8190C8CBD8E9819181928193D2DACAB2C8CAD8ECD8EAD8C6BDF6C6CDB3F08194D8EBBDF1BDE98195C8D4B4D381968197C2D88198B2D6D7D0CACBCBFBD5CCB8B6CFC98199819A819BD9DAD8F0C7AA819CD8EE819DB4FAC1EED2D4819E819FD8ED81A0D2C7D8EFC3C781A181A281A3D1F681A4D6D9D8F281A5D8F5BCFEBCDB81A681A781A8C8CE81A9B7DD81AAB7C281ABC6F381AC81AD81AE81AF81B081B181B2D8F8D2C181B381B4CEE9BCBFB7FCB7A5D0DD81B581B681B781B881B9D6DAD3C5BBEFBBE1D8F181BA81BBC9A1CEB0B4AB81BCD8F381BDC9CBD8F6C2D7D8F781BE81BFCEB1D8F981C081C181C2B2AEB9C081C3D9A381C4B0E981C5C1E681C6C9EC81C7CBC581C8CBC6D9A481C981CA81CB81CC81CDB5E881CE81CFB5AB81D081D181D281D381D481D5CEBBB5CDD7A1D7F4D3D381D6CCE581D7BACE81D8D9A2D9DCD3E0D8FDB7F0D7F7D8FED8FAD9A1C4E381D981DAD3B6D8F4D9DD81DBD8FB81DCC5E581DD81DEC0D081DF81E0D1F0B0DB81E181E2BCD1D9A681E3D9A581E481E581E681E7D9ACD9AE81E8D9ABCAB981E981EA81EBD9A9D6B681EC81ED81EEB3DED9A881EFC0FD81F0CACC81F1D9AA81F2D9A781F381F4D9B081F581F6B6B181F781F881F9B9A981FAD2C081FB81FCCFC081FD81FEC2C28240BDC4D5ECB2E0C7C8BFEBD9AD8241D9AF8242CEEABAEE82438244824582468247C7D682488249824A824B824C824D824E824F8250B1E3825182528253B4D9B6EDD9B48254825582568257BFA182588259825AD9DEC7CEC0FED9B8825B825C825D825E825FCBD7B7FD8260D9B58261D9B7B1A3D3E1D9B98262D0C58263D9B682648265D9B18266D9B2C1A9D9B382678268BCF3D0DEB8A98269BEE3826AD9BD826B826C826D826ED9BA826FB0B3827082718272D9C28273827482758276827782788279827A827B827C827D827E8280D9C4B1B68281D9BF82828283B5B98284BEF3828582868287CCC8BAF2D2D08288D9C38289828ABDE8828BB3AB828C828D828ED9C5BEEB828FD9C6D9BBC4DF8290D9BED9C1D9C0829182928293829482958296829782988299829A829BD5AE829CD6B5829DC7E3829E829F82A082A1D9C882A282A382A4BCD9D9CA82A582A682A7D9BC82A8D9CBC6AB82A982AA82AB82AC82ADD9C982AE82AF82B082B1D7F682B2CDA382B382B482B582B682B782B882B982BABDA182BB82BC82BD82BE82BF82C0D9CC82C182C282C382C482C582C682C782C882C9C5BCCDB582CA82CB82CCD9CD82CD82CED9C7B3A5BFFE82CF82D082D182D2B8B582D382D4C0FC82D582D682D782D8B0F882D982DA82DB82DC82DD82DE82DF82E082E182E282E382E482E582E682E782E882E982EA82EB82EC82EDB4F682EED9CE82EFD9CFB4A2D9D082F082F1B4DF82F282F382F482F582F6B0C182F782F882F982FA82FB82FC82FDD9D1C9B582FE8340834183428343834483458346834783488349834A834B834C834D834E834F83508351CFF1835283538354835583568357D9D283588359835AC1C5835B835C835D835E835F836083618362836383648365D9D6C9AE8366836783688369D9D5D9D4D9D7836A836B836C836DCBDB836EBDA9836F8370837183728373C6A7837483758376837783788379837A837B837C837DD9D3D9D8837E83808381D9D9838283838384838583868387C8E583888389838A838B838C838D838E838F839083918392839383948395C0DC8396839783988399839A839B839C839D839E839F83A083A183A283A383A483A583A683A783A883A983AA83AB83AC83AD83AE83AF83B083B183B2B6F9D8A3D4CA83B3D4AAD0D6B3E4D5D783B4CFC8B9E283B5BFCB83B6C3E283B783B883B9B6D283BA83BBCDC3D9EED9F083BC83BD83BEB5B383BFB6B583C083C183C283C383C4BEA483C583C6C8EB83C783C8C8AB83C983CAB0CBB9ABC1F9D9E283CBC0BCB9B283CCB9D8D0CBB1F8C6E4BEDFB5E4D7C883CDD1F8BCE6CADE83CE83CFBCBDD9E6D8E783D083D1C4DA83D283D3B8D4C8BD83D483D5B2E1D4D983D683D783D883D9C3B083DA83DBC3E1DAA2C8DF83DCD0B483DDBEFCC5A983DE83DF83E0B9DA83E1DAA383E2D4A9DAA483E383E483E583E683E7D9FBB6AC83E883E9B7EBB1F9D9FCB3E5BEF683EABFF6D2B1C0E483EB83EC83EDB6B3D9FED9FD83EE83EFBEBB83F083F183F2C6E083F3D7BCDAA183F4C1B983F5B5F2C1E883F683F7BCF583F8B4D583F983FA83FB83FC83FD83FE844084418442C1DD8443C4FD84448445BCB8B7B284468447B7EF84488449844A844B844C844DD9EC844EC6BE844FBFADBBCB84508451B5CA8452DBC9D0D78453CDB9B0BCB3F6BBF7DBCABAAF8454D4E4B5B6B5F3D8D6C8D084558456B7D6C7D0D8D78457BFAF84588459DBBBD8D8845A845BD0CCBBAE845C845D845EEBBEC1D0C1F5D4F2B8D5B4B4845FB3F584608461C9BE846284638464C5D0846584668467C5D9C0FB8468B1F08469D8D9B9CE846AB5BD846B846CD8DA846D846ED6C6CBA2C8AFC9B2B4CCBFCC846FB9F48470D8DBD8DCB6E7BCC1CCEA847184728473847484758476CFF78477D8DDC7B084788479B9D0BDA3847A847BCCDE847CC6CA847D847E848084818482D8E08483D8DE84848485D8DF848684878488B0FE8489BEE7848ACAA3BCF4848B848C848D848EB8B1848F8490B8EE849184928493849484958496849784988499849AD8E2849BBDCB849CD8E4D8E3849D849E849F84A084A1C5FC84A284A384A484A584A684A784A8D8E584A984AAD8E684AB84AC84AD84AE84AF84B084B1C1A684B2C8B0B0ECB9A6BCD3CEF1DBBDC1D384B384B484B584B6B6AFD6FAC5ACBDD9DBBEDBBF84B784B884B9C0F8BEA2C0CD84BA84BB84BC84BD84BE84BF84C084C184C284C3DBC0CAC684C484C584C6B2AA84C784C884C9D3C284CAC3E384CBD1AB84CC84CD84CE84CFDBC284D0C0D584D184D284D3DBC384D4BFB184D584D684D784D884D984DAC4BC84DB84DC84DD84DEC7DA84DF84E084E184E284E384E484E584E684E784E884E9DBC484EA84EB84EC84ED84EE84EF84F084F1D9E8C9D784F284F384F4B9B4CEF0D4C884F584F684F784F8B0FCB4D284F9D0D984FA84FB84FC84FDD9E984FEDECBD9EB8540854185428543D8B0BBAFB1B18544B3D7D8CE85458546D4D185478548BDB3BFEF8549CFBB854A854BD8D0854C854D854EB7CB854F85508551D8D185528553855485558556855785588559855A855BC6A5C7F8D2BD855C855DD8D2C4E4855ECAAE855FC7A78560D8A68561C9FDCEE7BBDCB0EB856285638564BBAAD0AD8565B1B0D7E4D7BF8566B5A5C2F4C4CF85678568B2A98569B2B7856AB1E5DFB2D5BCBFA8C2ACD8D5C2B1856BD8D4CED4856CDAE0856DCEC0856E856FD8B4C3AED3A1CEA38570BCB4C8B4C2D18571BEEDD0B68572DAE18573857485758576C7E485778578B3A78579B6F2CCFCC0FA857A857BC0F7857CD1B9D1E1D8C7857D857E85808581858285838584B2DE85858586C0E58587BAF185888589D8C8858AD4AD858B858CCFE1D8C9858DD8CACFC3858EB3F8BEC7858F859085918592D8CB8593859485958596859785988599DBCC859A859B859C859DC8A5859E859F85A0CFD885A1C8FEB2CE85A285A385A485A585A6D3D6B2E6BCB0D3D1CBABB7B485A785A885A9B7A285AA85ABCAE585ACC8A1CADCB1E4D0F085ADC5D185AE85AF85B0DBC5B5FE85B185B2BFDAB9C5BEE4C1ED85B3DFB6DFB5D6BBBDD0D5D9B0C8B6A3BFC9CCA8DFB3CAB7D3D285B4D8CFD2B6BAC5CBBECCBE85B5DFB7B5F0DFB485B685B785B8D3F585B9B3D4B8F785BADFBA85BBBACFBCAAB5F585BCCDACC3FBBAF3C0F4CDC2CFF2DFB8CFC585BDC2C0DFB9C2F085BE85BF85C0BEFD85C1C1DFCDCCD2F7B7CDDFC185C2DFC485C385C4B7F1B0C9B6D6B7D485C5BAACCCFDBFD4CBB1C6F485C6D6A8DFC585C7CEE2B3B385C885C9CEFCB4B585CACEC7BAF085CBCEE185CCD1BD85CD85CEDFC085CF85D0B4F485D1B3CA85D2B8E6DFBB85D385D485D585D6C4C585D7DFBCDFBDDFBEC5BBDFBFDFC2D4B1DFC385D8C7BACED885D985DA85DB85DC85DDC4D885DEDFCA85DFDFCF85E0D6DC85E185E285E385E485E585E685E785E8DFC9DFDACEB685E9BAC7DFCEDFC8C5DE85EA85EBC9EBBAF4C3FC85EC85EDBED785EEDFC685EFDFCD85F0C5D885F185F285F385F4D5A6BACD85F5BECCD3BDB8C085F6D6E485F7DFC7B9BEBFA785F885F9C1FCDFCBDFCC85FADFD085FB85FC85FD85FE8640DFDBDFE58641DFD7DFD6D7C9DFE3DFE4E5EBD2A7DFD28642BFA98643D4DB8644BFC8DFD4864586468647CFCC86488649DFDD864AD1CA864BDFDEB0A7C6B7DFD3864CBAE5864DB6DFCDDBB9FED4D5864E864FDFDFCFECB0A5DFE7DFD1D1C6DFD5DFD8DFD9DFDC8650BBA98651DFE0DFE18652DFE2DFE6DFE8D3B486538654865586568657B8E7C5B6DFEAC9DAC1A8C4C486588659BFDECFF8865A865B865CD5DCDFEE865D865E865F866086618662B2B88663BADFDFEC8664DBC18665D1E48666866786688669CBF4B4BD866AB0A6866B866C866D866E866FDFF1CCC6DFF286708671DFED867286738674867586768677DFE986788679867A867BDFEB867CDFEFDFF0BBBD867D867EDFF386808681DFF48682BBA38683CADBCEA8E0A7B3AA8684E0A6868586868687E0A186888689868A868BDFFE868CCDD9DFFC868DDFFA868EBFD0D7C4868FC9CC86908691DFF8B0A186928693869486958696DFFD869786988699869ADFFBE0A2869B869C869D869E869FE0A886A086A186A286A3B7C886A486A5C6A1C9B6C0B2DFF586A686A7C5BE86A8D8C4DFF9C4F686A986AA86AB86AC86AD86AEE0A3E0A4E0A5D0A586AF86B0E0B4CCE486B1E0B186B2BFA6E0AFCEB9E0ABC9C686B386B4C0AEE0AEBAEDBAB0E0A986B586B686B7DFF686B8E0B386B986BAE0B886BB86BC86BDB4ADE0B986BE86BFCFB2BAC886C0E0B086C186C286C386C486C586C686C7D0FA86C886C986CA86CB86CC86CD86CE86CF86D0E0AC86D1D4FB86D2DFF786D3C5E786D4E0AD86D5D3F786D6E0B6E0B786D786D886D986DA86DBE0C4D0E186DC86DD86DEE0BC86DF86E0E0C9E0CA86E186E286E3E0BEE0AAC9A4E0C186E4E0B286E586E686E786E886E9CAC8E0C386EAE0B586EBCECB86ECCBC3E0CDE0C6E0C286EDE0CB86EEE0BAE0BFE0C086EF86F0E0C586F186F2E0C7E0C886F3E0CC86F4E0BB86F586F686F786F886F9CBD4E0D586FAE0D6E0D286FB86FC86FD86FE87408741E0D0BCCE87428743E0D18744B8C2D8C587458746874787488749874A874B874CD0EA874D874EC2EF874F8750E0CFE0BD875187528753E0D4E0D387548755E0D78756875787588759E0DCE0D8875A875B875CD6F6B3B0875DD7EC875ECBBB875F8760E0DA8761CEFB876287638764BAD987658766876787688769876A876B876C876D876E876F8770E0E1E0DDD2AD87718772877387748775E0E287768777E0DBE0D9E0DF87788779E0E0877A877B877C877D877EE0DE8780E0E4878187828783C6F7D8ACD4EBE0E6CAC98784878587868787E0E587888789878A878BB8C1878C878D878E878FE0E7E0E887908791879287938794879587968797E0E9E0E387988799879A879B879C879D879EBABFCCE7879F87A087A1E0EA87A287A387A487A587A687A787A887A987AA87AB87AC87AD87AE87AF87B0CFF987B187B287B387B487B587B687B787B887B987BA87BBE0EB87BC87BD87BE87BF87C087C187C2C8C287C387C487C587C6BDC087C787C887C987CA87CB87CC87CD87CE87CF87D087D187D287D3C4D287D487D587D687D787D887D987DA87DB87DCE0EC87DD87DEE0ED87DF87E0C7F4CBC487E1E0EEBBD8D8B6D2F2E0EFCDC587E2B6DA87E387E487E587E687E787E8E0F187E9D4B087EA87EBC0A7B4D187EC87EDCEA7E0F087EE87EF87F0E0F2B9CC87F187F2B9FACDBCE0F387F387F487F5C6D4E0F487F6D4B287F7C8A6E0F6E0F587F887F987FA87FB87FC87FD87FE8840884188428843884488458846884788488849E0F7884A884BCDC1884C884D884ECAA5884F885088518852D4DADBD7DBD98853DBD8B9E7DBDCDBDDB5D888548855DBDA8856885788588859885ADBDBB3A1DBDF885B885CBBF8885DD6B7885EDBE0885F886088618862BEF988638864B7BB8865DBD0CCAEBFB2BBB5D7F8BFD38866886788688869886ABFE9886B886CBCE1CCB3DBDEB0D3CEEBB7D8D7B9C6C2886D886EC0A4886FCCB98870DBE7DBE1C6BADBE38871DBE88872C5F7887388748875DBEA88768877DBE9BFC088788879887ADBE6DBE5887B887C887D887E8880B4B9C0ACC2A2DBE2DBE48881888288838884D0CDDBED88858886888788888889C0DDDBF2888A888B888C888D888E888F8890B6E28891889288938894DBF3DBD2B9B8D4ABDBEC8895BFD1DBF08896DBD18897B5E68898DBEBBFE58899889A889BDBEE889CDBF1889D889E889FDBF988A088A188A288A388A488A588A688A788A8B9A1B0A388A988AA88AB88AC88AD88AE88AFC2F188B088B1B3C7DBEF88B288B3DBF888B4C6D2DBF488B588B6DBF5DBF7DBF688B788B8DBFE88B9D3F2B2BA88BA88BB88BCDBFD88BD88BE88BF88C088C188C288C388C4DCA488C5DBFB88C688C788C888C9DBFA88CA88CB88CCDBFCC5E0BBF988CD88CEDCA388CF88D0DCA588D1CCC388D288D388D4B6D1DDC088D588D688D7DCA188D8DCA288D988DA88DBC7B588DC88DD88DEB6E988DF88E088E1DCA788E288E388E488E5DCA688E6DCA9B1A488E788E8B5CC88E988EA88EB88EC88EDBFB088EE88EF88F088F188F2D1DF88F388F488F588F6B6C288F788F888F988FA88FB88FC88FD88FE894089418942894389448945DCA88946894789488949894A894B894CCBFAEBF3894D894E894FCBDC89508951CBFE895289538954CCC189558956895789588959C8FB895A895B895C895D895E895FDCAA89608961896289638964CCEEDCAB89658966896789688969896A896B896C896D896E896F897089718972897389748975DBD38976DCAFDCAC8977BEB38978CAFB8979897A897BDCAD897C897D897E89808981898289838984C9CAC4B989858986898789888989C7BDDCAE898A898B898CD4F6D0E6898D898E898F89908991899289938994C4ABB6D589958996899789988999899A899B899C899D899E899F89A089A189A289A389A489A589A6DBD489A789A889A989AAB1DA89AB89AC89ADDBD589AE89AF89B089B189B289B389B489B589B689B789B8DBD689B989BA89BBBABE89BC89BD89BE89BF89C089C189C289C389C489C589C689C789C889C9C8C089CA89CB89CC89CD89CE89CFCABFC8C989D0D7B389D1C9F989D289D3BFC789D489D5BAF889D689D7D2BC89D889D989DA89DB89DC89DD89DE89DFE2BA89E0B4A689E189E2B1B889E389E489E589E689E7B8B489E8CFC489E989EA89EB89ECD9E7CFA6CDE289ED89EED9EDB6E089EFD2B989F089F1B9BB89F289F389F489F5E2B9E2B789F6B4F389F7CCECCCABB7F289F8D8B2D1EBBABB89F9CAA789FA89FBCDB789FC89FDD2C4BFE4BCD0B6E189FEDEC58A408A418A428A43DEC6DBBC8A44D1D98A458A46C6E6C4CEB7EE8A47B7DC8A488A49BFFCD7E08A4AC6F58A4B8A4CB1BCDEC8BDB1CCD7DECA8A4DDEC98A4E8A4F8A508A518A52B5EC8A53C9DD8A548A55B0C28A568A578A588A598A5A8A5B8A5C8A5D8A5E8A5F8A608A618A62C5AEC5AB8A63C4CC8A64BCE9CBFD8A658A668A67BAC38A688A698A6AE5F9C8E7E5FACDFD8A6BD7B1B8BEC2E88A6CC8D18A6D8A6EE5FB8A6F8A708A718A72B6CABCCB8A738A74D1FDE6A18A75C3EE8A768A778A788A79E6A48A7A8A7B8A7C8A7DE5FEE6A5CDD78A7E8A80B7C1E5FCE5FDE6A38A818A82C4DDE6A88A838A84E6A78A858A868A878A888A898A8AC3C38A8BC6DE8A8C8A8DE6AA8A8E8A8F8A908A918A928A938A94C4B78A958A968A97E6A2CABC8A988A998A9A8A9BBDE3B9C3E6A6D0D5CEAF8A9C8A9DE6A9E6B08A9ED2A68A9FBDAAE6AD8AA08AA18AA28AA38AA4E6AF8AA5C0D18AA68AA7D2CC8AA88AA98AAABCA78AAB8AAC8AAD8AAE8AAF8AB08AB18AB28AB38AB48AB58AB6E6B18AB7D2F68AB88AB98ABAD7CB8ABBCDFE8ABCCDDEC2A6E6ABE6ACBDBFE6AEE6B38ABD8ABEE6B28ABF8AC08AC18AC2E6B68AC3E6B88AC48AC58AC68AC7C4EF8AC88AC98ACAC4C88ACB8ACCBEEAC9EF8ACD8ACEE6B78ACFB6F08AD08AD18AD2C3E48AD38AD48AD58AD68AD78AD88AD9D3E9E6B48ADAE6B58ADBC8A28ADC8ADD8ADE8ADF8AE0E6BD8AE18AE28AE3E6B98AE48AE58AE68AE78AE8C6C58AE98AEACDF1E6BB8AEB8AEC8AED8AEE8AEF8AF08AF18AF28AF38AF4E6BC8AF58AF68AF78AF8BBE98AF98AFA8AFB8AFC8AFD8AFE8B40E6BE8B418B428B438B44E6BA8B458B46C0B78B478B488B498B4A8B4B8B4C8B4D8B4E8B4FD3A4E6BFC9F4E6C38B508B51E6C48B528B538B548B55D0F68B568B578B588B598B5A8B5B8B5C8B5D8B5E8B5F8B608B618B628B638B648B658B668B67C3BD8B688B698B6A8B6B8B6C8B6D8B6EC3C4E6C28B6F8B708B718B728B738B748B758B768B778B788B798B7A8B7B8B7CE6C18B7D8B7E8B808B818B828B838B84E6C7CFB18B85EBF48B868B87E6CA8B888B898B8A8B8B8B8CE6C58B8D8B8EBCDEC9A98B8F8B908B918B928B938B94BCB58B958B96CFD38B978B988B998B9A8B9BE6C88B9CE6C98B9DE6CE8B9EE6D08B9F8BA08BA1E6D18BA28BA38BA4E6CBB5D58BA5E6CC8BA68BA7E6CF8BA88BA9C4DB8BAAE6C68BAB8BAC8BAD8BAE8BAFE6CD8BB08BB18BB28BB38BB48BB58BB68BB78BB88BB98BBA8BBB8BBC8BBD8BBE8BBF8BC08BC18BC28BC38BC48BC58BC6E6D28BC78BC88BC98BCA8BCB8BCC8BCD8BCE8BCF8BD08BD18BD2E6D4E6D38BD38BD48BD58BD68BD78BD88BD98BDA8BDB8BDC8BDD8BDE8BDF8BE08BE18BE28BE38BE48BE58BE68BE78BE88BE98BEA8BEB8BECE6D58BEDD9F88BEE8BEFE6D68BF08BF18BF28BF38BF48BF58BF68BF7E6D78BF88BF98BFA8BFB8BFC8BFD8BFE8C408C418C428C438C448C458C468C47D7D3E6DD8C48E6DEBFD7D4D08C49D7D6B4E6CBEFE6DAD8C3D7CED0A28C4AC3CF8C4B8C4CE6DFBCBEB9C2E6DBD1A78C4D8C4EBAA2C2CF8C4FD8AB8C508C518C52CAEBE5EE8C53E6DC8C54B7F58C558C568C578C58C8E68C598C5AC4F58C5B8C5CE5B2C4FE8C5DCBFCE5B3D5AC8C5ED3EECAD8B0B28C5FCBCECDEA8C608C61BAEA8C628C638C64E5B58C65E5B48C66D7DAB9D9D6E6B6A8CDF0D2CBB1A6CAB58C67B3E8C9F3BFCDD0FBCAD2E5B6BBC28C688C698C6ACFDCB9AC8C6B8C6C8C6D8C6ED4D78C6F8C70BAA6D1E7CFFCBCD28C71E5B7C8DD8C728C738C74BFEDB1F6CBDE8C758C76BCC58C77BCC4D2FAC3DCBFDC8C788C798C7A8C7BB8BB8C7C8C7D8C7EC3C28C80BAAED4A28C818C828C838C848C858C868C878C888C89C7DEC4AFB2EC8C8AB9D18C8B8C8CE5BBC1C88C8D8C8ED5AF8C8F8C908C918C928C93E5BC8C94E5BE8C958C968C978C988C998C9A8C9BB4E7B6D4CBC2D1B0B5BC8C9C8C9DCAD98C9EB7E28C9F8CA0C9E48CA1BDAB8CA28CA3CEBED7F08CA48CA58CA68CA7D0A18CA8C9D98CA98CAAB6FBE6D8BCE28CABB3BE8CACC9D08CADE6D9B3A28CAE8CAF8CB08CB1DECC8CB2D3C8DECD8CB3D2A28CB48CB58CB68CB7DECE8CB88CB98CBA8CBBBECD8CBC8CBDDECF8CBE8CBF8CC0CAACD2FCB3DFE5EAC4E1BEA1CEB2C4F2BED6C6A8B2E38CC18CC2BED38CC38CC4C7FCCCEBBDECCEDD8CC58CC6CABAC6C1E5ECD0BC8CC78CC88CC9D5B98CCA8CCB8CCCE5ED8CCD8CCE8CCF8CD0CAF48CD1CDC0C2C58CD2E5EF8CD3C2C4E5F08CD48CD58CD68CD78CD88CD98CDAE5F8CDCD8CDBC9BD8CDC8CDD8CDE8CDF8CE08CE18CE2D2D9E1A88CE38CE48CE58CE6D3EC8CE7CBEAC6F18CE88CE98CEA8CEB8CECE1AC8CED8CEE8CEFE1A7E1A98CF08CF1E1AAE1AF8CF28CF3B2ED8CF4E1ABB8DAE1ADE1AEE1B0B5BAE1B18CF58CF68CF78CF88CF9E1B3E1B88CFA8CFB8CFC8CFD8CFED1D28D40E1B6E1B5C1EB8D418D428D43E1B78D44D4C08D45E1B28D46E1BAB0B68D478D488D498D4AE1B48D4BBFF98D4CE1B98D4D8D4EE1BB8D4F8D508D518D528D538D54E1BE8D558D568D578D588D598D5AE1BC8D5B8D5C8D5D8D5E8D5F8D60D6C58D618D628D638D648D658D668D67CFBF8D688D69E1BDE1BFC2CD8D6AB6EB8D6BD3F88D6C8D6DC7CD8D6E8D6FB7E58D708D718D728D738D748D758D768D778D788D79BEFE8D7A8D7B8D7C8D7D8D7E8D80E1C0E1C18D818D82E1C7B3E78D838D848D858D868D878D88C6E98D898D8A8D8B8D8C8D8DB4DE8D8ED1C28D8F8D908D918D92E1C88D938D94E1C68D958D968D978D988D99E1C58D9AE1C3E1C28D9BB1C08D9C8D9D8D9ED5B8E1C48D9F8DA08DA18DA28DA3E1CB8DA48DA58DA68DA78DA88DA98DAA8DABE1CCE1CA8DAC8DAD8DAE8DAF8DB08DB18DB28DB3EFFA8DB48DB5E1D3E1D2C7B68DB68DB78DB88DB98DBA8DBB8DBC8DBD8DBE8DBF8DC0E1C98DC18DC2E1CE8DC3E1D08DC48DC58DC68DC78DC88DC98DCA8DCB8DCC8DCD8DCEE1D48DCFE1D1E1CD8DD08DD1E1CF8DD28DD38DD48DD5E1D58DD68DD78DD88DD98DDA8DDB8DDC8DDD8DDE8DDF8DE08DE18DE2E1D68DE38DE48DE58DE68DE78DE88DE98DEA8DEB8DEC8DED8DEE8DEF8DF08DF18DF28DF38DF48DF58DF68DF78DF8E1D78DF98DFA8DFBE1D88DFC8DFD8DFE8E408E418E428E438E448E458E468E478E488E498E4A8E4B8E4C8E4D8E4E8E4F8E508E518E528E538E548E55E1DA8E568E578E588E598E5A8E5B8E5C8E5D8E5E8E5F8E608E618E62E1DB8E638E648E658E668E678E688E69CEA18E6A8E6B8E6C8E6D8E6E8E6F8E708E718E728E738E748E758E76E7DD8E77B4A8D6DD8E788E79D1B2B3B28E7A8E7BB9A4D7F3C7C9BEDEB9AE8E7CCED78E7D8E7EB2EEDBCF8E80BCBAD2D1CBC8B0CD8E818E82CFEF8E838E848E858E868E87D9E3BDED8E888E89B1D2CAD0B2BC8E8ACBA7B7AB8E8BCAA68E8C8E8D8E8ECFA38E8F8E90E0F8D5CAE0FB8E918E92E0FAC5C1CCFB8E93C1B1E0F9D6E3B2AFD6C4B5DB8E948E958E968E978E988E998E9A8E9BB4F8D6A18E9C8E9D8E9E8E9F8EA0CFAFB0EF8EA18EA2E0FC8EA38EA48EA58EA68EA7E1A1B3A38EA88EA9E0FDE0FEC3B18EAA8EAB8EAC8EADC3DD8EAEE1A2B7F98EAF8EB08EB18EB28EB38EB4BBCF8EB58EB68EB78EB88EB98EBA8EBBE1A3C4BB8EBC8EBD8EBE8EBF8EC0E1A48EC18EC2E1A58EC38EC4E1A6B4B18EC58EC68EC78EC88EC98ECA8ECB8ECC8ECD8ECE8ECF8ED08ED18ED28ED3B8C9C6BDC4EA8ED4B2A28ED5D0D28ED6E7DBBBC3D3D7D3C48ED7B9E3E2CF8ED88ED98EDAD7AF8EDBC7ECB1D38EDC8EDDB4B2E2D18EDE8EDF8EE0D0F2C2AEE2D08EE1BFE2D3A6B5D7E2D2B5EA8EE2C3EDB8FD8EE3B8AE8EE4C5D3B7CFE2D48EE58EE68EE78EE8E2D3B6C8D7F98EE98EEA8EEB8EEC8EEDCDA58EEE8EEF8EF08EF18EF2E2D88EF3E2D6CAFCBFB5D3B9E2D58EF48EF58EF68EF7E2D78EF88EF98EFA8EFB8EFC8EFD8EFE8F408F418F42C1AEC0C88F438F448F458F468F478F48E2DBE2DAC0AA8F498F4AC1CE8F4B8F4C8F4D8F4EE2DC8F4F8F508F518F528F538F548F558F568F578F588F598F5AE2DD8F5BE2DE8F5C8F5D8F5E8F5F8F608F618F628F638F64DBC88F65D1D3CDA28F668F67BDA88F688F698F6ADEC3D8A5BFAADBCDD2ECC6FAC5AA8F6B8F6C8F6DDEC48F6EB1D7DFAE8F6F8F708F71CABD8F72DFB18F73B9AD8F74D2FD8F75B8A5BAEB8F768F77B3DA8F788F798F7AB5DCD5C58F7B8F7C8F7D8F7EC3D6CFD2BBA18F80E5F3E5F28F818F82E5F48F83CDE48F84C8F58F858F868F878F888F898F8A8F8BB5AFC7BF8F8CE5F68F8D8F8E8F8FECB08F908F918F928F938F948F958F968F978F988F998F9A8F9B8F9C8F9D8F9EE5E68F9FB9E9B5B18FA0C2BCE5E8E5E7E5E98FA18FA28FA38FA4D2CD8FA58FA68FA7E1EAD0CE8FA8CDAE8FA9D1E58FAA8FABB2CAB1EB8FACB1F2C5ED8FAD8FAED5C3D3B08FAFE1DC8FB08FB18FB2E1DD8FB3D2DB8FB4B3B9B1CB8FB58FB68FB7CDF9D5F7E1DE8FB8BEB6B4FD8FB9E1DFBADCE1E0BBB2C2C9E1E18FBA8FBB8FBCD0EC8FBDCDBD8FBE8FBFE1E28FC0B5C3C5C7E1E38FC18FC2E1E48FC38FC48FC58FC6D3F98FC78FC88FC98FCA8FCB8FCCE1E58FCDD1AD8FCE8FCFE1E6CEA28FD08FD18FD28FD38FD48FD5E1E78FD6B5C28FD78FD88FD98FDAE1E8BBD58FDB8FDC8FDD8FDE8FDFD0C4E2E0B1D8D2E48FE08FE1E2E18FE28FE3BCC9C8CC8FE4E2E3ECFEECFDDFAF8FE58FE68FE7E2E2D6BECDFCC3A68FE88FE98FEAE3C38FEB8FECD6D2E2E78FED8FEEE2E88FEF8FF0D3C78FF18FF2E2ECBFEC8FF3E2EDE2E58FF48FF5B3C08FF68FF78FF8C4EE8FF98FFAE2EE8FFB8FFCD0C38FFDBAF6E2E9B7DEBBB3CCACCBCBE2E4E2E6E2EAE2EB8FFE90409041E2F790429043E2F4D4F5E2F390449045C5AD9046D5FAC5C2B2C090479048E2EF9049E2F2C1AFCBBC904A904BB5A1E2F9904C904D904EBCB1E2F1D0D4D4B9E2F5B9D6E2F6904F90509051C7D390529053905490559056E2F0905790589059905A905BD7DCEDA1905C905DE2F8905EEDA5E2FECAD1905F906090619062906390649065C1B59066BBD090679068BFD69069BAE3906A906BCBA1906C906D906EEDA6EDA3906F9070EDA29071907290739074BBD6EDA7D0F490759076EDA4BADEB6F7E3A1B6B2CCF1B9A79077CFA2C7A190789079BFD2907A907BB6F1907CE2FAE2FBE2FDE2FCC4D5E3A2907DD3C1907E90809081E3A7C7C49082908390849085CFA490869087E3A9BAB790889089908A908BE3A8908CBBDA908DE3A3908E908F9090E3A4E3AA9091E3A69092CEF2D3C690939094BBBC90959096D4C39097C4FA90989099EDA8D0FCE3A5909AC3F5909BE3ADB1AF909CE3B2909D909E909FBCC290A090A1E3ACB5BF90A290A390A490A590A690A790A890A9C7E9E3B090AA90AB90ACBEAACDEF90AD90AE90AF90B090B1BBF390B290B390B4CCE890B590B6E3AF90B7E3B190B8CFA7E3AE90B9CEA9BBDD90BA90BB90BC90BD90BEB5EBBEE5B2D2B3CD90BFB1B9E3ABB2D1B5ACB9DFB6E890C090C1CFEBE3B790C2BBCC90C390C4C8C7D0CA90C590C690C790C890C9E3B8B3EE90CA90CB90CC90CDEDA990CED3FAD3E490CF90D090D1EDAAE3B9D2E290D290D390D490D590D6E3B590D790D890D990DAD3DE90DB90DC90DD90DEB8D0E3B390DF90E0E3B6B7DF90E1E3B4C0A290E290E390E4E3BA90E590E690E790E890E990EA90EB90EC90ED90EE90EF90F090F190F290F390F490F590F690F7D4B890F890F990FA90FB90FC90FD90FE9140B4C89141E3BB9142BBC59143C9F791449145C9E5914691479148C4BD9149914A914B914C914D914E914FEDAB9150915191529153C2FD9154915591569157BBDBBFAE91589159915A915B915C915D915ECEBF915F916091619162E3BC9163BFB6916491659166916791689169916A916B916C916D916E916F9170917191729173917491759176B1EF91779178D4F79179917A917B917C917DE3BE917E9180918191829183918491859186EDAD918791889189918A918B918C918D918E918FE3BFBAA9EDAC91909191E3BD91929193919491959196919791989199919A919BE3C0919C919D919E919F91A091A1BAB691A291A391A4B6AE91A591A691A791A891A9D0B891AAB0C3EDAE91AB91AC91AD91AE91AFEDAFC0C191B0E3C191B191B291B391B491B591B691B791B891B991BA91BB91BC91BD91BE91BF91C091C1C5B391C291C391C491C591C691C791C891C991CA91CB91CC91CD91CE91CFE3C291D091D191D291D391D491D591D691D791D8DCB291D991DA91DB91DC91DD91DEEDB091DFB8EA91E0CEECEAA7D0E7CAF9C8D6CFB7B3C9CED2BDE491E191E2E3DEBBF2EAA8D5BD91E3C6DDEAA991E491E591E6EAAA91E7EAACEAAB91E8EAAEEAAD91E991EA91EB91ECBDD891EDEAAF91EEC2BE91EF91F091F191F2B4C1B4F791F391F4BBA791F591F691F791F891F9ECE6ECE5B7BFCBF9B1E291FAECE791FB91FC91FDC9C8ECE8ECE991FECAD6DED0B2C5D4FA92409241C6CBB0C7B4F2C8D3924292439244CDD092459246BFB8924792489249924A924B924C924DBFDB924E924FC7A4D6B49250C0A9DED1C9A8D1EFC5A4B0E7B3B6C8C592519252B0E292539254B7F692559256C5FA92579258B6F39259D5D2B3D0BCBC925A925B925CB3AD925D925E925F9260BEF1B0D1926192629263926492659266D2D6CAE3D7A59267CDB6B6B6BFB9D5DB9268B8A7C5D79269926A926BDED2BFD9C2D5C7C0926CBBA4B1A8926D926EC5EA926F9270C5FBCCA79271927292739274B1A7927592769277B5D692789279927AC4A8927BDED3D1BAB3E9927CC3F2927D927EB7F79280D6F4B5A3B2F0C4B4C4E9C0ADDED49281B0E8C5C4C1E09282B9D59283BEDCCDD8B0CE9284CDCFDED6BED0D7BEDED5D5D0B0DD92859286C4E292879288C2A3BCF09289D3B5C0B9C5A1B2A6D4F1928A928BC0A8CAC3DED7D5FC928CB9B0928DC8ADCBA9928EDED9BFBD928F929092919292C6B4D7A7CAB0C4C39293B3D6B9D29294929592969297D6B8EAFCB0B492989299929A929BBFE6929C929DCCF4929E929F92A092A1CDDA92A292A392A4D6BFC2CE92A5CECECCA2D0AEC4D3B5B2DED8D5F5BCB7BBD392A692A7B0A492A8C5B2B4EC92A992AA92ABD5F192AC92ADEAFD92AE92AF92B092B192B292B3DEDACDA692B492B5CDEC92B692B792B892B9CEE6DEDC92BACDB1C0A692BB92BCD7BD92BDDEDBB0C6BAB4C9D3C4F3BEE892BE92BF92C092C1B2B692C292C392C492C592C692C792C892C9C0CCCBF092CABCF1BBBBB5B792CB92CC92CDC5F592CEDEE692CF92D092D1DEE3BEDD92D292D3DEDF92D492D592D692D7B4B7BDDD92D892D9DEE0C4ED92DA92DB92DC92DDCFC692DEB5E092DF92E092E192E2B6DECADAB5F4DEE592E3D5C692E4DEE1CCCDC6FE92E5C5C592E692E792E8D2B492E9BEF292EA92EB92EC92ED92EE92EF92F0C2D392F1CCBDB3B892F2BDD392F3BFD8CDC6D1DAB4EB92F4DEE4DEDDDEE792F5EAFE92F692F7C2B0DEE292F892F9D6C0B5A792FAB2F492FBDEE892FCDEF292FD92FE934093419342DEED9343DEF193449345C8E0934693479348D7E1DEEFC3E8CCE19349B2E5934A934B934CD2BE934D934E934F9350935193529353DEEE9354DEEBCED59355B4A79356935793589359935ABFABBEBE935B935CBDD2935D935E935F9360DEE99361D4AE9362DEDE9363DEEA9364936593669367C0BF9368DEECB2F3B8E9C2A79369936ABDC1936B936C936D936E936FDEF5DEF893709371B2ABB4A493729373B4EAC9A6937493759376937793789379DEF6CBD1937AB8E3937BDEF7DEFA937C937D937E9380DEF9938193829383CCC29384B0E1B4EE93859386938793889389938AE5BA938B938C938D938E938FD0AF93909391B2EB9392EBA19393DEF493949395C9E3DEF3B0DAD2A1B1F79396CCAF939793989399939A939B939C939DDEF0939ECBA4939F93A093A1D5AA93A293A393A493A593A6DEFB93A793A893A993AA93AB93AC93AD93AEB4DD93AFC4A693B093B193B2DEFD93B393B493B593B693B793B893B993BA93BB93BCC3FEC4A1DFA193BD93BE93BF93C093C193C293C3C1CC93C4DEFCBEEF93C5C6B293C693C793C893C993CA93CB93CC93CD93CEB3C5C8F693CF93D0CBBADEFE93D193D2DFA493D393D493D593D6D7B293D793D893D993DA93DBB3B793DC93DD93DE93DFC1C393E093E1C7CBB2A5B4E993E2D7AB93E393E493E593E6C4EC93E7DFA2DFA393E8DFA593E9BAB393EA93EB93ECDFA693EDC0DE93EE93EFC9C393F093F193F293F393F493F593F6B2D9C7E693F7DFA793F8C7DC93F993FA93FB93FCDFA8EBA293FD93FE944094419442CBD3944394449445DFAA9446DFA99447B2C194489449944A944B944C944D944E944F9450945194529453945494559456945794589459945A945B945C945D945E945F9460C5CA94619462946394649465946694679468DFAB9469946A946B946C946D946E946F9470D4DC94719472947394749475C8C19476947794789479947A947B947C947D947E948094819482DFAC94839484948594869487BEF094889489DFADD6A7948A948B948C948DEAB7EBB6CAD5948ED8FCB8C4948FB9A594909491B7C5D5FE94929493949494959496B9CA94979498D0A7F4CD9499949AB5D0949B949CC3F4949DBEC8949E949F94A0EBB7B0BD94A194A2BDCC94A3C1B294A4B1D6B3A894A594A694A7B8D2C9A294A894A9B6D894AA94AB94AC94ADEBB8BEB494AE94AF94B0CAFD94B1C7C394B2D5FB94B394B4B7F394B594B694B794B894B994BA94BB94BC94BD94BE94BF94C094C194C294C3CEC494C494C594C6D5ABB1F394C794C894C9ECB3B0DF94CAECB594CB94CC94CDB6B794CEC1CF94CFF5FAD0B194D094D1D5E594D2CED394D394D4BDEFB3E294D5B8AB94D6D5B694D7EDBD94D8B6CF94D9CBB9D0C294DA94DB94DC94DD94DE94DF94E094E1B7BD94E294E3ECB6CAA994E494E594E6C5D494E7ECB9ECB8C2C3ECB794E894E994EA94EBD0FDECBA94ECECBBD7E594ED94EEECBC94EF94F094F1ECBDC6EC94F294F394F494F594F694F794F894F9CEDE94FABCC894FB94FCC8D5B5A9BEC9D6BCD4E794FD94FED1AED0F1EAB8EAB9EABABAB59540954195429543CAB1BFF595449545CDFA9546954795489549954AEAC0954BB0BAEABE954C954DC0A5954E954F9550EABB9551B2FD9552C3F7BBE8955395549555D2D7CEF4EABF955695579558EABC9559955A955BEAC3955CD0C7D3B3955D955E955F9560B4BA9561C3C1D7F29562956395649565D5D19566CAC79567EAC595689569EAC4EAC7EAC6956A956B956C956D956ED6E7956FCFD495709571EACB9572BBCE9573957495759576957795789579BDFAC9CE957A957BEACC957C957DC9B9CFFEEACAD4CEEACDEACF957E9580CDED9581958295839584EAC99585EACE95869587CEEE9588BBDE9589B3BF958A958B958C958D958EC6D5BEB0CEFA958F95909591C7E79592BEA7EAD095939594D6C7959595969597C1C095989599959AD4DD959BEAD1959C959DCFBE959E959F95A095A1EAD295A295A395A495A5CAEE95A695A795A895A9C5AFB0B595AA95AB95AC95AD95AEEAD495AF95B095B195B295B395B495B595B695B7EAD3F4DF95B895B995BA95BB95BCC4BA95BD95BE95BF95C095C1B1A995C295C395C495C5E5DF95C695C795C895C9EAD595CA95CB95CC95CD95CE95CF95D095D195D295D395D495D595D695D795D895D995DA95DB95DC95DD95DE95DF95E095E195E295E3CAEF95E4EAD6EAD7C6D895E595E695E795E895E995EA95EB95ECEAD895ED95EEEAD995EF95F095F195F295F395F4D4BB95F5C7FAD2B7B8FC95F695F7EAC295F8B2DC95F995FAC2FC95FBD4F8CCE6D7EE95FC95FD95FE9640964196429643D4C2D3D0EBC3C5F39644B7FE96459646EBD4964796489649CBB7EBDE964AC0CA964B964C964DCDFB964EB3AF964FC6DA965096519652965396549655EBFC9656C4BE9657CEB4C4A9B1BED4FD9658CAF59659D6EC965A965BC6D3B6E4965C965D965E965FBBFA96609661D0E096629663C9B19664D4D3C8A896659666B8CB9667E8BEC9BC96689669E8BB966AC0EED0D3B2C4B4E5966BE8BC966C966DD5C8966E966F967096719672B6C59673E8BDCAF8B8DCCCF5967496759676C0B496779678D1EEE8BFE8C29679967ABABC967BB1ADBDDC967CEABDE8C3967DE8C6967EE8CB9680968196829683E8CC9684CBC9B0E59685BCAB96869687B9B996889689E8C1968ACDF7968BE8CA968C968D968E968FCEF69690969196929693D5ED9694C1D6E8C49695C3B69696B9FBD6A6E8C8969796989699CAE0D4E6969AE8C0969BE8C5E8C7969CC7B9B7E3969DE8C9969EBFDDE8D2969F96A0E8D796A1E8D5BCDCBCCFE8DB96A296A396A496A596A696A796A896A9E8DE96AAE8DAB1FA96AB96AC96AD96AE96AF96B096B196B296B396B4B0D8C4B3B8CCC6E2C8BEC8E196B596B696B7E8CFE8D4E8D696B8B9F1E8D8D7F596B9C4FB96BAE8DC96BB96BCB2E996BD96BE96BFE8D196C096C1BCED96C296C3BFC2E8CDD6F996C4C1F8B2F196C596C696C796C896C996CA96CB96CCE8DF96CDCAC1E8D996CE96CF96D096D1D5A496D2B1EAD5BBE8CEE8D0B6B0E8D396D3E8DDC0B896D4CAF796D5CBA896D696D7C6DCC0F596D896D996DA96DB96DCE8E996DD96DE96DFD0A396E096E196E296E396E496E596E6E8F2D6EA96E796E896E996EA96EB96EC96EDE8E0E8E196EE96EF96F0D1F9BACBB8F996F196F2B8F1D4D4E8EF96F3E8EEE8ECB9F0CCD2E8E6CEA6BFF296F4B0B8E8F1E8F096F5D7C096F6E8E496F7CDA9C9A396F8BBB8BDDBE8EA96F996FA96FB96FC96FD96FE9740974197429743E8E2E8E3E8E5B5B5E8E7C7C5E8EBE8EDBDB0D7AE9744E8F897459746974797489749974A974B974CE8F5974DCDB0E8F6974E974F9750975197529753975497559756C1BA9757E8E89758C3B7B0F09759975A975B975C975D975E975F9760E8F4976197629763E8F7976497659766B9A3976797689769976A976B976C976D976E976F9770C9D2977197729773C3CECEE0C0E69774977597769777CBF39778CCDDD0B59779977ACAE1977BE8F3977C977D977E9780978197829783978497859786BCEC9787E8F997889789978A978B978C978DC3DE978EC6E5978FB9F79790979197929793B0F497949795D7D897969797BCAC9798C5EF9799979A979B979C979DCCC4979E979FE9A697A097A197A297A397A497A597A697A797A897A9C9AD97AAE9A2C0E297AB97AC97ADBFC397AE97AF97B0E8FEB9D797B1E8FB97B297B397B497B5E9A497B697B797B8D2CE97B997BA97BB97BC97BDE9A397BED6B2D7B597BFE9A797C0BDB797C197C297C397C497C597C697C797C897C997CA97CB97CCE8FCE8FD97CD97CE97CFE9A197D097D197D297D397D497D597D697D7CDD697D897D9D2AC97DA97DB97DCE9B297DD97DE97DF97E0E9A997E197E297E3B4AA97E4B4BB97E597E6E9AB97E797E897E997EA97EB97EC97ED97EE97EF97F097F197F297F397F497F597F697F7D0A897F897F9E9A597FA97FBB3FE97FC97FDE9ACC0E397FEE9AA98409841E9B998429843E9B89844984598469847E9AE98489849E8FA984A984BE9A8984C984D984E984F9850BFACE9B1E9BA98519852C2A5985398549855E9AF9856B8C59857E9AD9858D3DCE9B4E9B5E9B79859985A985BE9C7985C985D985E985F98609861C0C6E9C598629863E9B098649865E9BBB0F19866986798689869986A986B986C986D986E986FE9BCD5A598709871E9BE9872E9BF987398749875E9C198769877C1F198789879C8B6987A987B987CE9BD987D987E988098819882E9C29883988498859886988798889889988AE9C3988BE9B3988CE9B6988DBBB1988E988F9890E9C0989198929893989498959896BCF7989798989899E9C4E9C6989A989B989C989D989E989F98A098A198A298A398A498A5E9CA98A698A798A898A9E9CE98AA98AB98AC98AD98AE98AF98B098B198B298B3B2DB98B4E9C898B598B698B798B898B998BA98BB98BC98BD98BEB7AE98BF98C098C198C298C398C498C598C698C798C898C998CAE9CBE9CC98CB98CC98CD98CE98CF98D0D5C198D1C4A398D298D398D498D598D698D7E9D898D8BAE198D998DA98DB98DCE9C998DDD3A398DE98DF98E0E9D498E198E298E398E498E598E698E7E9D7E9D098E898E998EA98EB98ECE9CF98ED98EEC7C198EF98F098F198F298F398F498F598F6E9D298F798F898F998FA98FB98FC98FDE9D9B3C898FEE9D399409941994299439944CFF0994599469947E9CD99489949994A994B994C994D994E994F995099519952B3F79953995499559956995799589959E9D6995A995BE9DA995C995D995ECCB4995F99609961CFAD99629963996499659966996799689969996AE9D5996BE9DCE9DB996C996D996E996F9970E9DE99719972997399749975997699779978E9D19979997A997B997C997D997E99809981E9DD9982E9DFC3CA9983998499859986998799889989998A998B998C998D998E998F9990999199929993999499959996999799989999999A999B999C999D999E999F99A099A199A299A399A499A599A699A799A899A999AA99AB99AC99AD99AE99AF99B099B199B299B399B499B599B699B799B899B999BA99BB99BC99BD99BE99BF99C099C199C299C399C499C599C699C799C899C999CA99CB99CC99CD99CE99CF99D099D199D299D399D499D599D699D799D899D999DA99DB99DC99DD99DE99DF99E099E199E299E399E499E599E699E799E899E999EA99EB99EC99ED99EE99EF99F099F199F299F399F499F5C7B7B4CEBBB6D0C0ECA399F699F7C5B799F899F999FA99FB99FC99FD99FE9A409A419A42D3FB9A439A449A459A46ECA49A47ECA5C6DB9A489A499A4ABFEE9A4B9A4C9A4D9A4EECA69A4F9A50ECA7D0AA9A51C7B89A529A53B8E89A549A559A569A579A589A599A5A9A5B9A5C9A5D9A5E9A5FECA89A609A619A629A639A649A659A669A67D6B9D5FDB4CBB2BDCEE4C6E79A689A69CDE19A6A9A6B9A6C9A6D9A6E9A6F9A709A719A729A739A749A759A769A77B4F59A78CBC0BCDF9A799A7A9A7B9A7CE9E2E9E3D1EAE9E59A7DB4F9E9E49A7ED1B3CAE2B2D09A80E9E89A819A829A839A84E9E6E9E79A859A86D6B39A879A889A89E9E9E9EA9A8A9A8B9A8C9A8D9A8EE9EB9A8F9A909A919A929A939A949A959A96E9EC9A979A989A999A9A9A9B9A9C9A9D9A9EECAFC5B9B6CE9A9FD2F39AA09AA19AA29AA39AA49AA59AA6B5EE9AA7BBD9ECB19AA89AA9D2E39AAA9AAB9AAC9AAD9AAECEE39AAFC4B89AB0C3BF9AB19AB2B6BED8B9B1C8B1CFB1D1C5FE9AB3B1D09AB4C3AB9AB59AB69AB79AB89AB9D5B19ABA9ABB9ABC9ABD9ABE9ABF9AC09AC1EBA4BAC19AC29AC39AC4CCBA9AC59AC69AC7EBA59AC8EBA79AC99ACA9ACBEBA89ACC9ACD9ACEEBA69ACF9AD09AD19AD29AD39AD49AD5EBA9EBABEBAA9AD69AD79AD89AD99ADAEBAC9ADBCACFD8B5C3F19ADCC3A5C6F8EBADC4CA9ADDEBAEEBAFEBB0B7D59ADE9ADF9AE0B7FA9AE1EBB1C7E29AE2EBB39AE3BAA4D1F5B0B1EBB2EBB49AE49AE59AE6B5AAC2C8C7E89AE7EBB59AE8CBAEE3DF9AE99AEAD3C09AEB9AEC9AED9AEED9DB9AEF9AF0CDA1D6ADC7F39AF19AF29AF3D9E0BBE39AF4BABAE3E29AF59AF69AF79AF89AF9CFAB9AFA9AFB9AFCE3E0C9C79AFDBAB99AFE9B409B41D1B4E3E1C8EAB9AFBDADB3D8CEDB9B429B43CCC09B449B459B46E3E8E3E9CDF49B479B489B499B4A9B4BCCAD9B4CBCB39B4DE3EA9B4EE3EB9B4F9B50D0DA9B519B529B53C6FBB7DA9B549B55C7DFD2CACED69B56E3E4E3EC9B57C9F2B3C19B589B59E3E79B5A9B5BC6E3E3E59B5C9B5DEDB3E3E69B5E9B5F9B609B61C9B39B62C5E69B639B649B65B9B59B66C3BB9B67E3E3C5BDC1A4C2D9B2D79B68E3EDBBA6C4AD9B69E3F0BEDA9B6A9B6BE3FBE3F5BAD39B6C9B6D9B6E9B6FB7D0D3CD9B70D6CED5D3B9C1D5B4D1D89B719B729B739B74D0B9C7F69B759B769B77C8AAB2B49B78C3DA9B799B7A9B7BE3EE9B7C9B7DE3FCE3EFB7A8E3F7E3F49B7E9B809B81B7BA9B829B83C5A29B84E3F6C5DDB2A8C6FC9B85C4E09B869B87D7A29B88C0E1E3F99B899B8AE3FAE3FDCCA9E3F39B8BD3BE9B8CB1C3EDB4E3F1E3F29B8DE3F8D0BAC6C3D4F3E3FE9B8E9B8FBDE09B909B91E4A79B929B93E4A69B949B959B96D1F3E4A39B97E4A99B989B999B9AC8F79B9B9B9C9B9D9B9ECFB49B9FE4A8E4AEC2E59BA09BA1B6B49BA29BA39BA49BA59BA69BA7BDF29BA8E4A29BA99BAABAE9E4AA9BAB9BACE4AC9BAD9BAEB6FDD6DEE4B29BAFE4AD9BB09BB19BB2E4A19BB3BBEECDDDC7A2C5C99BB49BB5C1F79BB6E4A49BB7C7B3BDACBDBDE4A59BB8D7C7B2E29BB9E4ABBCC3E4AF9BBABBEBE4B0C5A8E4B19BBB9BBC9BBD9BBED5E3BFA39BBFE4BA9BC0E4B79BC1E4BB9BC29BC3E4BD9BC49BC5C6D69BC69BC7BAC6C0CB9BC89BC99BCAB8A1E4B49BCB9BCC9BCD9BCED4A19BCF9BD0BAA3BDFE9BD19BD29BD3E4BC9BD49BD59BD69BD79BD8CDBF9BD99BDAC4F99BDB9BDCCFFBC9E69BDD9BDED3BF9BDFCFD19BE09BE1E4B39BE2E4B8E4B9CCE99BE39BE49BE59BE69BE7CCCE9BE8C0D4E4B5C1B0E4B6CED09BE9BBC1B5D39BEAC8F3BDA7D5C7C9ACB8A2E4CA9BEB9BECE4CCD1C49BED9BEED2BA9BEF9BF0BAAD9BF19BF2BAD49BF39BF49BF59BF69BF79BF8E4C3B5ED9BF99BFA9BFBD7CDE4C0CFFDE4BF9BFC9BFD9BFEC1DCCCCA9C409C419C429C43CAE79C449C459C469C47C4D79C48CCD4E4C89C499C4A9C4BE4C7E4C19C4CE4C4B5AD9C4D9C4ED3D99C4FE4C69C509C519C529C53D2F9B4E39C54BBB49C559C56C9EE9C57B4BE9C589C599C5ABBEC9C5BD1CD9C5CCCEDEDB59C5D9C5E9C5F9C609C619C629C639C64C7E59C659C669C679C68D4A89C69E4CBD7D5E4C29C6ABDA5E4C59C6B9C6CD3E69C6DE4C9C9F89C6E9C6FE4BE9C709C71D3E59C729C73C7FEB6C99C74D4FCB2B3E4D79C759C769C77CEC29C78E4CD9C79CEBC9C7AB8DB9C7B9C7CE4D69C7DBFCA9C7E9C809C81D3CE9C82C3EC9C839C849C859C869C879C889C899C8AC5C8E4D89C8B9C8C9C8D9C8E9C8F9C909C919C92CDC4E4CF9C939C949C959C96E4D4E4D59C97BAFE9C98CFE69C999C9AD5BF9C9B9C9C9C9DE4D29C9E9C9F9CA09CA19CA29CA39CA49CA59CA69CA79CA8E4D09CA99CAAE4CE9CAB9CAC9CAD9CAE9CAF9CB09CB19CB29CB39CB49CB59CB69CB79CB89CB9CDE5CAAA9CBA9CBB9CBCC0A39CBDBDA6E4D39CBE9CBFB8C89CC09CC19CC29CC39CC4E4E7D4B49CC59CC69CC79CC89CC99CCA9CCBE4DB9CCC9CCD9CCEC1EF9CCF9CD0E4E99CD19CD2D2E79CD39CD4E4DF9CD5E4E09CD69CD7CFAA9CD89CD99CDA9CDBCBDD9CDCE4DAE4D19CDDE4E59CDEC8DCE4E39CDF9CE0C4E7E4E29CE1E4E19CE29CE39CE4B3FCE4E89CE59CE69CE79CE8B5E19CE99CEA9CEBD7CC9CEC9CED9CEEE4E69CEFBBAC9CF0D7D2CCCFEBF89CF1E4E49CF29CF3B9F69CF49CF59CF6D6CDE4D9E4DCC2FAE4DE9CF7C2CBC0C4C2D09CF8B1F5CCB29CF99CFA9CFB9CFC9CFD9CFE9D409D419D429D43B5CE9D449D459D469D47E4EF9D489D499D4A9D4B9D4C9D4D9D4E9D4FC6AF9D509D519D52C6E19D539D54E4F59D559D569D579D589D59C2A99D5A9D5B9D5CC0ECD1DDE4EE9D5D9D5E9D5F9D609D619D629D639D649D659D66C4AE9D679D689D69E4ED9D6A9D6B9D6C9D6DE4F6E4F4C2FE9D6EE4DD9D6FE4F09D70CAFE9D71D5C49D729D73E4F19D749D759D769D779D789D799D7AD1FA9D7B9D7C9D7D9D7E9D809D819D82E4EBE4EC9D839D849D85E4F29D86CEAB9D879D889D899D8A9D8B9D8C9D8D9D8E9D8F9D90C5CB9D919D929D93C7B19D94C2BA9D959D969D97E4EA9D989D999D9AC1CA9D9B9D9C9D9D9D9E9D9F9DA0CCB6B3B19DA19DA29DA3E4FB9DA4E4F39DA59DA69DA7E4FA9DA8E4FD9DA9E4FC9DAA9DAB9DAC9DAD9DAE9DAF9DB0B3CE9DB19DB29DB3B3BAE4F79DB49DB5E4F9E4F8C5EC9DB69DB79DB89DB99DBA9DBB9DBC9DBD9DBE9DBF9DC09DC19DC2C0BD9DC39DC49DC59DC6D4E89DC79DC89DC99DCA9DCBE5A29DCC9DCD9DCE9DCF9DD09DD19DD29DD39DD49DD59DD6B0C49DD79DD8E5A49DD99DDAE5A39DDB9DDC9DDD9DDE9DDF9DE0BCA49DE1E5A59DE29DE39DE49DE59DE69DE7E5A19DE89DE99DEA9DEB9DEC9DED9DEEE4FEB1F49DEF9DF09DF19DF29DF39DF49DF59DF69DF79DF89DF9E5A89DFAE5A9E5A69DFB9DFC9DFD9DFE9E409E419E429E439E449E459E469E47E5A7E5AA9E489E499E4A9E4B9E4C9E4D9E4E9E4F9E509E519E529E539E549E559E569E579E589E599E5A9E5B9E5C9E5D9E5E9E5F9E609E619E629E639E649E659E669E679E68C6D99E699E6A9E6B9E6C9E6D9E6E9E6F9E70E5ABE5AD9E719E729E739E749E759E769E77E5AC9E789E799E7A9E7B9E7C9E7D9E7E9E809E819E829E839E849E859E869E879E889E89E5AF9E8A9E8B9E8CE5AE9E8D9E8E9E8F9E909E919E929E939E949E959E969E979E989E999E9A9E9B9E9C9E9D9E9EB9E09E9F9EA0E5B09EA19EA29EA39EA49EA59EA69EA79EA89EA99EAA9EAB9EAC9EAD9EAEE5B19EAF9EB09EB19EB29EB39EB49EB59EB69EB79EB89EB99EBABBF0ECE1C3F09EBBB5C6BBD29EBC9EBD9EBE9EBFC1E9D4EE9EC0BEC49EC19EC29EC3D7C69EC4D4D6B2D3ECBE9EC59EC69EC79EC8EAC19EC99ECA9ECBC2AFB4B69ECC9ECD9ECED1D79ECF9ED09ED1B3B49ED2C8B2BFBBECC09ED39ED4D6CB9ED59ED6ECBFECC19ED79ED89ED99EDA9EDB9EDC9EDD9EDE9EDF9EE09EE19EE29EE3ECC5BEE6CCBFC5DABEBC9EE4ECC69EE5B1FE9EE69EE79EE8ECC4D5A8B5E39EE9ECC2C1B6B3E39EEA9EEBECC3CBB8C0C3CCFE9EEC9EED9EEE9EEFC1D29EF0ECC89EF19EF29EF39EF49EF59EF69EF79EF89EF99EFA9EFB9EFC9EFDBAE6C0D39EFED6F29F409F419F42D1CC9F439F449F459F46BFBE9F47B7B3C9D5ECC7BBE29F48CCCCBDFDC8C89F49CFA99F4A9F4B9F4C9F4D9F4E9F4F9F50CDE99F51C5EB9F529F539F54B7E99F559F569F579F589F599F5A9F5B9F5C9F5D9F5E9F5FD1C9BAB89F609F619F629F639F64ECC99F659F66ECCA9F67BBC0ECCB9F68ECE2B1BAB7D99F699F6A9F6B9F6C9F6D9F6E9F6F9F709F719F729F73BDB99F749F759F769F779F789F799F7A9F7BECCCD1E6ECCD9F7C9F7D9F7E9F80C8BB9F819F829F839F849F859F869F879F889F899F8A9F8B9F8C9F8D9F8EECD19F8F9F909F919F92ECD39F93BBCD9F94BCE59F959F969F979F989F999F9A9F9B9F9C9F9D9F9E9F9F9FA09FA1ECCF9FA2C9B79FA39FA49FA59FA69FA7C3BA9FA8ECE3D5D5ECD09FA99FAA9FAB9FAC9FADD6F39FAE9FAF9FB0ECD2ECCE9FB19FB29FB39FB4ECD49FB5ECD59FB69FB7C9BF9FB89FB99FBA9FBB9FBC9FBDCFA89FBE9FBF9FC09FC19FC2D0DC9FC39FC49FC59FC6D1AC9FC79FC89FC99FCAC8DB9FCB9FCC9FCDECD6CEF59FCE9FCF9FD09FD19FD2CAECECDA9FD39FD49FD59FD69FD79FD89FD9ECD99FDA9FDB9FDCB0BE9FDD9FDE9FDF9FE09FE19FE2ECD79FE3ECD89FE49FE59FE6ECE49FE79FE89FE99FEA9FEB9FEC9FED9FEE9FEFC8BC9FF09FF19FF29FF39FF49FF59FF69FF79FF89FF9C1C79FFA9FFB9FFC9FFD9FFEECDCD1E0A040A041A042A043A044A045A046A047A048A049ECDBA04AA04BA04CA04DD4EFA04EECDDA04FA050A051A052A053A054DBC6A055A056A057A058A059A05AA05BA05CA05DA05EECDEA05FA060A061A062A063A064A065A066A067A068A069A06AB1ACA06BA06CA06DA06EA06FA070A071A072A073A074A075A076A077A078A079A07AA07BA07CA07DA07EA080A081ECDFA082A083A084A085A086A087A088A089A08AA08BECE0A08CD7A6A08DC5C0A08EA08FA090EBBCB0AEA091A092A093BEF4B8B8D2AFB0D6B5F9A094D8B3A095CBACA096E3DDA097A098A099A09AA09BA09CA09DC6ACB0E6A09EA09FA0A0C5C6EBB9A0A1A0A2A0A3A0A4EBBAA0A5A0A6A0A7EBBBA0A8A0A9D1C0A0AAC5A3A0ABEAF2A0ACC4B2A0ADC4B5C0CEA0AEA0AFA0B0EAF3C4C1A0B1CEEFA0B2A0B3A0B4A0B5EAF0EAF4A0B6A0B7C9FCA0B8A0B9C7A3A0BAA0BBA0BCCCD8CEFEA0BDA0BEA0BFEAF5EAF6CFACC0E7A0C0A0C1EAF7A0C2A0C3A0C4A0C5A0C6B6BFEAF8A0C7EAF9A0C8EAFAA0C9A0CAEAFBA0CBA0CCA0CDA0CEA0CFA0D0A0D1A0D2A0D3A0D4A0D5A0D6EAF1A0D7A0D8A0D9A0DAA0DBA0DCA0DDA0DEA0DFA0E0A0E1A0E2C8AEE1EBA0E3B7B8E1ECA0E4A0E5A0E6E1EDA0E7D7B4E1EEE1EFD3CCA0E8A0E9A0EAA0EBA0ECA0EDA0EEE1F1BFF1E1F0B5D2A0EFA0F0A0F1B1B7A0F2A0F3A0F4A0F5E1F3E1F2A0F6BAFCA0F7E1F4A0F8A0F9A0FAA0FBB9B7A0FCBED1A0FDA0FEAA40AA41C4FCAA42BADDBDC6AA43AA44AA45AA46AA47AA48E1F5E1F7AA49AA4AB6C0CFC1CAA8E1F6D5F8D3FCE1F8E1FCE1F9AA4BAA4CE1FAC0EAAA4DE1FEE2A1C0C7AA4EAA4FAA50AA51E1FBAA52E1FDAA53AA54AA55AA56AA57AA58E2A5AA59AA5AAA5BC1D4AA5CAA5DAA5EAA5FE2A3AA60E2A8B2FEE2A2AA61AA62AA63C3CDB2C2E2A7E2A6AA64AA65E2A4E2A9AA66AA67E2ABAA68AA69AA6AD0C9D6EDC3A8E2ACAA6BCFD7AA6CAA6DE2AEAA6EAA6FBAEFAA70AA71E9E0E2ADE2AAAA72AA73AA74AA75BBABD4B3AA76AA77AA78AA79AA7AAA7BAA7CAA7DAA7EAA80AA81AA82AA83E2B0AA84AA85E2AFAA86E9E1AA87AA88AA89AA8AE2B1AA8BAA8CAA8DAA8EAA8FAA90AA91AA92E2B2AA93AA94AA95AA96AA97AA98AA99AA9AAA9BAA9CAA9DE2B3CCA1AA9EE2B4AA9FAAA0AB40AB41AB42AB43AB44AB45AB46AB47AB48AB49AB4AAB4BE2B5AB4CAB4DAB4EAB4FAB50D0FEAB51AB52C2CAAB53D3F1AB54CDF5AB55AB56E7E0AB57AB58E7E1AB59AB5AAB5BAB5CBEC1AB5DAB5EAB5FAB60C2EAAB61AB62AB63E7E4AB64AB65E7E3AB66AB67AB68AB69AB6AAB6BCDE6AB6CC3B5AB6DAB6EE7E2BBB7CFD6AB6FC1E1E7E9AB70AB71AB72E7E8AB73AB74E7F4B2A3AB75AB76AB77AB78E7EAAB79E7E6AB7AAB7BAB7CAB7DAB7EE7ECE7EBC9BAAB80AB81D5E4AB82E7E5B7A9E7E7AB83AB84AB85AB86AB87AB88AB89E7EEAB8AAB8BAB8CAB8DE7F3AB8ED6E9AB8FAB90AB91AB92E7EDAB93E7F2AB94E7F1AB95AB96AB97B0E0AB98AB99AB9AAB9BE7F5AB9CAB9DAB9EAB9FABA0AC40AC41AC42AC43AC44AC45AC46AC47AC48AC49AC4AC7F2AC4BC0C5C0EDAC4CAC4DC1F0E7F0AC4EAC4FAC50AC51E7F6CBF6AC52AC53AC54AC55AC56AC57AC58AC59AC5AE8A2E8A1AC5BAC5CAC5DAC5EAC5FAC60D7C1AC61AC62E7FAE7F9AC63E7FBAC64E7F7AC65E7FEAC66E7FDAC67E7FCAC68AC69C1D5C7D9C5FDC5C3AC6AAC6BAC6CAC6DAC6EC7EDAC6FAC70AC71AC72E8A3AC73AC74AC75AC76AC77AC78AC79AC7AAC7BAC7CAC7DAC7EAC80AC81AC82AC83AC84AC85AC86E8A6AC87E8A5AC88E8A7BAF7E7F8E8A4AC89C8F0C9AAAC8AAC8BAC8CAC8DAC8EAC8FAC90AC91AC92AC93AC94AC95AC96E8A9AC97AC98B9E5AC99AC9AAC9BAC9CAC9DD1FEE8A8AC9EAC9FACA0AD40AD41AD42E8AAAD43E8ADE8AEAD44C1A7AD45AD46AD47E8AFAD48AD49AD4AE8B0AD4BAD4CE8ACAD4DE8B4AD4EAD4FAD50AD51AD52AD53AD54AD55AD56AD57AD58E8ABAD59E8B1AD5AAD5BAD5CAD5DAD5EAD5FAD60AD61E8B5E8B2E8B3AD62AD63AD64AD65AD66AD67AD68AD69AD6AAD6BAD6CAD6DAD6EAD6FAD70AD71E8B7AD72AD73AD74AD75AD76AD77AD78AD79AD7AAD7BAD7CAD7DAD7EAD80AD81AD82AD83AD84AD85AD86AD87AD88AD89E8B6AD8AAD8BAD8CAD8DAD8EAD8FAD90AD91AD92B9CFAD93F0ACAD94F0ADAD95C6B0B0EAC8BFAD96CDDFAD97AD98AD99AD9AAD9BAD9CAD9DCECDEAB1AD9EAD9FADA0AE40EAB2AE41C6BFB4C9AE42AE43AE44AE45AE46AE47AE48EAB3AE49AE4AAE4BAE4CD5E7AE4DAE4EAE4FAE50AE51AE52AE53AE54DDF9AE55EAB4AE56EAB5AE57EAB6AE58AE59AE5AAE5BB8CADFB0C9F5AE5CCCF0AE5DAE5EC9FAAE5FAE60AE61AE62AE63C9FBAE64AE65D3C3CBA6AE66B8A6F0AEB1C2AE67E5B8CCEFD3C9BCD7C9EAAE68B5E7AE69C4D0B5E9AE6AEEAEBBADAE6BAE6CE7DEAE6DEEAFAE6EAE6FAE70AE71B3A9AE72AE73EEB2AE74AE75EEB1BDE7AE76EEB0CEB7AE77AE78AE79AE7AC5CFAE7BAE7CAE7DAE7EC1F4DBCEEEB3D0F3AE80AE81AE82AE83AE84AE85AE86AE87C2D4C6E8AE88AE89AE8AB7ACAE8BAE8CAE8DAE8EAE8FAE90AE91EEB4AE92B3EBAE93AE94AE95BBFBEEB5AE96AE97AE98AE99AE9AE7DCAE9BAE9CAE9DEEB6AE9EAE9FBDAEAEA0AF40AF41AF42F1E2AF43AF44AF45CAE8AF46D2C9F0DAAF47F0DBAF48F0DCC1C6AF49B8EDBECEAF4AAF4BF0DEAF4CC5B1F0DDD1F1AF4DF0E0B0CCBDEAAF4EAF4FAF50AF51AF52D2DFF0DFAF53B4AFB7E8F0E6F0E5C6A3F0E1F0E2B4C3AF54AF55F0E3D5EEAF56AF57CCDBBED2BCB2AF58AF59AF5AF0E8F0E7F0E4B2A1AF5BD6A2D3B8BEB7C8ACAF5CAF5DF0EAAF5EAF5FAF60AF61D1F7AF62D6CCBADBF0E9AF63B6BBAF64AF65CDB4AF66AF67C6A6AF68AF69AF6AC1A1F0EBF0EEAF6BF0EDF0F0F0ECAF6CBBBEF0EFAF6DAF6EAF6FAF70CCB5F0F2AF71AF72B3D5AF73AF74AF75AF76B1D4AF77AF78F0F3AF79AF7AF0F4F0F6B4E1AF7BF0F1AF7CF0F7AF7DAF7EAF80AF81F0FAAF82F0F8AF83AF84AF85F0F5AF86AF87AF88AF89F0FDAF8AF0F9F0FCF0FEAF8BF1A1AF8CAF8DAF8ECEC1F1A4AF8FF1A3AF90C1F6F0FBCADDAF91AF92B4F1B1F1CCB1AF93F1A6AF94AF95F1A7AF96AF97F1ACD5CEF1A9AF98AF99C8B3AF9AAF9BAF9CF1A2AF9DF1ABF1A8F1A5AF9EAF9FF1AAAFA0B040B041B042B043B044B045B046B0A9F1ADB047B048B049B04AB04BB04CF1AFB04DF1B1B04EB04FB050B051B052F1B0B053F1AEB054B055B056B057D1A2B058B059B05AB05BB05CB05DB05EF1B2B05FB060B061F1B3B062B063B064B065B066B067B068B069B9EFB06AB06BB5C7B06CB0D7B0D9B06DB06EB06FD4EDB070B5C4B071BDD4BBCAF0A7B072B073B8DEB074B075F0A8B076B077B0A8B078F0A9B079B07ACDEEB07BB07CF0AAB07DB07EB080B081B082B083B084B085B086B087F0ABB088B089B08AB08BB08CB08DB08EB08FB090C6A4B091B092D6E5F1E4B093F1E5B094B095B096B097B098B099B09AB09BB09CB09DC3F3B09EB09FD3DBB0A0B140D6D1C5E8B141D3AFB142D2E6B143B144EEC1B0BBD5B5D1CEBCE0BAD0B145BFF8B146B8C7B5C1C5CCB147B148CAA2B149B14AB14BC3CBB14CB14DB14EB14FB150EEC2B151B152B153B154B155B156B157B158C4BFB6A2B159EDECC3A4B15AD6B1B15BB15CB15DCFE0EDEFB15EB15FC5CEB160B6DCB161B162CAA1B163B164EDEDB165B166EDF0EDF1C3BCB167BFB4B168EDEEB169B16AB16BB16CB16DB16EB16FB170B171B172B173EDF4EDF2B174B175B176B177D5E6C3DFB178EDF3B179B17AB17BEDF6B17CD5A3D1A3B17DB17EB180EDF5B181C3D0B182B183B184B185B186EDF7BFF4BEECEDF8B187CCF7B188D1DBB189B18AB18BD7C5D5F6B18CEDFCB18DB18EB18FEDFBB190B191B192B193B194B195B196B197EDF9EDFAB198B199B19AB19BB19CB19DB19EB19FEDFDBEA6B1A0B240B241B242B243CBAFEEA1B6BDB244EEA2C4C0B245EDFEB246B247BDDEB2C7B248B249B24AB24BB24CB24DB24EB24FB250B251B252B253B6C3B254B255B256EEA5D8BAEEA3EEA6B257B258B259C3E9B3F2B25AB25BB25CB25DB25EB25FEEA7EEA4CFB9B260B261EEA8C2F7B262B263B264B265B266B267B268B269B26AB26BB26CB26DEEA9EEAAB26EDEABB26FB270C6B3B271C7C6B272D6F5B5C9B273CBB2B274B275B276EEABB277B278CDABB279EEACB27AB27BB27CB27DB27ED5B0B280EEADB281F6C4B282B283B284B285B286B287B288B289B28AB28BB28CB28DB28EDBC7B28FB290B291B292B293B294B295B296B297B4A3B298B299B29AC3ACF1E6B29BB29CB29DB29EB29FCAB8D2D3B2A0D6AAB340EFF2B341BED8B342BDC3EFF3B6CCB0ABB343B344B345B346CAAFB347B348EDB6B349EDB7B34AB34BB34CB34DCEF9B7AFBFF3EDB8C2EBC9B0B34EB34FB350B351B352B353EDB9B354B355C6F6BFB3B356B357B358EDBCC5F8B359D1D0B35AD7A9EDBAEDBBB35BD1E2B35CEDBFEDC0B35DEDC4B35EB35FB360EDC8B361EDC6EDCED5E8B362EDC9B363B364EDC7EDBEB365B366C5E9B367B368B369C6C6B36AB36BC9E9D4D2EDC1EDC2EDC3EDC5B36CC0F9B36DB4A1B36EB36FB370B371B9E8B372EDD0B373B374B375B376EDD1B377EDCAB378EDCFB379CEF8B37AB37BCBB6EDCCEDCDB37CB37DB37EB380B381CFF5B382B383B384B385B386B387B388B389B38AB38BB38CB38DEDD2C1F2D3B2EDCBC8B7B38EB38FB390B391B392B393B394B395BCEFB396B397B398B399C5F0B39AB39BB39CB39DB39EB39FB3A0B440B441B442EDD6B443B5EFB444B445C2B5B0ADCBE9B446B447B1AEB448EDD4B449B44AB44BCDEBB5E2B44CEDD5EDD3EDD7B44DB44EB5FAB44FEDD8B450EDD9B451EDDCB452B1CCB453B454B455B456B457B458B459B45AC5F6BCEEEDDACCBCB2EAB45BB45CB45DB45EEDDBB45FB460B461B462C4EBB463B464B4C5B465B466B467B0F5B468B469B46AEDDFC0DAB4E8B46BB46CB46DB46EC5CDB46FB470B471EDDDBFC4B472B473B474EDDEB475B476B477B478B479B47AB47BB47CB47DB47EB480B481B482B483C4A5B484B485B486EDE0B487B488B489B48AB48BEDE1B48CEDE3B48DB48EC1D7B48FB490BBC7B491B492B493B494B495B496BDB8B497B498B499EDE2B49AB49BB49CB49DB49EB49FB4A0B540B541B542B543B544B545EDE4B546B547B548B549B54AB54BB54CB54DB54EB54FEDE6B550B551B552B553B554EDE5B555B556B557B558B559B55AB55BB55CB55DB55EB55FB560B561B562B563EDE7B564B565B566B567B568CABEECEAC0F1B569C9E7B56AECEBC6EEB56BB56CB56DB56EECECB56FC6EDECEDB570B571B572B573B574B575B576B577B578ECF0B579B57AD7E6ECF3B57BB57CECF1ECEEECEFD7A3C9F1CBEEECF4B57DECF2B57EB580CFE9B581ECF6C6B1B582B583B584B585BCC0B586ECF5B587B588B589B58AB58BB58CB58DB5BBBBF6B58EECF7B58FB590B591B592B593D9F7BDFBB594B595C2BBECF8B596B597B598B599ECF9B59AB59BB59CB59DB8A3B59EB59FB5A0B640B641B642B643B644B645B646ECFAB647B648B649B64AB64BB64CB64DB64EB64FB650B651B652ECFBB653B654B655B656B657B658B659B65AB65BB65CB65DECFCB65EB65FB660B661B662D3EDD8AEC0EBB663C7DDBACCB664D0E3CBBDB665CDBAB666B667B8D1B668B669B1FCB66AC7EFB66BD6D6B66CB66DB66EBFC6C3EBB66FB670EFF5B671B672C3D8B673B674B675B676B677B678D7E2B679B67AB67BEFF7B3D3B67CC7D8D1EDB67DD6C8B67EEFF8B680EFF6B681BBFDB3C6B682B683B684B685B686B687B688BDD5B689B68AD2C6B68BBBE0B68CB68DCFA1B68EEFFCEFFBB68FB690EFF9B691B692B693B694B3CCB695C9D4CBB0B696B697B698B699B69AEFFEB69BB69CB0DEB69DB69ED6C9B69FB6A0B740EFFDB741B3EDB742B743F6D5B744B745B746B747B748B749B74AB74BB74CB74DB74EB74FB750B751B752CEC8B753B754B755F0A2B756F0A1B757B5BEBCDABBFCB758B8E5B759B75AB75BB75CB75DB75EC4C2B75FB760B761B762B763B764B765B766B767B768F0A3B769B76AB76BB76CB76DCBEBB76EB76FB770B771B772B773B774B775B776B777B778B779B77AB77BB77CB77DB77EB780B781B782B783B784B785B786F0A6B787B788B789D1A8B78ABEBFC7EEF1B6F1B7BFD5B78BB78CB78DB78EB4A9F1B8CDBBB78FC7D4D5ADB790F1B9B791F1BAB792B793B794B795C7CFB796B797B798D2A4D6CFB799B79AF1BBBDD1B4B0BEBDB79BB79CB79DB4DCCED1B79EBFDFF1BDB79FB7A0B840B841BFFAF1BCB842F1BFB843B844B845F1BEF1C0B846B847B848B849B84AF1C1B84BB84CB84DB84EB84FB850B851B852B853B854B855C1FEB856B857B858B859B85AB85BB85CB85DB85EB85FB860C1A2B861B862B863B864B865B866B867B868B869B86ACAFAB86BB86CD5BEB86DB86EB86FB870BEBABEB9D5C2B871B872BFA2B873CDAFF1B5B874B875B876B877B878B879BDDFB87AB6CBB87BB87CB87DB87EB880B881B882B883B884D6F1F3C3B885B886F3C4B887B8CDB888B889B88AF3C6F3C7B88BB0CAB88CF3C5B88DF3C9CBF1B88EB88FB890F3CBB891D0A6B892B893B1CAF3C8B894B895B896F3CFB897B5D1B898B899F3D7B89AF3D2B89BB89CB89DF3D4F3D3B7FBB89EB1BFB89FF3CEF3CAB5DAB8A0F3D0B940B941F3D1B942F3D5B943B944B945B946F3CDB947BCE3B948C1FDB949F3D6B94AB94BB94CB94DB94EB94FF3DAB950F3CCB951B5C8B952BDEEF3DCB953B954B7A4BFF0D6FECDB2B955B4F0B956B2DFB957F3D8B958F3D9C9B8B959F3DDB95AB95BF3DEB95CF3E1B95DB95EB95FB960B961B962B963B964B965B966B967F3DFB968B969F3E3F3E2B96AB96BF3DBB96CBFEAB96DB3EFB96EF3E0B96FB970C7A9B971BCF2B972B973B974B975F3EBB976B977B978B979B97AB97BB97CB9BFB97DB97EF3E4B980B981B982B2ADBBFEB983CBE3B984B985B986B987F3EDF3E9B988B989B98AB9DCF3EEB98BB98CB98DF3E5F3E6F3EAC2E1F3ECF3EFF3E8BCFDB98EB98FB990CFE4B991B992F3F0B993B994B995F3E7B996B997B998B999B99AB99BB99CB99DF3F2B99EB99FB9A0BA40D7ADC6AABA41BA42BA43BA44F3F3BA45BA46BA47BA48F3F1BA49C2A8BA4ABA4BBA4CBA4DBA4EB8DDF3F5BA4FBA50F3F4BA51BA52BA53B4DBBA54BA55BA56F3F6F3F7BA57BA58BA59F3F8BA5ABA5BBA5CC0BABA5DBA5EC0E9BA5FBA60BA61BA62BA63C5F1BA64BA65BA66BA67F3FBBA68F3FABA69BA6ABA6BBA6CBA6DBA6EBA6FBA70B4D8BA71BA72BA73F3FEF3F9BA74BA75F3FCBA76BA77BA78BA79BA7ABA7BF3FDBA7CBA7DBA7EBA80BA81BA82BA83BA84F4A1BA85BA86BA87BA88BA89BA8AF4A3BBC9BA8BBA8CF4A2BA8DBA8EBA8FBA90BA91BA92BA93BA94BA95BA96BA97BA98BA99F4A4BA9ABA9BBA9CBA9DBA9EBA9FB2BEF4A6F4A5BAA0BB40BB41BB42BB43BB44BB45BB46BB47BB48BB49BCAEBB4ABB4BBB4CBB4DBB4EBB4FBB50BB51BB52BB53BB54BB55BB56BB57BB58BB59BB5ABB5BBB5CBB5DBB5EBB5FBB60BB61BB62BB63BB64BB65BB66BB67BB68BB69BB6ABB6BBB6CBB6DBB6EC3D7D9E1BB6FBB70BB71BB72BB73BB74C0E0F4CCD7D1BB75BB76BB77BB78BB79BB7ABB7BBB7CBB7DBB7EBB80B7DBBB81BB82BB83BB84BB85BB86BB87F4CEC1A3BB88BB89C6C9BB8AB4D6D5B3BB8BBB8CBB8DF4D0F4CFF4D1CBDABB8EBB8FF4D2BB90D4C1D6E0BB91BB92BB93BB94B7E0BB95BB96BB97C1B8BB98BB99C1BBF4D3BEACBB9ABB9BBB9CBB9DBB9EB4E2BB9FBBA0F4D4F4D5BEABBC40BC41F4D6BC42BC43BC44F4DBBC45F4D7F4DABC46BAFDBC47F4D8F4D9BC48BC49BC4ABC4BBC4CBC4DBC4EB8E2CCC7F4DCBC4FB2DABC50BC51C3D3BC52BC53D4E3BFB7BC54BC55BC56BC57BC58BC59BC5AF4DDBC5BBC5CBC5DBC5EBC5FBC60C5B4BC61BC62BC63BC64BC65BC66BC67BC68F4E9BC69BC6ACFB5BC6BBC6CBC6DBC6EBC6FBC70BC71BC72BC73BC74BC75BC76BC77BC78CEC9BC79BC7ABC7BBC7CBC7DBC7EBC80BC81BC82BC83BC84BC85BC86BC87BC88BC89BC8ABC8BBC8CBC8DBC8ECBD8BC8FCBF7BC90BC91BC92BC93BDF4BC94BC95BC96D7CFBC97BC98BC99C0DBBC9ABC9BBC9CBC9DBC9EBC9FBCA0BD40BD41BD42BD43BD44BD45BD46BD47BD48BD49BD4ABD4BBD4CBD4DBD4EBD4FBD50BD51BD52BD53BD54BD55BD56BD57BD58BD59BD5ABD5BBD5CBD5DBD5EBD5FBD60BD61BD62BD63BD64BD65BD66BD67BD68BD69BD6ABD6BBD6CBD6DBD6EBD6FBD70BD71BD72BD73BD74BD75BD76D0F5BD77BD78BD79BD7ABD7BBD7CBD7DBD7EF4EABD80BD81BD82BD83BD84BD85BD86BD87BD88BD89BD8ABD8BBD8CBD8DBD8EBD8FBD90BD91BD92BD93BD94BD95BD96BD97BD98BD99BD9ABD9BBD9CBD9DBD9EBD9FBDA0BE40BE41BE42BE43BE44BE45BE46BE47BE48BE49BE4ABE4BBE4CF4EBBE4DBE4EBE4FBE50BE51BE52BE53F4ECBE54BE55BE56BE57BE58BE59BE5ABE5BBE5CBE5DBE5EBE5FBE60BE61BE62BE63BE64BE65BE66BE67BE68BE69BE6ABE6BBE6CBE6DBE6EBE6FBE70BE71BE72BE73BE74BE75BE76BE77BE78BE79BE7ABE7BBE7CBE7DBE7EBE80BE81BE82BE83BE84BE85BE86BE87BE88BE89BE8ABE8BBE8CBE8DBE8EBE8FBE90BE91BE92BE93BE94BE95BE96BE97BE98BE99BE9ABE9BBE9CBE9DBE9EBE9FBEA0BF40BF41BF42BF43BF44BF45BF46BF47BF48BF49BF4ABF4BBF4CBF4DBF4EBF4FBF50BF51BF52BF53BF54BF55BF56BF57BF58BF59BF5ABF5BBF5CBF5DBF5EBF5FBF60BF61BF62BF63BF64BF65BF66BF67BF68BF69BF6ABF6BBF6CBF6DBF6EBF6FBF70BF71BF72BF73BF74BF75BF76BF77BF78BF79BF7ABF7BBF7CBF7DBF7EBF80F7E3BF81BF82BF83BF84BF85B7B1BF86BF87BF88BF89BF8AF4EDBF8BBF8CBF8DBF8EBF8FBF90BF91BF92BF93BF94BF95BF96BF97BF98BF99BF9ABF9BBF9CBF9DBF9EBF9FBFA0C040C041C042C043C044C045C046C047C048C049C04AC04BC04CC04DC04EC04FC050C051C052C053C054C055C056C057C058C059C05AC05BC05CC05DC05EC05FC060C061C062C063D7EBC064C065C066C067C068C069C06AC06BC06CC06DC06EC06FC070C071C072C073C074C075C076C077C078C079C07AC07BF4EEC07CC07DC07EE6F9BEC0E6FABAECE6FBCFCBE6FCD4BCBCB6E6FDE6FEBCCDC8D2CEB3E7A1C080B4BFE7A2C9B4B8D9C4C9C081D7DDC2DAB7D7D6BDCEC6B7C4C082C083C5A6E7A3CFDFE7A4E7A5E7A6C1B7D7E9C9F0CFB8D6AFD6D5E7A7B0EDE7A8E7A9C9DCD2EFBEADE7AAB0F3C8DEBDE1E7ABC8C6C084E7ACBBE6B8F8D1A4E7ADC2E7BEF8BDCACDB3E7AEE7AFBEEED0E5C085CBE7CCD0BCCCE7B0BCA8D0F7E7B1C086D0F8E7B2E7B3B4C2E7B4E7B5C9FECEACC3E0E7B7B1C1B3F1C087E7B8E7B9D7DBD5C0E7BAC2CCD7BAE7BBE7BCE7BDBCEAC3E5C0C2E7BEE7BFBCA9C088E7C0E7C1E7B6B6D0E7C2C089E7C3E7C4BBBAB5DEC2C6B1E0E7C5D4B5E7C6B8BFE7C8E7C7B7ECC08AE7C9B2F8E7CAE7CBE7CCE7CDE7CEE7CFE7D0D3A7CBF5E7D1E7D2E7D3E7D4C9C9E7D5E7D6E7D7E7D8E7D9BDC9E7DAF3BEC08BB8D7C08CC8B1C08DC08EC08FC090C091C092C093F3BFC094F3C0F3C1C095C096C097C098C099C09AC09BC09CC09DC09EB9DECDF8C09FC0A0D8E8BAB1C140C2DEEEB7C141B7A3C142C143C144C145EEB9C146EEB8B0D5C147C148C149C14AC14BEEBBD5D6D7EFC14CC14DC14ED6C3C14FC150EEBDCAF0C151EEBCC152C153C154C155EEBEC156C157C158C159EEC0C15AC15BEEBFC15CC15DC15EC15FC160C161C162C163D1F2C164C7BCC165C3C0C166C167C168C169C16AB8E1C16BC16CC16DC16EC16FC1E7C170C171F4C6D0DFF4C7C172CFDBC173C174C8BAC175C176F4C8C177C178C179C17AC17BC17CC17DF4C9F4CAC17EF4CBC180C181C182C183C184D9FAB8FEC185C186E5F1D3F0C187F4E0C188CECCC189C18AC18BB3E1C18CC18DC18EC18FF1B4C190D2EEC191F4E1C192C193C194C195C196CFE8F4E2C197C198C7CCC199C19AC19BC19CC19DC19EB5D4B4E4F4E4C19FC1A0C240F4E3F4E5C241C242F4E6C243C244C245C246F4E7C247BAB2B0BFC248F4E8C249C24AC24BC24CC24DC24EC24FB7ADD2EDC250C251C252D2ABC0CFC253BFBCEBA3D5DFEAC8C254C255C256C257F1F3B6F8CBA3C258C259C4CDC25AF1E7C25BF1E8B8FBF1E9BAC4D4C5B0D2C25CC25DF1EAC25EC25FC260F1EBC261F1ECC262C263F1EDF1EEF1EFF1F1F1F0C5D5C264C265C266C267C268C269F1F2C26AB6FAC26BF1F4D2AEDEC7CBCAC26CC26DB3DCC26EB5A2C26FB9A2C270C271C4F4F1F5C272C273F1F6C274C275C276C1C4C1FBD6B0F1F7C277C278C279C27AF1F8C27BC1AAC27CC27DC27EC6B8C280BEDBC281C282C283C284C285C286C287C288C289C28AC28BC28CC28DC28EF1F9B4CFC28FC290C291C292C293C294F1FAC295C296C297C298C299C29AC29BC29CC29DC29EC29FC2A0C340EDB2EDB1C341C342CBE0D2DEC343CBC1D5D8C344C8E2C345C0DFBCA1C346C347C348C349C34AC34BEBC1C34CC34DD0A4C34ED6E2C34FB6C7B8D8EBC0B8CEC350EBBFB3A6B9C9D6ABC351B7F4B7CAC352C353C354BCE7B7BEEBC6C355EBC7B0B9BFCFC356EBC5D3FDC357EBC8C358C359EBC9C35AC35BB7CEC35CEBC2EBC4C9F6D6D7D5CDD0B2EBCFCEB8EBD0C35DB5A8C35EC35FC360C361C362B1B3EBD2CCA5C363C364C365C366C367C368C369C5D6EBD3C36AEBD1C5DFEBCECAA4EBD5B0FBC36BC36CBAFAC36DC36ED8B7F1E3C36FEBCAEBCBEBCCEBCDEBD6E6C0EBD9C370BFE8D2C8EBD7EBDCB8ECEBD8C371BDBAC372D0D8C373B0B7C374EBDDC4DCC375C376C377C378D6ACC379C37AC37BB4E0C37CC37DC2F6BCB9C37EC380EBDAEBDBD4E0C6EAC4D4EBDFC5A7D9F5C381B2B1C382EBE4C383BDC5C384C385C386EBE2C387C388C389C38AC38BC38CC38DC38EC38FC390C391C392C393EBE3C394C395B8ACC396CDD1EBE5C397C398C399EBE1C39AC1B3C39BC39CC39DC39EC39FC6A2C3A0C440C441C442C443C444C445CCF3C446EBE6C447C0B0D2B8EBE7C448C449C44AB8AFB8ADC44BEBE8C7BBCDF3C44CC44DC44EEBEAEBEBC44FC450C451C452C453EBEDC454C455C456C457D0C8C458EBF2C459EBEEC45AC45BC45CEBF1C8F9C45DD1FCEBECC45EC45FEBE9C460C461C462C463B8B9CFD9C4E5EBEFEBF0CCDACDC8B0F2C464EBF6C465C466C467C468C469EBF5C46AB2B2C46BC46CC46DC46EB8E0C46FEBF7C470C471C472C473C474C475B1ECC476C477CCC5C4A4CFA5C478C479C47AC47BC47CEBF9C47DC47EECA2C480C5F2C481EBFAC482C483C484C485C486C487C488C489C9C5C48AC48BC48CC48DC48EC48FE2DFEBFEC490C491C492C493CDCEECA1B1DBD3B7C494C495D2DCC496C497C498EBFDC499EBFBC49AC49BC49CC49DC49EC49FC4A0C540C541C542C543C544C545C546C547C548C549C54AC54BC54CC54DC54EB3BCC54FC550C551EAB0C552C553D7D4C554F4ABB3F4C555C556C557C558C559D6C1D6C2C55AC55BC55CC55DC55EC55FD5E9BECAC560F4A7C561D2A8F4A8F4A9C562F4AABECBD3DFC563C564C565C566C567C9E0C9E1C568C569F3C2C56ACAE6C56BCCF2C56CC56DC56EC56FC570C571E2B6CBB4C572CEE8D6DBC573F4ADF4AEF4AFC574C575C576C577F4B2C578BABDF4B3B0E3F4B0C579F4B1BDA2B2D5C57AF4B6F4B7B6E6B2B0CFCFF4B4B4ACC57BF4B5C57CC57DF4B8C57EC580C581C582C583F4B9C584C585CDA7C586F4BAC587F4BBC588C589C58AF4BCC58BC58CC58DC58EC58FC590C591C592CBD2C593F4BDC594C595C596C597F4BEC598C599C59AC59BC59CC59DC59EC59FF4BFC5A0C640C641C642C643F4DEC1BCBCE8C644C9ABD1DEE5F5C645C646C647C648DCB3D2D5C649C64ADCB4B0ACDCB5C64BC64CBDDAC64DDCB9C64EC64FC650D8C2C651DCB7D3F3C652C9D6DCBADCB6C653DCBBC3A2C654C655C656C657DCBCDCC5DCBDC658C659CEDFD6A5C65ADCCFC65BDCCDC65CC65DDCD2BDE6C2ABC65EDCB8DCCBDCCEDCBEB7D2B0C5DCC7D0BEDCC1BBA8C65FB7BCDCCCC660C661DCC6DCBFC7DBC662C663C664D1BFDCC0C665C666DCCAC667C668DCD0C669C66ACEADDCC2C66BDCC3DCC8DCC9B2D4DCD1CBD5C66CD4B7DCDBDCDFCCA6DCE6C66DC3E7DCDCC66EC66FBFC1DCD9C670B0FAB9B6DCE5DCD3C671DCC4DCD6C8F4BFE0C672C673C674C675C9BBC676C677C678B1BDC679D3A2C67AC67BDCDAC67CC67DDCD5C67EC6BBC680DCDEC681C682C683C684C685D7C2C3AFB7B6C7D1C3A9DCE2DCD8DCEBDCD4C686C687DCDDC688BEA5DCD7C689DCE0C68AC68BDCE3DCE4C68CDCF8C68DC68EDCE1DDA2DCE7C68FC690C691C692C693C694C695C696C697C698BCEBB4C4C699C69AC3A3B2E7DCFAC69BDCF2C69CDCEFC69DDCFCDCEED2F0B2E8C69EC8D7C8E3DCFBC69FDCEDC6A0C740C741DCF7C742C743DCF5C744C745BEA3DCF4C746B2DDC747C748C749C74AC74BDCF3BCF6DCE8BBC4C74CC0F3C74DC74EC74FC750C751BCD4DCE9DCEAC752DCF1DCF6DCF9B5B4C753C8D9BBE7DCFEDCFDD3ABDDA1DDA3DDA5D2F1DDA4DDA6DDA7D2A9C754C755C756C757C758C759C75ABAC9DDA9C75BC75CDDB6DDB1DDB4C75DC75EC75FC760C761C762C763DDB0C6CEC764C765C0F2C766C767C768C769C9AFC76AC76BC76CDCECDDAEC76DC76EC76FC770DDB7C771C772DCF0DDAFC773DDB8C774DDACC775C776C777C778C779C77AC77BDDB9DDB3DDADC4AAC77CC77DC77EC780DDA8C0B3C1ABDDAADDABC781DDB2BBF1DDB5D3A8DDBAC782DDBBC3A7C783C784DDD2DDBCC785C786C787DDD1C788B9BDC789C78ABED5C78BBEFAC78CC78DBACAC78EC78FC790C791DDCAC792DDC5C793DDBFC794C795C796B2CBDDC3C797DDCBB2A4DDD5C798C799C79ADDBEC79BC79CC79DC6D0DDD0C79EC79FC7A0C840C841DDD4C1E2B7C6C842C843C844C845C846DDCEDDCFC847C848C849DDC4C84AC84BC84CDDBDC84DDDCDCCD1C84EDDC9C84FC850C851C852DDC2C3C8C6BCCEAEDDCCC853DDC8C854C855C856C857C858C859DDC1C85AC85BC85CDDC6C2DCC85DC85EC85FC860C861C862D3A9D3AADDD3CFF4C8F8C863C864C865C866C867C868C869C86ADDE6C86BC86CC86DC86EC86FC870DDC7C871C872C873DDE0C2E4C874C875C876C877C878C879C87AC87BDDE1C87CC87DC87EC880C881C882C883C884C885C886DDD7C887C888C889C88AC88BD6F8C88CDDD9DDD8B8F0DDD6C88DC88EC88FC890C6CFC891B6ADC892C893C894C895C896DDE2C897BAF9D4E1DDE7C898C899C89AB4D0C89BDDDAC89CBFFBDDE3C89DDDDFC89EDDDDC89FC8A0C940C941C942C943C944B5D9C945C946C947C948DDDBDDDCDDDEC949BDAFDDE4C94ADDE5C94BC94CC94DC94EC94FC950C951C952DDF5C953C3C9C954C955CBE2C956C957C958C959DDF2C95AC95BC95CC95DC95EC95FC960C961C962C963C964C965C966D8E1C967C968C6D1C969DDF4C96AC96BC96CD5F4DDF3DDF0C96DC96EDDECC96FDDEFC970DDE8C971C972D0EEC973C974C975C976C8D8DDEEC977C978DDE9C979C97ADDEACBF2C97BDDEDC97CC97DB1CDC97EC980C981C982C983C984C0B6C985BCBBDDF1C986C987DDF7C988DDF6DDEBC989C98AC98BC98CC98DC5EEC98EC98FC990DDFBC991C992C993C994C995C996C997C998C999C99AC99BDEA4C99CC99DDEA3C99EC99FC9A0CA40CA41CA42CA43CA44CA45CA46CA47CA48DDF8CA49CA4ACA4BCA4CC3EFCA4DC2FBCA4ECA4FCA50D5E1CA51CA52CEB5CA53CA54CA55CA56DDFDCA57B2CCCA58CA59CA5ACA5BCA5CCA5DCA5ECA5FCA60C4E8CADFCA61CA62CA63CA64CA65CA66CA67CA68CA69CA6AC7BEDDFADDFCDDFEDEA2B0AAB1CECA6BCA6CCA6DCA6ECA6FDEACCA70CA71CA72CA73DEA6BDB6C8EFCA74CA75CA76CA77CA78CA79CA7ACA7BCA7CCA7DCA7EDEA1CA80CA81DEA5CA82CA83CA84CA85DEA9CA86CA87CA88CA89CA8ADEA8CA8BCA8CCA8DDEA7CA8ECA8FCA90CA91CA92CA93CA94CA95CA96DEADCA97D4CCCA98CA99CA9ACA9BDEB3DEAADEAECA9CCA9DC0D9CA9ECA9FCAA0CB40CB41B1A1DEB6CB42DEB1CB43CB44CB45CB46CB47CB48CB49DEB2CB4ACB4BCB4CCB4DCB4ECB4FCB50CB51CB52CB53CB54D1A6DEB5CB55CB56CB57CB58CB59CB5ACB5BDEAFCB5CCB5DCB5EDEB0CB5FD0BDCB60CB61CB62DEB4CAEDDEB9CB63CB64CB65CB66CB67CB68DEB8CB69DEB7CB6ACB6BCB6CCB6DCB6ECB6FCB70DEBBCB71CB72CB73CB74CB75CB76CB77BDE5CB78CB79CB7ACB7BCB7CB2D8C3EACB7DCB7EDEBACB80C5BACB81CB82CB83CB84CB85CB86DEBCCB87CB88CB89CB8ACB8BCB8CCB8DCCD9CB8ECB8FCB90CB91B7AACB92CB93CB94CB95CB96CB97CB98CB99CB9ACB9BCB9CCB9DCB9ECB9FCBA0CC40CC41D4E5CC42CC43CC44DEBDCC45CC46CC47CC48CC49DEBFCC4ACC4BCC4CCC4DCC4ECC4FCC50CC51CC52CC53CC54C4A2CC55CC56CC57CC58DEC1CC59CC5ACC5BCC5CCC5DCC5ECC5FCC60CC61CC62CC63CC64CC65CC66CC67CC68DEBECC69DEC0CC6ACC6BCC6CCC6DCC6ECC6FCC70CC71CC72CC73CC74CC75CC76CC77D5BACC78CC79CC7ADEC2CC7BCC7CCC7DCC7ECC80CC81CC82CC83CC84CC85CC86CC87CC88CC89CC8ACC8BF2AEBBA2C2B2C5B0C2C7CC8CCC8DF2AFCC8ECC8FCC90CC91CC92D0E9CC93CC94CC95D3DDCC96CC97CC98EBBDCC99CC9ACC9BCC9CCC9DCC9ECC9FCCA0B3E6F2B0CD40F2B1CD41CD42CAADCD43CD44CD45CD46CD47CD48CD49BAE7F2B3F2B5F2B4CBE4CFBAF2B2CAB4D2CFC2ECCD4ACD4BCD4CCD4DCD4ECD4FCD50CEC3F2B8B0F6F2B7CD51CD52CD53CD54CD55F2BECD56B2CFCD57CD58CD59CD5ACD5BCD5CD1C1F2BACD5DCD5ECD5FCD60CD61F2BCD4E9CD62CD63F2BBF2B6F2BFF2BDCD64F2B9CD65CD66F2C7F2C4F2C6CD67CD68F2CAF2C2F2C0CD69CD6ACD6BF2C5CD6CCD6DCD6ECD6FCD70D6FBCD71CD72CD73F2C1CD74C7F9C9DFCD75F2C8B9C6B5B0CD76CD77F2C3F2C9F2D0F2D6CD78CD79BBD7CD7ACD7BCD7CF2D5CDDCCD7DD6EBCD7ECD80F2D2F2D4CD81CD82CD83CD84B8F2CD85CD86CD87CD88F2CBCD89CD8ACD8BF2CEC2F9CD8CD5DDF2CCF2CDF2CFF2D3CD8DCD8ECD8FF2D9D3BCCD90CD91CD92CD93B6EACD94CAF1CD95B7E4F2D7CD96CD97CD98F2D8F2DAF2DDF2DBCD99CD9AF2DCCD9BCD9CCD9DCD9ED1D1F2D1CD9FCDC9CDA0CECFD6A9CE40F2E3CE41C3DBCE42F2E0CE43CE44C0AFF2ECF2DECE45F2E1CE46CE47CE48F2E8CE49CE4ACE4BCE4CF2E2CE4DCE4EF2E7CE4FCE50F2E6CE51CE52F2E9CE53CE54CE55F2DFCE56CE57F2E4F2EACE58CE59CE5ACE5BCE5CCE5DCE5ED3ACF2E5B2F5CE5FCE60F2F2CE61D0ABCE62CE63CE64CE65F2F5CE66CE67CE68BBC8CE69F2F9CE6ACE6BCE6CCE6DCE6ECE6FF2F0CE70CE71F2F6F2F8F2FACE72CE73CE74CE75CE76CE77CE78CE79F2F3CE7AF2F1CE7BCE7CCE7DBAFBCE7EB5FBCE80CE81CE82CE83F2EFF2F7F2EDF2EECE84CE85CE86F2EBF3A6CE87F3A3CE88CE89F3A2CE8ACE8BF2F4CE8CC8DACE8DCE8ECE8FCE90CE91F2FBCE92CE93CE94F3A5CE95CE96CE97CE98CE99CE9ACE9BC3F8CE9CCE9DCE9ECE9FCEA0CF40CF41CF42F2FDCF43CF44F3A7F3A9F3A4CF45F2FCCF46CF47CF48F3ABCF49F3AACF4ACF4BCF4CCF4DC2DDCF4ECF4FF3AECF50CF51F3B0CF52CF53CF54CF55CF56F3A1CF57CF58CF59F3B1F3ACCF5ACF5BCF5CCF5DCF5EF3AFF2FEF3ADCF5FCF60CF61CF62CF63CF64CF65F3B2CF66CF67CF68CF69F3B4CF6ACF6BCF6CCF6DF3A8CF6ECF6FCF70CF71F3B3CF72CF73CF74F3B5CF75CF76CF77CF78CF79CF7ACF7BCF7CCF7DCF7ED0B7CF80CF81CF82CF83F3B8CF84CF85CF86CF87D9F9CF88CF89CF8ACF8BCF8CCF8DF3B9CF8ECF8FCF90CF91CF92CF93CF94CF95F3B7CF96C8E4F3B6CF97CF98CF99CF9AF3BACF9BCF9CCF9DCF9ECF9FF3BBB4C0CFA0D040D041D042D043D044D045D046D047D048D049D04AD04BD04CD04DEEC3D04ED04FD050D051D052D053F3BCD054D055F3BDD056D057D058D1AAD059D05AD05BF4ACD0C6D05CD05DD05ED05FD060D061D0D0D1DCD062D063D064D065D066D067CFCED068D069BDD6D06AD1C3D06BD06CD06DD06ED06FD070D071BAE2E1E9D2C2F1C2B2B9D072D073B1EDF1C3D074C9C0B3C4D075D9F2D076CBA5D077F1C4D078D079D07AD07BD6D4D07CD07DD07ED080D081F1C5F4C0F1C6D082D4ACF1C7D083B0C0F4C1D084D085F4C2D086D087B4FCD088C5DBD089D08AD08BD08CCCBBD08DD08ED08FD0E4D090D091D092D093D094CDE0D095D096D097D098D099F1C8D09AD9F3D09BD09CD09DD09ED09FD0A0B1BBD140CFAED141D142D143B8A4D144D145D146D147D148F1CAD149D14AD14BD14CF1CBD14DD14ED14FD150B2C3C1D1D151D152D7B0F1C9D153D154F1CCD155D156D157D158F1CED159D15AD15BD9F6D15CD2E1D4A3D15DD15EF4C3C8B9D15FD160D161D162D163F4C4D164D165F1CDF1CFBFE3F1D0D166D167F1D4D168D169D16AD16BD16CD16DD16EF1D6F1D1D16FC9D1C5E1D170D171D172C2E3B9FCD173D174F1D3D175F1D5D176D177D178B9D3D179D17AD17BD17CD17DD17ED180F1DBD181D182D183D184D185BAD6D186B0FDF1D9D187D188D189D18AD18BF1D8F1D2F1DAD18CD18DD18ED18FD190F1D7D191D192D193C8ECD194D195D196D197CDCAF1DDD198D199D19AD19BE5BDD19CD19DD19EF1DCD19FF1DED1A0D240D241D242D243D244D245D246D247D248F1DFD249D24ACFE5D24BD24CD24DD24ED24FD250D251D252D253D254D255D256D257D258D259D25AD25BD25CD25DD25ED25FD260D261D262D263F4C5BDF3D264D265D266D267D268D269F1E0D26AD26BD26CD26DD26ED26FD270D271D272D273D274D275D276D277D278D279D27AD27BD27CD27DF1E1D27ED280D281CEF7D282D2AAD283F1FBD284D285B8B2D286D287D288D289D28AD28BD28CD28DD28ED28FD290D291D292D293D294D295D296D297D298D299D29AD29BD29CD29DD29ED29FD2A0D340D341D342D343D344D345D346D347D348D349D34AD34BD34CD34DD34ED34FD350D351D352D353D354D355D356D357D358D359D35AD35BD35CD35DD35EBCFBB9DBD35FB9E6C3D9CAD3EAE8C0C0BEF5EAE9EAEAEAEBD360EAECEAEDEAEEEAEFBDC7D361D362D363F5FBD364D365D366F5FDD367F5FED368F5FCD369D36AD36BD36CBDE2D36DF6A1B4A5D36ED36FD370D371F6A2D372D373D374F6A3D375D376D377ECB2D378D379D37AD37BD37CD37DD37ED380D381D382D383D384D1D4D385D386D387D388D389D38AD9EAD38BD38CD38DD38ED38FD390D391D392D393D394D395D396D397D398D399D39AD39BD39CD39DD39ED39FD3A0D440D441D442D443D444D445D446D447D448D449D44AD44BD44CD44DD44ED44FD450D451D452D453D454D455D456D457D458D459D45AD45BD45CD45DD45ED45FF6A4D460D461D462D463D464D465D466D467D468EEBAD469D46AD46BD46CD46DD46ED46FD470D471D472D473D474D475D476D477D478D479D47AD47BD47CD47DD47ED480D481D482D483D484D485D486D487D488D489D48AD48BD48CD48DD48ED48FD490D491D492D493D494D495D496D497D498D499D5B2D49AD49BD49CD49DD49ED49FD4A0D540D541D542D543D544D545D546D547D3FECCDCD548D549D54AD54BD54CD54DD54ED54FCAC4D550D551D552D553D554D555D556D557D558D559D55AD55BD55CD55DD55ED55FD560D561D562D563D564D565D566D567D568D569D56AD56BD56CD56DD56ED56FD570D571D572D573D574D575D576D577D578D579D57AD57BD57CD57DD57ED580D581D582D583D584D585D586D587D588D589D58AD58BD58CD58DD58ED58FD590D591D592D593D594D595D596D597D598D599D59AD59BD59CD59DD59ED59FD5A0D640D641D642D643D644D645D646D647D648D649D64AD64BD64CD64DD64ED64FD650D651D652D653D654D655D656D657D658D659D65AD65BD65CD65DD65ED65FD660D661D662E5C0D663D664D665D666D667D668D669D66AD66BD66CD66DD66ED66FD670D671D672D673D674D675D676D677D678D679D67AD67BD67CD67DD67ED680D681F6A5D682D683D684D685D686D687D688D689D68AD68BD68CD68DD68ED68FD690D691D692D693D694D695D696D697D698D699D69AD69BD69CD69DD69ED69FD6A0D740D741D742D743D744D745D746D747D748D749D74AD74BD74CD74DD74ED74FD750D751D752D753D754D755D756D757D758D759D75AD75BD75CD75DD75ED75FBEAFD760D761D762D763D764C6A9D765D766D767D768D769D76AD76BD76CD76DD76ED76FD770D771D772D773D774D775D776D777D778D779D77AD77BD77CD77DD77ED780D781D782D783D784D785D786D787D788D789D78AD78BD78CD78DD78ED78FD790D791D792D793D794D795D796D797D798DAA5BCC6B6A9B8BCC8CFBCA5DAA6DAA7CCD6C8C3DAA8C6FDD799D1B5D2E9D1B6BCC7D79ABDB2BBE4DAA9DAAAD1C8DAABD0EDB6EFC2DBD79BCBCFB7EDC9E8B7C3BEF7D6A4DAACDAADC6C0D7E7CAB6D79CD5A9CBDFD5EFDAAED6DFB4CADAB0DAAFD79DD2EBDAB1DAB2DAB3CAD4DAB4CAABDAB5DAB6B3CFD6EFDAB7BBB0B5AEDAB8DAB9B9EED1AFD2E8DABAB8C3CFEAB2EFDABBDABCD79EBDEBCEDCD3EFDABDCEF3DABED3D5BBE5DABFCBB5CBD0DAC0C7EBD6EEDAC1C5B5B6C1DAC2B7CCBFCEDAC3DAC4CBADDAC5B5F7DAC6C1C2D7BBDAC7CCB8D79FD2EAC4B1DAC8B5FDBBD1DAC9D0B3DACADACBCEBDDACCDACDDACEB2F7DAD1DACFD1E8DAD0C3D5DAD2D7A0DAD3DAD4DAD5D0BBD2A5B0F9DAD6C7ABDAD7BDF7C3A1DAD8DAD9C3FDCCB7DADADADBC0BEC6D7DADCDADDC7B4DADEDADFB9C8D840D841D842D843D844D845D846D847D848BBEDD849D84AD84BD84CB6B9F4F8D84DF4F9D84ED84FCDE3D850D851D852D853D854D855D856D857F5B9D858D859D85AD85BEBE0D85CD85DD85ED85FD860D861CFF3BBBFD862D863D864D865D866D867D868BAC0D4A5D869D86AD86BD86CD86DD86ED86FE1D9D870D871D872D873F5F4B1AAB2F2D874D875D876D877D878D879D87AF5F5D87BD87CF5F7D87DD87ED880BAD1F5F6D881C3B2D882D883D884D885D886D887D888F5F9D889D88AD88BF5F8D88CD88DD88ED88FD890D891D892D893D894D895D896D897D898D899D89AD89BD89CD89DD89ED89FD8A0D940D941D942D943D944D945D946D947D948D949D94AD94BD94CD94DD94ED94FD950D951D952D953D954D955D956D957D958D959D95AD95BD95CD95DD95ED95FD960D961D962D963D964D965D966D967D968D969D96AD96BD96CD96DD96ED96FD970D971D972D973D974D975D976D977D978D979D97AD97BD97CD97DD97ED980D981D982D983D984D985D986D987D988D989D98AD98BD98CD98DD98ED98FD990D991D992D993D994D995D996D997D998D999D99AD99BD99CD99DD99ED99FD9A0DA40DA41DA42DA43DA44DA45DA46DA47DA48DA49DA4ADA4BDA4CDA4DDA4EB1B4D5EAB8BADA4FB9B1B2C6D4F0CFCDB0DCD5CBBBF5D6CAB7B7CCB0C6B6B1E1B9BAD6FCB9E1B7A1BCFAEADAEADBCCF9B9F3EADCB4FBC3B3B7D1BAD8EADDD4F4EADEBCD6BBDFEADFC1DEC2B8D4DFD7CAEAE0EAE1EAE4EAE2EAE3C9DEB8B3B6C4EAE5CAEAC9CDB4CDDA50DA51E2D9C5E2EAE6C0B5DA52D7B8EAE7D7ACC8FCD8D3D8CDD4DEDA53D4F9C9C4D3AEB8D3B3E0DA54C9E2F4F6DA55DA56DA57BAD5DA58F4F7DA59DA5AD7DFDA5BDA5CF4F1B8B0D5D4B8CFC6F0DA5DDA5EDA5FDA60DA61DA62DA63DA64DA65B3C3DA66DA67F4F2B3ACDA68DA69DA6ADA6BD4BDC7F7DA6CDA6DDA6EDA6FDA70F4F4DA71DA72F4F3DA73DA74DA75DA76DA77DA78DA79DA7ADA7BDA7CCCCBDA7DDA7EDA80C8A4DA81DA82DA83DA84DA85DA86DA87DA88DA89DA8ADA8BDA8CDA8DF4F5DA8ED7E3C5BFF5C0DA8FDA90F5BBDA91F5C3DA92F5C2DA93D6BAF5C1DA94DA95DA96D4BEF5C4DA97F5CCDA98DA99DA9ADA9BB0CFB5F8DA9CF5C9F5CADA9DC5DCDA9EDA9FDAA0DB40F5C5F5C6DB41DB42F5C7F5CBDB43BEE0F5C8B8FADB44DB45DB46F5D0F5D3DB47DB48DB49BFE7DB4AB9F2F5BCF5CDDB4BDB4CC2B7DB4DDB4EDB4FCCF8DB50BCF9DB51F5CEF5CFF5D1B6E5F5D2DB52F5D5DB53DB54DB55DB56DB57DB58DB59F5BDDB5ADB5BDB5CF5D4D3BBDB5DB3ECDB5EDB5FCCA4DB60DB61DB62DB63F5D6DB64DB65DB66DB67DB68DB69DB6ADB6BF5D7BEE1F5D8DB6CDB6DCCDFF5DBDB6EDB6FDB70DB71DB72B2C8D7D9DB73F5D9DB74F5DAF5DCDB75F5E2DB76DB77DB78F5E0DB79DB7ADB7BF5DFF5DDDB7CDB7DF5E1DB7EDB80F5DEF5E4F5E5DB81CCE3DB82DB83E5BFB5B8F5E3F5E8CCA3DB84DB85DB86DB87DB88F5E6F5E7DB89DB8ADB8BDB8CDB8DDB8EF5BEDB8FDB90DB91DB92DB93DB94DB95DB96DB97DB98DB99DB9AB1C4DB9BDB9CF5BFDB9DDB9EB5C5B2E4DB9FF5ECF5E9DBA0B6D7DC40F5EDDC41F5EADC42DC43DC44DC45DC46F5EBDC47DC48B4DADC49D4EADC4ADC4BDC4CF5EEDC4DB3F9DC4EDC4FDC50DC51DC52DC53DC54F5EFF5F1DC55DC56DC57F5F0DC58DC59DC5ADC5BDC5CDC5DDC5EF5F2DC5FF5F3DC60DC61DC62DC63DC64DC65DC66DC67DC68DC69DC6ADC6BC9EDB9AADC6CDC6DC7FBDC6EDC6FB6E3DC70DC71DC72DC73DC74DC75DC76CCC9DC77DC78DC79DC7ADC7BDC7CDC7DDC7EDC80DC81DC82DC83DC84DC85DC86DC87DC88DC89DC8AEAA6DC8BDC8CDC8DDC8EDC8FDC90DC91DC92DC93DC94DC95DC96DC97DC98DC99DC9ADC9BDC9CDC9DDC9EDC9FDCA0DD40DD41DD42DD43DD44DD45DD46DD47DD48DD49DD4ADD4BDD4CDD4DDD4EDD4FDD50DD51DD52DD53DD54DD55DD56DD57DD58DD59DD5ADD5BDD5CDD5DDD5EDD5FDD60DD61DD62DD63DD64DD65DD66DD67DD68DD69DD6ADD6BDD6CDD6DDD6EDD6FDD70DD71DD72DD73DD74DD75DD76DD77DD78DD79DD7ADD7BDD7CDD7DDD7EDD80DD81DD82DD83DD84DD85DD86DD87DD88DD89DD8ADD8BDD8CDD8DDD8EDD8FDD90DD91DD92DD93DD94DD95DD96DD97DD98DD99DD9ADD9BDD9CDD9DDD9EDD9FDDA0DE40DE41DE42DE43DE44DE45DE46DE47DE48DE49DE4ADE4BDE4CDE4DDE4EDE4FDE50DE51DE52DE53DE54DE55DE56DE57DE58DE59DE5ADE5BDE5CDE5DDE5EDE5FDE60B3B5D4FEB9ECD0F9DE61E9EDD7AAE9EEC2D6C8EDBAE4E9EFE9F0E9F1D6E1E9F2E9F3E9F5E9F4E9F6E9F7C7E1E9F8D4D8E9F9BDCEDE62E9FAE9FBBDCFE9FCB8A8C1BEE9FDB1B2BBD4B9F5E9FEDE63EAA1EAA2EAA3B7F8BCADDE64CAE4E0CED4AFCFBDD5B7EAA4D5DEEAA5D0C1B9BCDE65B4C7B1D9DE66DE67DE68C0B1DE69DE6ADE6BDE6CB1E6B1E7DE6DB1E8DE6EDE6FDE70DE71B3BDC8E8DE72DE73DE74DE75E5C1DE76DE77B1DFDE78DE79DE7AC1C9B4EFDE7BDE7CC7A8D3D8DE7DC6F9D1B8DE7EB9FDC2F5DE80DE81DE82DE83DE84D3ADDE85D4CBBDFCDE86E5C2B7B5E5C3DE87DE88BBB9D5E2DE89BDF8D4B6CEA5C1ACB3D9DE8ADE8BCCF6DE8CE5C6E5C4E5C8DE8DE5CAE5C7B5CFC6C8DE8EB5FCE5C5DE8FCAF6DE90DE91E5C9DE92DE93DE94C3D4B1C5BCA3DE95DE96DE97D7B7DE98DE99CDCBCBCDCACACCD3E5CCE5CBC4E6DE9ADE9BD1A1D1B7E5CDDE9CE5D0DE9DCDB8D6F0E5CFB5DDDE9ECDBEDE9FE5D1B6BADEA0DF40CDA8B9E4DF41CAC5B3D1CBD9D4ECE5D2B7EADF42DF43DF44E5CEDF45DF46DF47DF48DF49DF4AE5D5B4FEE5D6DF4BDF4CDF4DDF4EDF4FE5D3E5D4DF50D2DDDF51DF52C2DFB1C6DF53D3E2DF54DF55B6DDCBECDF56E5D7DF57DF58D3F6DF59DF5ADF5BDF5CDF5DB1E9DF5EB6F4E5DAE5D8E5D9B5C0DF5FDF60DF61D2C5E5DCDF62DF63E5DEDF64DF65DF66DF67DF68DF69E5DDC7B2DF6AD2A3DF6BDF6CE5DBDF6DDF6EDF6FDF70D4E2D5DADF71DF72DF73DF74DF75E5E0D7F1DF76DF77DF78DF79DF7ADF7BDF7CE5E1DF7DB1DCD1FBDF7EE5E2E5E4DF80DF81DF82DF83E5E3DF84DF85E5E5DF86DF87DF88DF89DF8AD2D8DF8BB5CBDF8CE7DFDF8DDAF5DF8EDAF8DF8FDAF6DF90DAF7DF91DF92DF93DAFAD0CFC4C7DF94DF95B0EEDF96DF97DF98D0B0DF99DAF9DF9AD3CABAAADBA2C7F1DF9BDAFCDAFBC9DBDAFDDF9CDBA1D7DEDAFEC1DADF9DDF9EDBA5DF9FDFA0D3F4E040E041DBA7DBA4E042DBA8E043E044BDBCE045E046E047C0C9DBA3DBA6D6A3E048DBA9E049E04AE04BDBADE04CE04DE04EDBAEDBACBAC2E04FE050E051BFA4DBABE052E053E054DBAAD4C7B2BFE055E056DBAFE057B9F9E058DBB0E059E05AE05BE05CB3BBE05DE05EE05FB5A6E060E061E062E063B6BCDBB1E064E065E066B6F5E067DBB2E068E069E06AE06BE06CE06DE06EE06FE070E071E072E073E074E075E076E077E078E079E07AE07BB1C9E07CE07DE07EE080DBB4E081E082E083DBB3DBB5E084E085E086E087E088E089E08AE08BE08CE08DE08EDBB7E08FDBB6E090E091E092E093E094E095E096DBB8E097E098E099E09AE09BE09CE09DE09EE09FDBB9E0A0E140DBBAE141E142D3CFF4FAC7F5D7C3C5E4F4FCF4FDF4FBE143BEC6E144E145E146E147D0EFE148E149B7D3E14AE14BD4CDCCAAE14CE14DF5A2F5A1BAA8F4FECBD6E14EE14FE150F5A4C0D2E151B3EAE152CDAAF5A5F5A3BDB4F5A8E153F5A9BDCDC3B8BFE1CBE1F5AAE154E155E156F5A6F5A7C4F0E157E158E159E15AE15BF5ACE15CB4BCE15DD7EDE15EB4D7F5ABF5AEE15FE160F5ADF5AFD0D1E161E162E163E164E165E166E167C3D1C8A9E168E169E16AE16BE16CE16DF5B0F5B1E16EE16FE170E171E172E173F5B2E174E175F5B3F5B4F5B5E176E177E178E179F5B7F5B6E17AE17BE17CE17DF5B8E17EE180E181E182E183E184E185E186E187E188E189E18AB2C9E18BD3D4CACDE18CC0EFD6D8D2B0C1BFE18DBDF0E18EE18FE190E191E192E193E194E195E196E197B8AAE198E199E19AE19BE19CE19DE19EE19FE1A0E240E241E242E243E244E245E246E247E248E249E24AE24BE24CE24DE24EE24FE250E251E252E253E254E255E256E257E258E259E25AE25BE25CE25DE25EE25FE260E261E262E263E264E265E266E267E268E269E26AE26BE26CE26DE26EE26FE270E271E272E273E274E275E276E277E278E279E27AE27BE27CE27DE27EE280E281E282E283E284E285E286E287E288E289E28AE28BE28CE28DE28EE28FE290E291E292E293E294E295E296E297E298E299E29AE29BE29CE29DE29EE29FE2A0E340E341E342E343E344E345E346E347E348E349E34AE34BE34CE34DE34EE34FE350E351E352E353E354E355E356E357E358E359E35AE35BE35CE35DE35EE35FE360E361E362E363E364E365E366E367E368E369E36AE36BE36CE36DBCF8E36EE36FE370E371E372E373E374E375E376E377E378E379E37AE37BE37CE37DE37EE380E381E382E383E384E385E386E387F6C6E388E389E38AE38BE38CE38DE38EE38FE390E391E392E393E394E395E396E397E398E399E39AE39BE39CE39DE39EE39FE3A0E440E441E442E443E444E445F6C7E446E447E448E449E44AE44BE44CE44DE44EE44FE450E451E452E453E454E455E456E457E458E459E45AE45BE45CE45DE45EF6C8E45FE460E461E462E463E464E465E466E467E468E469E46AE46BE46CE46DE46EE46FE470E471E472E473E474E475E476E477E478E479E47AE47BE47CE47DE47EE480E481E482E483E484E485E486E487E488E489E48AE48BE48CE48DE48EE48FE490E491E492E493E494E495E496E497E498E499E49AE49BE49CE49DE49EE49FE4A0E540E541E542E543E544E545E546E547E548E549E54AE54BE54CE54DE54EE54FE550E551E552E553E554E555E556E557E558E559E55AE55BE55CE55DE55EE55FE560E561E562E563E564E565E566E567E568E569E56AE56BE56CE56DE56EE56FE570E571E572E573F6C9E574E575E576E577E578E579E57AE57BE57CE57DE57EE580E581E582E583E584E585E586E587E588E589E58AE58BE58CE58DE58EE58FE590E591E592E593E594E595E596E597E598E599E59AE59BE59CE59DE59EE59FF6CAE5A0E640E641E642E643E644E645E646E647E648E649E64AE64BE64CE64DE64EE64FE650E651E652E653E654E655E656E657E658E659E65AE65BE65CE65DE65EE65FE660E661E662F6CCE663E664E665E666E667E668E669E66AE66BE66CE66DE66EE66FE670E671E672E673E674E675E676E677E678E679E67AE67BE67CE67DE67EE680E681E682E683E684E685E686E687E688E689E68AE68BE68CE68DE68EE68FE690E691E692E693E694E695E696E697E698E699E69AE69BE69CE69DF6CBE69EE69FE6A0E740E741E742E743E744E745E746E747F7E9E748E749E74AE74BE74CE74DE74EE74FE750E751E752E753E754E755E756E757E758E759E75AE75BE75CE75DE75EE75FE760E761E762E763E764E765E766E767E768E769E76AE76BE76CE76DE76EE76FE770E771E772E773E774E775E776E777E778E779E77AE77BE77CE77DE77EE780E781E782E783E784E785E786E787E788E789E78AE78BE78CE78DE78EE78FE790E791E792E793E794E795E796E797E798E799E79AE79BE79CE79DE79EE79FE7A0E840E841E842E843E844E845E846E847E848E849E84AE84BE84CE84DE84EF6CDE84FE850E851E852E853E854E855E856E857E858E859E85AE85BE85CE85DE85EE85FE860E861E862E863E864E865E866E867E868E869E86AE86BE86CE86DE86EE86FE870E871E872E873E874E875E876E877E878E879E87AF6CEE87BE87CE87DE87EE880E881E882E883E884E885E886E887E888E889E88AE88BE88CE88DE88EE88FE890E891E892E893E894EEC4EEC5EEC6D5EBB6A4EEC8EEC7EEC9EECAC7A5EECBEECCE895B7B0B5F6EECDEECFE896EECEE897B8C6EED0EED1EED2B6DBB3AED6D3C4C6B1B5B8D6EED3EED4D4BFC7D5BEFBCED9B9B3EED6EED5EED8EED7C5A5EED9EEDAC7AEEEDBC7AFEEDCB2A7EEDDEEDEEEDFEEE0EEE1D7EAEEE2EEE3BCD8EEE4D3CBCCFAB2ACC1E5EEE5C7A6C3ADE898EEE6EEE7EEE8EEE9EEEAEEEBEEECE899EEEDEEEEEEEFE89AE89BEEF0EEF1EEF2EEF4EEF3E89CEEF5CDADC2C1EEF6EEF7EEF8D5A1EEF9CFB3EEFAEEFBE89DEEFCEEFDEFA1EEFEEFA2B8F5C3FAEFA3EFA4BDC2D2BFB2F9EFA5EFA6EFA7D2F8EFA8D6FDEFA9C6CCE89EEFAAEFABC1B4EFACCFFACBF8EFAEEFADB3FAB9F8EFAFEFB0D0E2EFB1EFB2B7E6D0BFEFB3EFB4EFB5C8F1CCE0EFB6EFB7EFB8EFB9EFBAD5E0EFBBB4EDC3AAEFBCE89FEFBDEFBEEFBFE8A0CEFDEFC0C2E0B4B8D7B6BDF5E940CFC7EFC3EFC1EFC2EFC4B6A7BCFCBEE2C3CCEFC5EFC6E941EFC7EFCFEFC8EFC9EFCAC7C2EFF1B6CDEFCBE942EFCCEFCDB6C6C3BEEFCEE943EFD0EFD1EFD2D5F2E944EFD3C4F7E945EFD4C4F8EFD5EFD6B8E4B0F7EFD7EFD8EFD9E946EFDAEFDBEFDCEFDDE947EFDEBEB5EFE1EFDFEFE0E948EFE2EFE3C1CDEFE4EFE5EFE6EFE7EFE8EFE9EFEAEFEBEFECC0D8E949EFEDC1ADEFEEEFEFEFF0E94AE94BCFE2E94CE94DE94EE94FE950E951E952E953B3A4E954E955E956E957E958E959E95AE95BE95CE95DE95EE95FE960E961E962E963E964E965E966E967E968E969E96AE96BE96CE96DE96EE96FE970E971E972E973E974E975E976E977E978E979E97AE97BE97CE97DE97EE980E981E982E983E984E985E986E987E988E989E98AE98BE98CE98DE98EE98FE990E991E992E993E994E995E996E997E998E999E99AE99BE99CE99DE99EE99FE9A0EA40EA41EA42EA43EA44EA45EA46EA47EA48EA49EA4AEA4BEA4CEA4DEA4EEA4FEA50EA51EA52EA53EA54EA55EA56EA57EA58EA59EA5AEA5BC3C5E3C5C9C1E3C6EA5CB1D5CECAB4B3C8F2E3C7CFD0E3C8BCE4E3C9E3CAC3C6D5A2C4D6B9EBCEC5E3CBC3F6E3CCEA5DB7A7B8F3BAD2E3CDE3CED4C4E3CFEA5EE3D0D1CBE3D1E3D2E3D3E3D4D1D6E3D5B2FBC0BBE3D6EA5FC0ABE3D7E3D8E3D9EA60E3DAE3DBEA61B8B7DAE2EA62B6D3EA63DAE4DAE3EA64EA65EA66EA67EA68EA69EA6ADAE6EA6BEA6CEA6DC8EEEA6EEA6FDAE5B7C0D1F4D2F5D5F3BDD7EA70EA71EA72EA73D7E8DAE8DAE7EA74B0A2CDD3EA75DAE9EA76B8BDBCCAC2BDC2A4B3C2DAEAEA77C2AAC4B0BDB5EA78EA79CFDEEA7AEA7BEA7CDAEBC9C2EA7DEA7EEA80EA81EA82B1DDEA83EA84EA85DAECEA86B6B8D4BAEA87B3FDEA88EA89DAEDD4C9CFD5C5E3EA8ADAEEEA8BEA8CEA8DEA8EEA8FDAEFEA90DAF0C1EACCD5CFDDEA91EA92EA93EA94EA95EA96EA97EA98EA99EA9AEA9BEA9CEA9DD3E7C2A1EA9EDAF1EA9FEAA0CBE5EB40DAF2EB41CBE6D2FEEB42EB43EB44B8F4EB45EB46DAF3B0AFCFB6EB47EB48D5CFEB49EB4AEB4BEB4CEB4DEB4EEB4FEB50EB51EB52CBEDEB53EB54EB55EB56EB57EB58EB59EB5ADAF4EB5BEB5CE3C4EB5DEB5EC1A5EB5FEB60F6BFEB61EB62F6C0F6C1C4D1EB63C8B8D1E3EB64EB65D0DBD1C5BCAFB9CDEB66EFF4EB67EB68B4C6D3BAF6C2B3FBEB69EB6AF6C3EB6BEB6CB5F1EB6DEB6EEB6FEB70EB71EB72EB73EB74EB75EB76F6C5EB77EB78EB79EB7AEB7BEB7CEB7DD3EAF6A7D1A9EB7EEB80EB81EB82F6A9EB83EB84EB85F6A8EB86EB87C1E3C0D7EB88B1A2EB89EB8AEB8BEB8CCEEDEB8DD0E8F6ABEB8EEB8FCFF6EB90F6AAD5F0F6ACC3B9EB91EB92EB93BBF4F6AEF6ADEB94EB95EB96C4DEEB97EB98C1D8EB99EB9AEB9BEB9CEB9DCBAAEB9ECFBCEB9FEBA0EC40EC41EC42EC43EC44EC45EC46EC47EC48F6AFEC49EC4AF6B0EC4BEC4CF6B1EC4DC2B6EC4EEC4FEC50EC51EC52B0D4C5F9EC53EC54EC55EC56F6B2EC57EC58EC59EC5AEC5BEC5CEC5DEC5EEC5FEC60EC61EC62EC63EC64EC65EC66EC67EC68EC69C7E0F6A6EC6AEC6BBEB8EC6CEC6DBEB2EC6EB5E5EC6FEC70B7C7EC71BFBFC3D2C3E6EC72EC73D8CCEC74EC75EC76B8EFEC77EC78EC79EC7AEC7BEC7CEC7DEC7EEC80BDF9D1A5EC81B0D0EC82EC83EC84EC85EC86F7B0EC87EC88EC89EC8AEC8BEC8CEC8DEC8EF7B1EC8FEC90EC91EC92EC93D0ACEC94B0B0EC95EC96EC97F7B2F7B3EC98F7B4EC99EC9AEC9BC7CAEC9CEC9DEC9EEC9FECA0ED40ED41BECFED42ED43F7B7ED44ED45ED46ED47ED48ED49ED4AF7B6ED4BB1DEED4CF7B5ED4DED4EF7B8ED4FF7B9ED50ED51ED52ED53ED54ED55ED56ED57ED58ED59ED5AED5BED5CED5DED5EED5FED60ED61ED62ED63ED64ED65ED66ED67ED68ED69ED6AED6BED6CED6DED6EED6FED70ED71ED72ED73ED74ED75ED76ED77ED78ED79ED7AED7BED7CED7DED7EED80ED81CEA4C8CDED82BAABE8B8E8B9E8BABEC2ED83ED84ED85ED86ED87D2F4ED88D4CFC9D8ED89ED8AED8BED8CED8DED8EED8FED90ED91ED92ED93ED94ED95ED96ED97ED98ED99ED9AED9BED9CED9DED9EED9FEDA0EE40EE41EE42EE43EE44EE45EE46EE47EE48EE49EE4AEE4BEE4CEE4DEE4EEE4FEE50EE51EE52EE53EE54EE55EE56EE57EE58EE59EE5AEE5BEE5CEE5DEE5EEE5FEE60EE61EE62EE63EE64EE65EE66EE67EE68EE69EE6AEE6BEE6CEE6DEE6EEE6FEE70EE71EE72EE73EE74EE75EE76EE77EE78EE79EE7AEE7BEE7CEE7DEE7EEE80EE81EE82EE83EE84EE85EE86EE87EE88EE89EE8AEE8BEE8CEE8DEE8EEE8FEE90EE91EE92EE93EE94EE95EE96EE97EE98EE99EE9AEE9BEE9CEE9DEE9EEE9FEEA0EF40EF41EF42EF43EF44EF45D2B3B6A5C7EAF1FCCFEECBB3D0EBE7EFCDE7B9CBB6D9F1FDB0E4CBCCF1FED4A4C2ADC1ECC6C4BEB1F2A1BCD5EF46F2A2F2A3EF47F2A4D2C3C6B5EF48CDC7F2A5EF49D3B1BFC5CCE2EF4AF2A6F2A7D1D5B6EEF2A8F2A9B5DFF2AAF2ABEF4BB2FCF2ACF2ADC8A7EF4CEF4DEF4EEF4FEF50EF51EF52EF53EF54EF55EF56EF57EF58EF59EF5AEF5BEF5CEF5DEF5EEF5FEF60EF61EF62EF63EF64EF65EF66EF67EF68EF69EF6AEF6BEF6CEF6DEF6EEF6FEF70EF71B7E7EF72EF73ECA9ECAAECABEF74ECACEF75EF76C6AEECADECAEEF77EF78EF79B7C9CAB3EF7AEF7BEF7CEF7DEF7EEF80EF81E2B8F7CFEF82EF83EF84EF85EF86EF87EF88EF89EF8AEF8BEF8CEF8DEF8EEF8FEF90EF91EF92EF93EF94EF95EF96EF97EF98EF99EF9AEF9BEF9CEF9DEF9EEF9FEFA0F040F041F042F043F044F7D0F045F046B2CDF047F048F049F04AF04BF04CF04DF04EF04FF050F051F052F053F054F055F056F057F058F059F05AF05BF05CF05DF05EF05FF060F061F062F063F7D1F064F065F066F067F068F069F06AF06BF06CF06DF06EF06FF070F071F072F073F074F075F076F077F078F079F07AF07BF07CF07DF07EF080F081F082F083F084F085F086F087F088F089F7D3F7D2F08AF08BF08CF08DF08EF08FF090F091F092F093F094F095F096E2BBF097BCA2F098E2BCE2BDE2BEE2BFE2C0E2C1B7B9D2FBBDA4CACEB1A5CBC7F099E2C2B6FCC8C4E2C3F09AF09BBDC8F09CB1FDE2C4F09DB6F6E2C5C4D9F09EF09FE2C6CFDAB9DDE2C7C0A1F0A0E2C8B2F6F140E2C9F141C1F3E2CAE2CBC2F8E2CCE2CDE2CECAD7D8B8D9E5CFE3F142F143F144F145F146F147F148F149F14AF14BF14CF0A5F14DF14EDCB0F14FF150F151F152F153F154F155F156F157F158F159F15AF15BF15CF15DF15EF15FF160F161F162F163F164F165F166F167F168F169F16AF16BF16CF16DF16EF16FF170F171F172F173F174F175F176F177F178F179F17AF17BF17CF17DF17EF180F181F182F183F184F185F186F187F188F189F18AF18BF18CF18DF18EF18FF190F191F192F193F194F195F196F197F198F199F19AF19BF19CF19DF19EF19FF1A0F240F241F242F243F244F245F246F247F248F249F24AF24BF24CF24DF24EF24FF250F251F252F253F254F255F256F257F258F259F25AF25BF25CF25DF25EF25FF260F261F262F263F264F265F266F267F268F269F26AF26BF26CF26DF26EF26FF270F271F272F273F274F275F276F277F278F279F27AF27BF27CF27DF27EF280F281F282F283F284F285F286F287F288F289F28AF28BF28CF28DF28EF28FF290F291F292F293F294F295F296F297F298F299F29AF29BF29CF29DF29EF29FF2A0F340F341F342F343F344F345F346F347F348F349F34AF34BF34CF34DF34EF34FF350F351C2EDD4A6CDD4D1B1B3DBC7FDF352B2B5C2BFE6E0CABBE6E1E6E2BED4E6E3D7A4CDD5E6E5BCDDE6E4E6E6E6E7C2EEF353BDBEE6E8C2E6BAA7E6E9F354E6EAB3D2D1E9F355F356BFA5E6EBC6EFE6ECE6EDF357F358E6EEC6ADE6EFF359C9A7E6F0E6F1E6F2E5B9E6F3E6F4C2E2E6F5E6F6D6E8E6F7F35AE6F8B9C7F35BF35CF35DF35EF35FF360F361F7BBF7BAF362F363F364F365F7BEF7BCBAA1F366F7BFF367F7C0F368F369F36AF7C2F7C1F7C4F36BF36CF7C3F36DF36EF36FF370F371F7C5F7C6F372F373F374F375F7C7F376CBE8F377F378F379F37AB8DFF37BF37CF37DF37EF380F381F7D4F382F7D5F383F384F385F386F7D6F387F388F389F38AF7D8F38BF7DAF38CF7D7F38DF38EF38FF390F391F392F393F394F395F7DBF396F7D9F397F398F399F39AF39BF39CF39DD7D7F39EF39FF3A0F440F7DCF441F442F443F444F445F446F7DDF447F448F449F7DEF44AF44BF44CF44DF44EF44FF450F451F452F453F454F7DFF455F456F457F7E0F458F459F45AF45BF45CF45DF45EF45FF460F461F462DBCBF463F464D8AAF465F466F467F468F469F46AF46BF46CE5F7B9EDF46DF46EF46FF470BFFDBBEAF7C9C6C7F7C8F471F7CAF7CCF7CBF472F473F474F7CDF475CEBAF476F7CEF477F478C4A7F479F47AF47BF47CF47DF47EF480F481F482F483F484F485F486F487F488F489F48AF48BF48CF48DF48EF48FF490F491F492F493F494F495F496F497F498F499F49AF49BF49CF49DF49EF49FF4A0F540F541F542F543F544F545F546F547F548F549F54AF54BF54CF54DF54EF54FF550F551F552F553F554F555F556F557F558F559F55AF55BF55CF55DF55EF55FF560F561F562F563F564F565F566F567F568F569F56AF56BF56CF56DF56EF56FF570F571F572F573F574F575F576F577F578F579F57AF57BF57CF57DF57EF580F581F582F583F584F585F586F587F588F589F58AF58BF58CF58DF58EF58FF590F591F592F593F594F595F596F597F598F599F59AF59BF59CF59DF59EF59FF5A0F640F641F642F643F644F645F646F647F648F649F64AF64BF64CF64DF64EF64FF650F651F652F653F654F655F656F657F658F659F65AF65BF65CF65DF65EF65FF660F661F662F663F664F665F666F667F668F669F66AF66BF66CF66DF66EF66FF670F671F672F673F674F675F676F677F678F679F67AF67BF67CF67DF67EF680F681F682F683F684F685F686F687F688F689F68AF68BF68CF68DF68EF68FF690F691F692F693F694F695F696F697F698F699F69AF69BF69CF69DF69EF69FF6A0F740F741F742F743F744F745F746F747F748F749F74AF74BF74CF74DF74EF74FF750F751F752F753F754F755F756F757F758F759F75AF75BF75CF75DF75EF75FF760F761F762F763F764F765F766F767F768F769F76AF76BF76CF76DF76EF76FF770F771F772F773F774F775F776F777F778F779F77AF77BF77CF77DF77EF780D3E3F781F782F6CFF783C2B3F6D0F784F785F6D1F6D2F6D3F6D4F786F787F6D6F788B1ABF6D7F789F6D8F6D9F6DAF78AF6DBF6DCF78BF78CF78DF78EF6DDF6DECFCAF78FF6DFF6E0F6E1F6E2F6E3F6E4C0F0F6E5F6E6F6E7F6E8F6E9F790F6EAF791F6EBF6ECF792F6EDF6EEF6EFF6F0F6F1F6F2F6F3F6F4BEA8F793F6F5F6F6F6F7F6F8F794F795F796F797F798C8FAF6F9F6FAF6FBF6FCF799F79AF6FDF6FEF7A1F7A2F7A3F7A4F7A5F79BF79CF7A6F7A7F7A8B1EEF7A9F7AAF7ABF79DF79EF7ACF7ADC1DBF7AEF79FF7A0F7AFF840F841F842F843F844F845F846F847F848F849F84AF84BF84CF84DF84EF84FF850F851F852F853F854F855F856F857F858F859F85AF85BF85CF85DF85EF85FF860F861F862F863F864F865F866F867F868F869F86AF86BF86CF86DF86EF86FF870F871F872F873F874F875F876F877F878F879F87AF87BF87CF87DF87EF880F881F882F883F884F885F886F887F888F889F88AF88BF88CF88DF88EF88FF890F891F892F893F894F895F896F897F898F899F89AF89BF89CF89DF89EF89FF8A0F940F941F942F943F944F945F946F947F948F949F94AF94BF94CF94DF94EF94FF950F951F952F953F954F955F956F957F958F959F95AF95BF95CF95DF95EF95FF960F961F962F963F964F965F966F967F968F969F96AF96BF96CF96DF96EF96FF970F971F972F973F974F975F976F977F978F979F97AF97BF97CF97DF97EF980F981F982F983F984F985F986F987F988F989F98AF98BF98CF98DF98EF98FF990F991F992F993F994F995F996F997F998F999F99AF99BF99CF99DF99EF99FF9A0FA40FA41FA42FA43FA44FA45FA46FA47FA48FA49FA4AFA4BFA4CFA4DFA4EFA4FFA50FA51FA52FA53FA54FA55FA56FA57FA58FA59FA5AFA5BFA5CFA5DFA5EFA5FFA60FA61FA62FA63FA64FA65FA66FA67FA68FA69FA6AFA6BFA6CFA6DFA6EFA6FFA70FA71FA72FA73FA74FA75FA76FA77FA78FA79FA7AFA7BFA7CFA7DFA7EFA80FA81FA82FA83FA84FA85FA86FA87FA88FA89FA8AFA8BFA8CFA8DFA8EFA8FFA90FA91FA92FA93FA94FA95FA96FA97FA98FA99FA9AFA9BFA9CFA9DFA9EFA9FFAA0FB40FB41FB42FB43FB44FB45FB46FB47FB48FB49FB4AFB4BFB4CFB4DFB4EFB4FFB50FB51FB52FB53FB54FB55FB56FB57FB58FB59FB5AFB5BC4F1F0AFBCA6F0B0C3F9FB5CC5B8D1BBFB5DF0B1F0B2F0B3F0B4F0B5D1BCFB5ED1ECFB5FF0B7F0B6D4A7FB60CDD2F0B8F0BAF0B9F0BBF0BCFB61FB62B8EBF0BDBAE8FB63F0BEF0BFBEE9F0C0B6ECF0C1F0C2F0C3F0C4C8B5F0C5F0C6FB64F0C7C5F4FB65F0C8FB66FB67FB68F0C9FB69F0CAF7BDFB6AF0CBF0CCF0CDFB6BF0CEFB6CFB6DFB6EFB6FF0CFBAD7FB70F0D0F0D1F0D2F0D3F0D4F0D5F0D6F0D8FB71FB72D3A5F0D7FB73F0D9FB74FB75FB76FB77FB78FB79FB7AFB7BFB7CFB7DF5BAC2B9FB7EFB80F7E4FB81FB82FB83FB84F7E5F7E6FB85FB86F7E7FB87FB88FB89FB8AFB8BFB8CF7E8C2B4FB8DFB8EFB8FFB90FB91FB92FB93FB94FB95F7EAFB96F7EBFB97FB98FB99FB9AFB9BFB9CC2F3FB9DFB9EFB9FFBA0FC40FC41FC42FC43FC44FC45FC46FC47FC48F4F0FC49FC4AFC4BF4EFFC4CFC4DC2E9FC4EF7E1F7E2FC4FFC50FC51FC52FC53BBC6FC54FC55FC56FC57D9E4FC58FC59FC5ACAF2C0E8F0A4FC5BBADAFC5CFC5DC7ADFC5EFC5FFC60C4ACFC61FC62F7ECF7EDF7EEFC63F7F0F7EFFC64F7F1FC65FC66F7F4FC67F7F3FC68F7F2F7F5FC69FC6AFC6BFC6CF7F6FC6DFC6EFC6FFC70FC71FC72FC73FC74FC75EDE9FC76EDEAEDEBFC77F6BCFC78FC79FC7AFC7BFC7CFC7DFC7EFC80FC81FC82FC83FC84F6BDFC85F6BEB6A6FC86D8BEFC87FC88B9C4FC89FC8AFC8BD8BBFC8CDCB1FC8DFC8EFC8FFC90FC91FC92CAF3FC93F7F7FC94FC95FC96FC97FC98FC99FC9AFC9BFC9CF7F8FC9DFC9EF7F9FC9FFCA0FD40FD41FD42FD43FD44F7FBFD45F7FAFD46B1C7FD47F7FCF7FDFD48FD49FD4AFD4BFD4CF7FEFD4DFD4EFD4FFD50FD51FD52FD53FD54FD55FD56FD57C6EBECB4FD58FD59FD5AFD5BFD5CFD5DFD5EFD5FFD60FD61FD62FD63FD64FD65FD66FD67FD68FD69FD6AFD6BFD6CFD6DFD6EFD6FFD70FD71FD72FD73FD74FD75FD76FD77FD78FD79FD7AFD7BFD7CFD7DFD7EFD80FD81FD82FD83FD84FD85B3DDF6B3FD86FD87F6B4C1E4F6B5F6B6F6B7F6B8F6B9F6BAC8A3F6BBFD88FD89FD8AFD8BFD8CFD8DFD8EFD8FFD90FD91FD92FD93C1FAB9A8EDE8FD94FD95FD96B9EAD9DFFD97FD98FD99FD9AFD9";encodeToGb2312(D){for(var C="",E=0;E<D.length;E++){var F=D.charAt(E),A=D.charCodeAt(E);if(F==" ")C+="+";else if(A>=19968&&A<=40869){let e=A-19968;C+="%"+this.z.substr(e*4,2)+"%"+this.z.substr(e*4+2,2)}else C+="%"+D.charCodeAt(E).toString(16)}return C}decodeFromGb2312(D){for(var C="",E=0;E<D.length;E++){var F=D.charAt(E);if(F=="+")C+=" ";else if(F!="%")C+=F;else{E++;var A=D.charAt(E);if(isNaN(parseInt(A)))try{var e=D.substr(E,2)+D.substr(E+3,2);E=E+4;for(var i=-1;(i=this.z.indexOf(e,i+1))!=-1;)if(i%4==0){C+=String.fromCharCode(i/4+19968);break}}catch{}else{E++;try{C+=decodeURIComponent(F+A+D.charAt(E))}catch{console.log("decodeURIComponent error"),console.log(F+A+D.charAt(E))}}}}return C}}let h=new MD;const xD=new FinalizationRegistry(B=>{t.MxCpp.App.DestroyObject(B)});function V(B=null){let D;return B==null?D=new t.MxCpp.mxcadassemblyimp.McDrawResbuf:D=B.getImp(),D}const PD={};t.McDb=void 0,(B=>{(D=>{D[D.kTextLeft=0]="kTextLeft",D[D.kTextCenter=1]="kTextCenter",D[D.kTextRight=2]="kTextRight",D[D.kTextAlign=3]="kTextAlign",D[D.kTextMid=4]="kTextMid",D[D.kTextFit=5]="kTextFit"})(B.TextHorzMode||(B.TextHorzMode={})),(D=>{D[D.kTextBase=0]="kTextBase",D[D.kTextBottom=1]="kTextBottom",D[D.kTextVertMid=2]="kTextVertMid",D[D.kTextTop=3]="kTextTop"})(B.TextVertMode||(B.TextVertMode={})),(D=>{D[D.kTopLeft=1]="kTopLeft",D[D.kTopCenter=2]="kTopCenter",D[D.kTopRight=3]="kTopRight",D[D.kMiddleLeft=4]="kMiddleLeft",D[D.kMiddleCenter=5]="kMiddleCenter",D[D.kMiddleRight=6]="kMiddleRight",D[D.kBottomLeft=7]="kBottomLeft",D[D.kBottomCenter=8]="kBottomCenter",D[D.kBottomRight=9]="kBottomRight",D[D.kBaseLeft=10]="kBaseLeft",D[D.kBaseCenter=11]="kBaseCenter",D[D.kBaseRight=12]="kBaseRight",D[D.kBaseAlign=13]="kBaseAlign",D[D.kBottomAlign=14]="kBottomAlign",D[D.kMiddleAlign=15]="kMiddleAlign",D[D.kTopAlign=16]="kTopAlign",D[D.kBaseFit=17]="kBaseFit",D[D.kBottomFit=18]="kBottomFit",D[D.kMiddleFit=19]="kMiddleFit",D[D.kTopFit=20]="kTopFit",D[D.kBaseMid=21]="kBaseMid",D[D.kBottomMid=22]="kBottomMid",D[D.kMiddleMid=23]="kMiddleMid",D[D.kTopMid=24]="kTopMid"})(B.AttachmentPoint||(B.AttachmentPoint={})),(D=>{D[D.kLnWt000=0]="kLnWt000",D[D.kLnWt005=5]="kLnWt005",D[D.kLnWt009=9]="kLnWt009",D[D.kLnWt013=13]="kLnWt013",D[D.kLnWt015=15]="kLnWt015",D[D.kLnWt018=18]="kLnWt018",D[D.kLnWt020=20]="kLnWt020",D[D.kLnWt025=25]="kLnWt025",D[D.kLnWt030=30]="kLnWt030",D[D.kLnWt035=35]="kLnWt035",D[D.kLnWt040=40]="kLnWt040",D[D.kLnWt050=50]="kLnWt050",D[D.kLnWt053=53]="kLnWt053",D[D.kLnWt060=60]="kLnWt060",D[D.kLnWt070=70]="kLnWt070",D[D.kLnWt080=80]="kLnWt080",D[D.kLnWt090=90]="kLnWt090",D[D.kLnWt100=100]="kLnWt100",D[D.kLnWt106=106]="kLnWt106",D[D.kLnWt120=120]="kLnWt120",D[D.kLnWt140=140]="kLnWt140",D[D.kLnWt158=158]="kLnWt158",D[D.kLnWt200=200]="kLnWt200",D[D.kLnWt211=211]="kLnWt211",D[D.kLnWtByLayer=-1]="kLnWtByLayer",D[D.kLnWtByBlock=-2]="kLnWtByBlock",D[D.kLnWtByLwDefault=-3]="kLnWtByLwDefault"})(B.LineWeight||(B.LineWeight={}))})(t.McDb||(t.McDb={}));class P{imp=0;constructor(D){this.imp=D,this.imp&&xD.register(this,D,PD)}getImp(){return this.imp}initTempObject(D){this.imp=D}get ObjectName(){return this.imp.getObjectName()}get Dxf0(){return this.imp.getDxf0()}getJson(){let D=this.imp.getJson();return h.decodeFromGb2312(D)}setJson(D){let C=h.encodeToGb2312(D);return this.imp.setJson(C)}}class T extends P{constructor(D){super(D)}getObjectID(){return this.imp.getObjectID()}Erase(){return this.imp.Erase()}Clone(){let D=this.imp.Clone();return t.MxCpp.App.CreateCloneObject(D)}}class Y extends T{constructor(D){super(D)}}class TD extends T{constructor(D){super(D)}}class kD extends T{constructor(D){super(D)}}class k extends T{constructor(D){super(D)}explode(){let D=this.imp.explode();return new DD(D)}}class j extends k{constructor(D){super(D)}getStartParam(){return{val:this.imp.getStartParam(),ret:t.MxCpp.getCallResult()}}getEndParam(){return{val:this.imp.getEndParam(),ret:t.MxCpp.getCallResult()}}getDistAtParam(D){return{val:this.imp.getDistAtParam(D),ret:t.MxCpp.getCallResult()}}getParamAtDist(D){return{val:this.imp.getParamAtDist(D),ret:t.MxCpp.getCallResult()}}getDistAtPoint(D){return{val:this.imp.getDistAtPoint(D),ret:t.MxCpp.getCallResult()}}getPointAtDist(D){return{val:this.imp.getPointAtDist(D),ret:t.MxCpp.getCallResult()}}}class Q extends P{constructor(D){super(D)}GetLayerTable(){return new Y(this.imp.GetLayerTable())}GetLinetypeTable(){return new TD(this.imp.GetLinetypeTable())}GetTextStyleTable(){return new kD(this.imp.GetTextStyleTable())}GetBlockTable(){return new ED(this.imp.GetBlockTable())}CurrentSpace(){return new W(this.imp.CurrentSpace())}GetCurrentlyLineTypeScale(){return this.imp.GetCurrentlyLineTypeScale()}SetCurrentlyLineTypeScale(D){return this.imp.SetCurrentlyLineTypeScale(D)}GetCurrentlyLineTypeName(){let D=this.imp.GetCurrentlyLineTypeName();return h.decodeFromGb2312(D)}SetCurrentlyLineTypeName(D){let C=h.encodeToGb2312(D);this.imp.SetCurrentlyLineTypeName(C)}GetCurrentlyLayerName(){let D=this.imp.GetCurrentlyLayerName();return h.decodeFromGb2312(D)}SetCurrentlyLayerName(D){let C=h.encodeToGb2312(D);this.imp.SetCurrentlyLayerName(C)}GetCurrentlyTrueColor(){return this.imp.GetCurrentlyTrueColor()}SetCurrentlyTrueColor(D){return this.imp.SetCurrentlyTrueColor(D)}GetCurrentlyColorIndex(){return this.imp.GetCurrentlyColorIndex()}SetCurrentlyColorIndex(D){return this.imp.SetCurrentlyColorIndex(D)}GetCurrentlyTextStyleName(){let D=this.imp.GetCurrentlyTextStyleName();return h.decodeFromGb2312(D)}SetCurrentlyTextStyle(D){let C=h.encodeToGb2312(D);this.imp.SetCurrentlyTextStyle(C)}}class R{imp;mxObject;static currentFileName;constructor(D){this.imp=D}initMxObject(D){this.mxObject=D}getImp(){return this.imp}getMxCppImp(){return t.MxCpp.mxcadassemblyimp}updateDisplay(D,C){this.imp.updateDisplay(D,C)}test(){this.imp.test()}openWebFile(D,C,E=!0){let F=Math.round(Math.random()*1e7);if(C){let A=this,e=(i,s)=>{A.mxObject.removeEventFuction("openFileComplete",e),F==s&&C(i)};A.mxObject.addEvent("openFileComplete",e)}return R.currentFileName=D.split("/").pop(),this.imp.openWebFile(D,E,F)}getCurrentFileName(){return R.currentFileName}saveFileToUrl(D){return this.imp.saveFileToUrl(D)}saveFile(D,C,E=!0,F=!0){D||(D=this.getCurrentFileName());const A=window;return A.mx_saveFile_call=e=>{if(console.log(D),C&&C(e),!!e){if(E){let i;/^((?!chrome|android).)*safari/i.test(navigator.userAgent)?i=new Blob([e.buffer],{type:"application/octet-stream"}):i=new Blob([e.buffer],{type:"application/octet-binary"}),F?v.saveAsFileDialog({blob:i,filename:D,types:[{description:"mxweb File",accept:{"application/octet-stream":[".mxweb"]}}]}):v.downloadFile(i,D)}A.mx_saveFile_call=null}},this.imp.saveFile(D)}GetDatabase(){return new Q(this.imp.GetDatabase())}GetSysVarString(D){return this.imp.GetSysVarString(D)}SetSysVarString(D,C){return this.imp.SetSysVarString(D,C)}GetSysVarDouble(D){return this.imp.GetSysVarDouble(D)}SetSysVarDouble(D,C){return this.imp.SetSysVarDouble(D,C)}GetSysVarLong(D){return this.imp.GetSysVarLong(D)}SetSysVarLong(D,C){return this.imp.SetSysVarLong(D,C)}get DrawColor(){return this.imp.GetDrawColor()}set DrawColor(D){this.imp.SetDrawColor(D)}get DrawLineWeight(){return this.imp.GetDrawLineWeight()}set DrawLineWeight(D){this.imp.SetDrawLineWeight(D)}get DrawLineTypeScale(){return this.imp.GetDrawLineTypeScale()}set DrawLineTypeScale(D){this.imp.SetDrawLineTypeScale(D)}get DrawLinetype(){return this.imp.GetDrawLinetype()}set DrawLinetype(D){this.imp.SetDrawLinetype(D)}get DrawTextStyle(){return this.imp.GetDrawTextStyle()}set DrawTextStyle(D){this.imp.SetDrawTextStyle(D)}get DrawLayer(){return this.imp.GetDrawLayer()}set DrawLayer(D){this.imp.SetDrawLayer(D)}AddLayer(D){this.imp.AddLayer(D)}AddTextStyle(D,C,E,F){this.imp.AddTextStyle(D,C,E,F)}AddLinetype(D,C){this.imp.AddLinetype(D,C)}AddLinetypeEx(D,C,E){this.imp.AddLinetypeEx(D,C,E)}DrawLine(D,C,E,F,A,e){return this.imp.DrawLine(D,C,E,F,A,e)}AddDimStyle(D,C,E,F,A){return this.imp.AddDimStyle(D,C,E,F,A)}get DrawDimStyle(){return this.imp.GetDrawDimStyle()}set DrawDimStyle(D){this.imp.SetDrawDimStyle(D)}get DrawPatternDefinition(){return this.imp.GetPatternDefinition()}set DrawPatternDefinition(D){this.imp.SetPatternDefinition(D)}get DrawLineWidth(){return this.imp.GetDrawLineWidth()}set DrawLineWidth(D){this.imp.SetDrawLineWidth(D)}DrawArc(D,C,E,F,A){return this.imp.DrawArc(D,C,E,F,A)}DrawArc2(D,C,E,F,A,e){return this.imp.DrawArc2(D,C,E,F,A,e)}DrawCircle(D,C,E){return this.imp.DrawCircle(D,C,E)}DrawEllipse(D,C,E,F,A){return this.imp.DrawEllipse(D,C,E,F,A)}DrawEllipseArc(D,C,E,F,A,e,i){return this.imp.DrawEllipseArc(D,C,E,F,A,e,i)}DrawPoint(D,C){return this.imp.DrawPoint(D,C)}DrawSolid(D,C,E,F,A,e,i,s){return this.imp.DrawSolid(D,C,E,F,A,e,i,s)}DrawMText(D,C,E,F,A,e,i){return this.imp.DrawMText(D,C,E,F,A,e,i)}DrawText(D,C,E,F,A,e,i){return this.imp.DrawTextDrawText(D,C,E,F,A,e,i)}DrawBlockReference(D,C,E,F,A){return this.imp.DrawBlockReference(D,C,E,F,A)}DrawDimAligned(D,C,E,F,A,e){return this.imp.DrawDimAligned(D,C,E,F,A,e)}DrawDimAngular(D,C,E,F,A,e,i,s){return this.imp.DrawDimAngular(D,C,E,F,A,e,i,s)}DrawDimDiametric(D,C,E,F,A){return this.imp.DrawDimDiametric(D,C,E,F,A)}DrawDimRotated(D,C,E,F,A,e,i){return this.imp.DrawDimRotated(D,C,E,F,A,e,i)}DrawDimOrdinate(D,C,E,F,A){return this.imp.DrawDimOrdinate(D,C,E,F,A)}DrawDimRadial(D,C,E,F,A){return this.imp.DrawDimRadial(D,C,E,F,A)}PathMoveTo(D,C){this.imp.PathMoveTo(D,C)}PathMoveToEx(D,C,E,F,A){this.imp.PathMoveToEx(D,C,E,F,A)}PathLineTo(D,C){this.imp.PathLineTo(D,C)}PathLineToEx(D,C,E,F,A){this.imp.PathLineToEx(D,C,E,F,A)}DrawPathToPolyline(){return this.imp.DrawPathToPolyline()}DrawPathToSpline(){return this.imp.DrawPathToSpline()}PathMakeClosed(){this.imp.PathMakeClosed()}DrawPathToHatch(D){return this.imp.DrawPathToHatch(D)}DrawEntity(D){return this.imp.DrawEntity(D.getImp())}ObjectIdToObject(D){return t.MxCpp.App.ObjectIdToObject(D)}CloneMcDbObject(D){let C=this.imp.CloneMcDbObject(D);return t.MxCpp.App.CreateCloneObject(C)}ObjectIdToMdObjectImp(D){return t.MxCpp.App.getImp().ObjectIdToMdObject(D)}DestroyObject(D){!D||t.MxCpp.App.getImp().DestroyObject(D)}}class RD{imp;init(D){this.imp=D}getImp(){return this.imp}getLastCallResult(){return this.imp.getLastCallResult()}CreateMxCAD(D,C,E,F,A){let e=this.imp.CreateMxDraw(D,C,E,F,A);return new R(e)}DestroyObject(D){this.imp.DestroyObject(D)}GetCurrentMxCAD(){return new R(this.imp.GetCurrentMxDraw())}mcedRGB2Index(D,C,E,F=!0){return this.imp.mcedRGB2Index(D,C,E,F)}ObjectIdToObject(D){if(!D)return null;let C=this.imp.ObjectIdToObjectName(D);if(C=="McDbLine"){let E=this.imp.ObjectIdToMdDbLine(D);return new U(E)}else if(C=="McDbText"){let E=this.imp.ObjectIdToMdDbText(D);return new G(E)}else if(C=="McDbPolyline"){let E=this.imp.ObjectIdToMdDbPolyline(D);return new Z(E)}else if(C=="McDbCircle"){let E=this.imp.ObjectIdToMdDbCircle(D);return new N(E)}else if(C=="McDbBlockReference"){let E=this.imp.ObjectIdToMdDbBlockReference(D);return new vD(E)}else if(C=="McDbAlignedDimension"){let E=this.imp.ObjectIdToMdDbAlignedDimension(D);return new SD(E)}else if(C=="McDbRotatedDimension"){let E=this.imp.ObjectIdToMdDbRotatedDimension(D);return new UD(E)}else if(C=="McDbMText"){let E=this.imp.ObjectIdToMdDbMText(D);return new cD(E)}return console.log("Mx ObjectIdToObject error type:"+C),null}CreateCloneObject(D){let C=D.getObjectName();if(C=="McDbLine"){let E=new U;return E.getImp().ConnectionTempObject(D),t.MxCpp.App.DestroyObject(D),E}else if(C=="McDbText"){let E=new G;return E.getImp().ConnectionTempObject(D),t.MxCpp.App.DestroyObject(D),E}return console.log("Mx: Clone error type"),new T(D)}}class LD{mxcadassemblyimp;App=new RD;NewMcCmColor(){return new this.mxcadassemblyimp.MdCmColor}getCallResult(){return this.App.getLastCallResult()}NewMcGePoint3d(D,C){if(C&&D&&D.x&&D.y){let F=D.z||0;D=r.MxFun.getCurrentDraw().docCoord2Cad(D.x,D.y,F)}let E=new this.mxcadassemblyimp.MdGePoint3d;return D&&D.x&&D.y&&(E.x=D.x,E.y=D.y,D.z&&(E.y=D.z)),E}NewMcGePoint3d2(D,C,E){let F=new this.mxcadassemblyimp.MdGePoint3d;return F.x=D,F.y=C,E&&(F.y=E),F}}class U extends j{constructor(D){super(D),D||this.initTempObject(new t.MxCpp.mxcadassemblyimp.MdDbLine)}get startPoint(){return this.imp.startPoint()}set startPoint(D){this.imp.setStartPoint(D)}get endPoint(){return this.imp.endPoint()}set endPoint(D){this.imp.setEndPoint(D)}}class G extends k{constructor(D){super(D),D||this.initTempObject(new t.MxCpp.mxcadassemblyimp.MdDbText)}get position(){return this.imp.position()}set position(D){this.imp.setPosition(D)}get alignmentPoint(){return this.imp.position()}set alignmentPoint(D){this.imp.setAlignmentPoint(D)}get oblique(){return this.imp.oblique()}set oblique(D){this.imp.setOblique(D)}get rotation(){return this.imp.rotation()}set rotation(D){this.imp.setRotation(D)}get height(){return this.imp.height()}set height(D){this.imp.setHeight(D)}get widthFactor(){return this.imp.widthFactor()}set widthFactor(D){this.imp.setWidthFactor(D)}get textString(){return h.decodeFromGb2312(this.imp.textString())}set textString(D){this.imp.setTextString(h.encodeToGb2312(D))}get horizontalMode(){return this.imp.horizontalMode()}set horizontalMode(D){this.imp.setHorizontalMode(D)}get verticalMode(){return this.imp.verticalMode()}set verticalMode(D){this.imp.setVerticalMode(D)}}class cD extends k{constructor(D){super(D),D||this.initTempObject(new t.MxCpp.mxcadassemblyimp.MdDbMText)}get location(){return this.imp.location()}set location(D){this.imp.setLocation(D)}get rotation(){return this.imp.rotation()}set rotation(D){this.imp.setRotation(D)}get width(){return this.imp.width()}set width(D){this.imp.setWidth(D)}get textHeight(){return this.imp.textHeight()}set textHeight(D){this.imp.setTextHeight(D)}get attachment(){return this.imp.attachment()}set attachment(D){this.imp.setAttachment(D)}get contents(){return h.decodeFromGb2312(this.imp.contents())}set contents(D){this.imp.setContents(h.encodeToGb2312(D))}}class N extends j{constructor(D){super(D),D||this.initTempObject(new t.MxCpp.mxcadassemblyimp.MdDbCircle)}setCenter(D,C,E){this.imp.setCenter(D,C,E)}get center(){return this.imp.center()}set center(D){this.imp.setCenter(D)}get radius(){return this.imp.radius()}set radius(D){this.imp.setRadius(D)}}class Z extends j{constructor(D){super(D),D||this.initTempObject(new t.MxCpp.mxcadassemblyimp.MdDbPolyline)}get isClosed(){return this.imp.isClosed()}set isClosed(D){this.imp.setClosed(D)}get constantWidth(){return this.imp.getConstantWidth()}set constantWidth(D){this.imp.setConstantWidth(D)}addVertexAt(D,C,E,F,A){return this.imp.addVertexAt(D,C,E,F,A)}removeVertexAt(D){return this.imp.removeVertexAt(D)}numVerts(){return this.imp.numVerts()}getPointAt(D){return{val:this.imp.getPointAt(D),ret:t.MxCpp.getCallResult()}}getBulgeAt(D){return this.imp.getBulgeAt(D)}getWidthsAt(D){return{val1:this.imp.getStartWidthsAt(D),val2:this.imp.getEndWidthsAt(D),ret:t.MxCpp.getCallResult()}}setPointAt(D,C){return this.imp.setPointAt(D,C)}setBulgeAt(D,C){return this.imp.setBulgeAt(D,C)}}class vD extends k{constructor(D){super(D),D||this.initTempObject(new t.MxCpp.mxcadassemblyimp.MdDbBlockReference)}get blockTableRecordId(){return new b(this.imp.blockTableRecord(),I.kMxCAD)}set blockTableRecordId(D){this.imp.setBlockTableRecordId(D.id)}get position(){return this.imp.position()}set position(D){this.imp.setPosition(D)}get scaleFactors(){return this.imp.scaleFactors()}set scaleFactors(D){this.imp.setScaleFactors(D)}get rotation(){return this.imp.rotation()}set rotation(D){this.imp.setRotation(D)}get blockTransform(){return this.imp.blockTransform()}set blockTransform(D){this.imp.setBlockTransform(D)}}class dD extends k{constructor(D){super(D)}get textPosition(){return this.imp.textPosition()}set textPosition(D){this.imp.setTextPosition(D)}isUsingDefaultTextPosition(){return this.imp.isUsingDefaultTextPosition()}useSetTextPosition(){return this.imp.useSetTextPosition()}useDefaultTextPosition(){return this.imp.useDefaultTextPosition()}get elevation(){return this.imp.elevation()}set elevation(D){this.imp.setElevation(D)}get dimensionText(){return this.imp.dimensionText()}set dimensionText(D){this.imp.setDimensionText(D)}get textRotation(){return this.imp.textRotation()}set textRotation(D){this.imp.setTextRotation(D)}get dimensionStyle(){return new b(this.imp.dimensionStyle(),I.kMxCAD)}set dimensionStyle(D){this.imp.setDimensionStyle(D.id)}get textAttachment(){return this.imp.textAttachment()}set textAttachment(D){this.imp.setTextAttachment(D)}get horizontalRotation(){return this.imp.horizontalRotation()}set horizontalRotation(D){this.imp.setHorizontalRotation(D)}recomputeDimBlock(){this.imp.recomputeDimBlock(!0)}getDimVarInt(D){return this.imp.GetDimVarInt(D)}setDimVarInt(D,C){this.imp.SetDimVarInt(D,C)}getDimVarDouble(D){return this.imp.GetDimVarDouble(D)}setDimVarDouble(D,C){this.imp.SetDimVarDouble(D,C)}getDimVarString(D){return this.imp.GetDimVarString(D)}setDimVarString(D,C){this.imp.SetDimVarString(D,C)}getDimVarObjectId(D){return new b(this.imp.GetDimVarObjectId(D),I.kMxCAD)}setDimVarObjectId(D,C){this.imp.SetDimVarObjectId(D,C.id)}}class SD extends dD{constructor(D){super(D),D||this.initTempObject(new t.MxCpp.mxcadassemblyimp.MdDbAlignedDimension)}get xLine1Point(){return this.imp.xLine1Point()}set xLine1Point(D){this.imp.setXLine1Point(D)}get xLine2Point(){return this.imp.xLine2Point()}set xLine2Point(D){this.imp.setXLine2Point(D)}get dimLinePoint(){return this.imp.dimLinePoint()}set dimLinePoint(D){this.imp.setDimLinePoint(D)}get oblique(){return this.imp.oblique()}set oblique(D){this.imp.setOblique(D)}}class DD extends P{constructor(D){super(D),D||this.initTempObject(new t.MxCpp.mxcadassemblyimp.McDrawResbuf)}Clear(){this.imp.Clear()}GetCount(){return this.imp.GetCount()}AtDouble(D){return{val:this.imp.AtDouble(D),ret:t.MxCpp.getCallResult()}}Atlong(D){return{val:this.imp.Atlong(D),ret:t.MxCpp.getCallResult()}}AtObject(D){if(this.imp.AtObjectName(D)=="McDbMText"){let E=this.imp.AtObjectMdDbMText(D);if(E)return{val:new cD(E),ret:t.MxCpp.getCallResult()}}return{val:void 0,ret:-1}}AddObject(D){this.imp.AddObject(D.getImp())}AtObjectId(D){return{val:new b(this.imp.AtObjectId(D),I.kMxCAD),ret:t.MxCpp.getCallResult()}}AtString(D){return{val:h.decodeFromGb2312(this.imp.AtString(D)),ret:t.MxCpp.getCallResult()}}AtPoint(D){return{val:this.imp.AtPoint(D),ret:t.MxCpp.getCallResult()}}ItemDataType(){return this.imp.ItemDataType()}AddDouble(D,C=-10){return this.imp.AddDouble(D,C)}Addlong(D,C=-10){return this.imp.Addlong(D,C)}AddObjectId(D,C=-10){return this.imp.AddObjectId(D,C)}AddString(D,C=-10){return this.imp.AddString(D,C)}AddPoint(D,C=-10){return this.imp.AddPoint(D,C)}RemoveAll(){this.imp.RemoveAll()}Remove(D){this.imp.Remove(D)}}var I=(B=>(B[B.kMxCAD=0]="kMxCAD",B[B.kMxDraw=1]="kMxDraw",B[B.kInvalid=2]="kInvalid",B))(I||{});class b{id;type;constructor(D,C){this.id=D,D?this.type=C:this.type=2}isValid(){return this.type!=2&&!this.id}erase(){this.type==1?r.MxFun.getCurrentDraw().eraseMxEntity(this.id):this.type==0&&K.eraseEntity(this.id)}getMcDbObject(){return this.type==0?t.MxCpp.App.ObjectIdToObject(this.id):null}getObjectName(){if(this.type==0)return t.MxCpp.App.getImp().ObjectIdToObjectName(this.id);if(this.type==1){let D=r.MxFun.getCurrentDraw().getMxEntity(this.id);if(D)return D.getTypeName()}return""}getMxDbEntity(){return this.type==1?r.MxFun.getCurrentDraw().getMxEntity(this.id):null}}class OD{imp;constructor(){}eraseEntity(D){return this.init(),this.imp.eraseEntity(D)}highlightEntity(D,C=!0){return this.init(),this.imp.highlightEntity(D,C)}findEntAtPoint(D,C,E,F=-1,A=null){this.init();let e=this.imp.findEntAtPoint(D,C,E,F,V(A));return new b(e,0)}selectEnt(D,C=null){return this.init(),new Promise(async E=>{const F=new r.MrxDbgUiPrPoint;D&&F.setMessage(D),F.setCursorType(J.kRect);let A=await F.go();if(!A){E([]);return}r.MrxDbgUtils.findEntAtPoint(A).then(e=>{let i=[];e.forEach(n=>{i.push(new b(n,1))});let s=this.findEntAtPoint(A.x,A.y,A.z,-1,C);s.isValid()&&i.push(s),E(i)})})}init(){this.imp||(this.imp=new t.MxCpp.mxcadassemblyimp.McDrawUtility)}}let K=new OD;class CD extends P{constructor(D){super(D)}start(D=!0,C=!0){this.imp.start(D,C)}done(){return this.imp.done()}getEntityId(){return new b(this.imp.getEntityId(),0)}step(D=!0,C=!0){return this.imp.step(D,C)}}class W extends T{constructor(D){super(D),D||this.initTempObject(new t.MxCpp.mxcadassemblyimp.MdDbBlockTableRecord)}appendAcDbEntity(D){return new b(this.imp.appendAcDbEntity(D.getImp()),0)}newIterator(D=!0,C=!0){let E=this.imp.newIterator(D,C);return new CD(E)}get origin(){return this.imp.origin()}set origin(D){this.imp.setOrigin(D)}}class BD extends P{constructor(D){super(D)}start(D=!0,C=!0){this.imp.start(D,C)}done(){return this.imp.done()}getRecord(){let D=this.imp.getRecord();return new W(D)}step(D=!0,C=!0){this.imp.start(D,C)}}class ED extends T{constructor(D){super(D),D||this.initTempObject(new t.MxCpp.mxcadassemblyimp.MdDbBlockTable)}getAt(D){let C=this.getAt(D);return C&&new W(C)}has(D){return this.imp.has(D)}newIterator(D=!0,C=!0){let E=this.imp.newIterator(D,C);return new BD(E)}add(D){return this.imp.add(D.getImp())}}class jD extends P{constructor(){super(),this.initTempObject(new t.MxCpp.mxcadassemblyimp.McDrawSelSet)}allSelect(D=null){return this.imp.allSelect(V(D))}pointSelect(D,C,E=null,F=-1){return this.imp.pointSelect(D,C,V(E),F)}crossingSelect(D,C,E,F,A=null){return this.imp.crossingSelect(D,C,E,F,V(A))}count(){return this.imp.count()}item(D){return new b(this.imp.item(D),0)}}class UD extends dD{constructor(D){super(D),D||this.initTempObject(new t.MxCpp.mxcadassemblyimp.MdDbRotatedDimension)}get xLine1Point(){return this.imp.xLine1Point()}set xLine1Point(D){this.imp.setXLine1Point(D)}get xLine2Point(){return this.imp.xLine2Point()}set xLine2Point(D){this.imp.setXLine2Point(D)}get dimLinePoint(){return this.imp.dimLinePoint()}set dimLinePoint(D){this.imp.setDimLinePoint(D)}get oblique(){return this.imp.oblique()}set oblique(D){this.imp.setOblique(D)}get rotation(){return this.imp.rotation()}set rotation(D){this.imp.setRotation(D)}}const mD=()=>r.store.state.MxFun.stopRunCommand();function FD(B,D,C,E){const F=B-C,A=D-E;let e=0;return F==0?e=Math.PI/2:e=Math.atan(Math.abs(A/F)),F<0&&A>=0?e=Math.PI-e:F<0&&A<0?e=Math.PI+e:F>=0&&A<0&&(e=Math.PI*2-e),e}async function AD(){const B=new r.MrxDbgUiPrPoint;let D=new r.MxDbLine,C=[];B.setMessage(`
|
|
12
|
+
\u6307\u5B9A\u7B2C\u4E00\u70B9:`);let E=await B.go();B.setUserDraw((A,e)=>{C.forEach(i=>{e.drawCustomEntity(i)}),e.drawLine(E,A)});const F=()=>{B.setMessage(`
|
|
13
|
+
\u6307\u5B9A\u4E0B\u4E00\u4E2A\u70B9:`),C.length>1?B.setKeyWords("[\u9000\u51FA(E)/\u95ED\u5408(C)/\u653E\u5F03(U)]"):B.setKeyWords("[\u9000\u51FA(E)/\u653E\u5F03(U)]")};F(),B.goWhile(A=>{if(A===r.MrxDbgUiPrBaseReturn.kOk&&(D=new r.MxDbLine,r.MxPaintBrush.use(D),D.pt1=E,D.pt2=B.value(),E=D.pt2.clone(),C.push(D),F()),A===r.MrxDbgUiPrBaseReturn.kKeyWord){if(B.isKeyWordPicked("E"))mD();else if(B.isKeyWordPicked("C")){const e=new r.MxDbLine;return e.pt1=E.clone(),e.pt2=C[0].pt1.clone(),r.MxPaintBrush.use(e),C.push(e),E=e.pt2.clone(),mD(),{exit:!0}}}},A=>(A===r.MrxDbgUiPrBaseReturn.kCancel&&C.forEach(e=>{r.MxFun.getCurrentDraw().addMxEntity(e)}),{exit:!0}))}async function GD(){{const B=new r.MrxDbgUiPrPoint;B.setMessage(`
|
|
14
|
+
\u6307\u5B9A\u4E00\u70B9:`);let D=await B.go();if(!D)return;let C=new U,E=new G;E.textString="\u6D4B\u8BD5Test",E.height=r.MxFun.viewCoordLong2Cad(100),C.startPoint=t.MxCpp.NewMcGePoint3d(D),B.setUserDraw((s,n)=>{C.endPoint=t.MxCpp.NewMcGePoint3d(s),E.position=t.MxCpp.NewMcGePoint3d(s),E.alignmentPoint=E.position,n.drawMcDbEntity(C),n.drawMcDbEntity(E)}),B.setMessage(`
|
|
15
|
+
\u6307\u5B9A\u4E8C\u70B9:`),await B.go();let F=t.MxCpp.App.GetCurrentMxCAD();F.DrawEntity(E);let A=t.MxCpp.NewMcCmColor();A.setRGB(255,45,66),F.DrawColor=A;let e=F.DrawLine(D.x,D.y,0,D.x+5e4,D.y,0);F.DrawCircle(D.x,D.y,1e4);let i=F.ObjectIdToObject(e);if(i&&i.ObjectName=="McDbLine"){let s=i,n=s.startPoint,o=s.endPoint;console.log(n.x),console.log(o.x)}}}async function ID(){let B=new jD;B.allSelect();let D=B.count(),C=0;for(;C<D;C++){let E=B.item(C),F=E.getObjectName();if(F=="McDbAlignedDimension"||F=="McDbRotatedDimension"){let e=E.getMcDbObject().explode();if(e.GetCount()==0)return;let i=e.GetCount();for(let s=0;s<i;s++){let n=e.AtObject(s).val;n?.ObjectName=="McDbMText"&&console.log(n.contents)}}}}r.store.events.on("MxDbEntityRegister",()=>{r.MxFun.addCommand("Mx_Line",AD),r.MxFun.addCommand("Mx_TestDraw",GD),r.MxFun.addCommand("Mx_Test_GetDim",ID)});async function pD(){const B=new r.MrxDbgUiPrPoint;B.setMessage(`
|
|
16
|
+
\u6307\u5B9A\u63D2\u5165\u4F4D\u7F6E:`);let D=await B.go();if(D==null)return;let C=`\u6D4B\u8BD5
|
|
17
|
+
\u6D4B\u8BD5`;if(C.length<=0)return;let E=r.MxFun.screenCoordLong2Doc(50);C=v.b64Encode(C);const F={postx:D.x,posty:D.y,text:C,height:E};r.MxFun.call("Mx_MText",F)}async function eD(){const B=new r.MrxDbgUiPrPoint,D=new r.MxDbPolyline;r.MxPaintBrush.use(D),B.setMessage(`
|
|
18
|
+
\u6307\u5B9A\u8D77\u70B9:`);let C;B.setUserDraw((E,F)=>{F.drawCustomEntity(D),C&&F.drawLine(C,E)}),B.goWhile(E=>{if(E===r.MrxDbgUiPrBaseReturn.kOk){const F=B.value();D.points.push(B.value()),C=F,B.setMessage(`
|
|
19
|
+
\u6307\u5B9A\u4E0B\u4E00\u4E2A\u70B9:`),B.setKeyWords("[\u5706\u5F27(A)/\u5BBD\u5EA6(W)]")}else E===r.MrxDbgUiPrBaseReturn.kKeyWord&&(B.isKeyWordPicked("A"),B.isKeyWordPicked("W"))},E=>{E===r.MrxDbgUiPrBaseReturn.kCancel&&r.MxFun.getCurrentDraw().addMxEntity(D)})}r.store.events.on("MxDbEntityRegister",()=>{r.MxFun.addCommand("Mx_Pline",eD)});async function tD(){const B=new r.MrxDbgUiPrPoint;B.setMessage(`
|
|
20
|
+
\u6307\u5B9A\u4E00\u70B9:`);let D=await B.go(),C=new N;C.setCenter(D.x,D.y,D.z);let E=5;B.setUserDraw((F,A)=>{C.radius=D.distanceTo(F);let e=C.getEndParam().val,s=C.getDistAtParam(e).val/E,n=0,o=new THREE.Vector3,u=new THREE.Vector3;for(let d=0;d<E;d++){let a=C.getPointAtDist(n).val;n+=s,d>0?A.drawMcDbLine(a.x,a.y,a.z,o.x,o.y,o.z):u=new THREE.Vector3(a.x,a.y,a.z),d==E-1&&A.drawMcDbLine(a.x,a.y,a.z,u.x,u.y,u.z),o=new THREE.Vector3(a.x,a.y,a.z)}}),B.setMessage(`
|
|
21
|
+
\u6307\u5B9A\u4E8C\u70B9:`),await B.go(),B.drawReserve()}r.store.events.on("MxDbEntityRegister",()=>{r.MxFun.addCommand("Mx_Polygon",tD)});function WD(B,D,C){const E=B.x,F=D.x,A=C.x,e=B.y,i=D.y,s=C.y,n=E-F,o=e-i,u=E-A,d=e-s,a=(E*E-F*F+(e*e-i*i))/2,l=(E*E-A*A+(e*e-s*s))/2,p=o*u-n*d,m=-(d*a-o*l)/p,c=-(n*l-u*a)/p;return new THREE.Vector3(m,c,0)}function VD(B,D){const C=B.x,E=B.y,F=D.x,A=D.y;return Math.sqrt((C-F)*(C-F)+(E-A)*(E-A))}function ND(B,D,C){let E;B<C?E=C-B:E=C-B+360;let F;return B<D?F=D-B:F=D-B+360,F>E}function iD(B,D,C){const E=B.x,F=D.x,A=B.y,e=D.y;let i,s,n;return i=(A-e)/C,s=(E-F)/C,s>=.99999&&(s=.99999),s<=-.99999&&(s=-.99999),n=Math.acos(s),n=n/Math.PI*180,i<-.05&&(n=360-n),{sin:i,cos:s,angle:n}}const _=gD.default.MrxDbgUiPrBaseReturn,y=(B,D,C)=>{const E=()=>{B.go(F=>{if(F===_.kKeyWord&&C()&&E(),F===_.kOk&&D()&&E(),F===_.kNone&&E(),F===_.kCancel)return{exit:!0}})};return E};class rD extends r.MxDbCircleShape{constructor(){super(),this._propertyDbKeys=[...this._propertyDbKeys,"bulge"]}getTypeName(){return"MxDbCircle"}create(){return new rD}getArcBulge(D,C,E){const F=D.distanceTo(C);let i=2*new THREE.Line3(D,C).getCenter(new THREE.Vector3).distanceTo(E)/F;return i>.9999&&i<1.0001?i=1:i<-.9999&&i>-1.0001?i=-1:Math.abs(i)<1e-10&&(i=0),i}getArcMidPoint(D,C,E,F,A){const e=D,i=E*Math.PI/180;let s=F*Math.PI/180;const n=new THREE.Vector3,o=new THREE.Vector3;n.x=e.x+C*Math.cos(i),n.y=e.y+C*Math.sin(i),o.x=e.x+C*Math.cos(s),o.y=e.y+C*Math.sin(s);const u=C;(A?E<F:E>F)&&(s+=Math.PI*2);const d=new THREE.Vector3;return d.x=e.x+u*Math.cos((i+s)/2),d.y=e.y+u*Math.sin((i+s)/2),[n,d,o,this.center]}getGripPoints(){return this.getArcMidPoint(this.center,this.radius,THREE.MathUtils.radToDeg(this.startAngle),THREE.MathUtils.radToDeg(this.endAngle),this.clockwise)}moveGripPointsAt(D,C){if(D===3)return this.center.add(C),!0;const E=this.getGripPoints();return this.upDatePoints(E,D,C),!0}upDatePoints(D,C,E){D[C].add(E);const[F,A,e]=D;this.center=WD(F,e,A),this.radius=VD(A,this.center);const i=iD(F,this.center,this.radius),s=iD(e,this.center,this.radius),n=iD(A,this.center,this.radius);this.clockwise=ND(s.angle,i.angle,n.angle),this.startAngle=THREE.MathUtils.degToRad(i.angle),this.endAngle=THREE.MathUtils.degToRad(s.angle)}}async function nD(){const B=new r.MrxDbgUiPrPoint;B.setMessage(`
|
|
22
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u8D77\u70B9:`),B.setKeyWords("[\u5706\u5FC3(C)]");let D=new rD;D.closed=!1,r.MxPaintBrush.use(D);let C,E,F;const A=y(B,()=>{C=B.value(),B.setMessage(`
|
|
23
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u7B2C\u4E8C\u4E2A\u70B9:`),B.setKeyWords("[\u5706\u5FC3(C)/\u7AEF\u70B9(E)]"),B.setUserDraw((m,c)=>{c.drawLine(C,m)}),l()},()=>{if(B.isKeyWordPicked("C")){const m=new r.MxDbCircleArc;D.center=B.value(),m.center=B.value(),B.setMessage(`
|
|
24
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3:`),B.setKeyWords(""),i()}else return!0});let e;const i=y(B,()=>{e=B.value(),F=new r.MxDbCircleArc,F.closed=!1,r.MxPaintBrush.use(F),F.center=e,D.center=e,B.setMessage(`
|
|
25
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u8D77\u70B9:`),B.setUserDraw((m,c)=>{c.drawCustomEntity(F),c.drawLine(e,m)}),o()},()=>{});let s,n;const o=y(B,()=>{s=B.value(),F.endPoint=s,B.setMessage(`
|
|
26
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u7AEF\u70B9(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u89D2\u5EA6(A)/\u5F26\u957F(L)/\u4FEE\u6539\u534A\u5F84(R)]:`),B.setKeyWords("A L R"),n=new r.MxDbLine,n.setDashLineDisplay(!0),n.setDashArray(.05),n.setLineWidth(2),n.setColor("#ffd30d"),n.pt1=F.center,B.setUserDraw((m,c)=>{F.startPoint=m,n.pt2=m,c.drawCustomEntity(F),c.drawCustomEntity(n)}),d()},()=>{});let u;const d=y(B,()=>{u=B.value(),F.startPoint=u,F.endPoint=s,r.MxFun.getCurrentDraw().addMxEntity(F)},()=>{if(B.isKeyWordPicked("A"))return B.setMessage(`
|
|
27
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u5939\u89D2(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u4FEE\u6539\u534A\u5F84(R)]:`),B.setKeyWords("R"),B.setUserDraw((m,c)=>{F.startPoint=m,c.drawCustomEntity(F),c.drawCustomEntity(n)}),!0;if(B.isKeyWordPicked("L"))return B.setMessage(`
|
|
28
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u5939\u89D2(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u4FEE\u6539\u534A\u5F84(R)]:`),B.setKeyWords("R"),B.setUserDraw((m,c)=>{F.startPoint=m,c.drawCustomEntity(F),c.drawCustomEntity(n)}),!0;if(B.isKeyWordPicked("R"))B.setMessage(`
|
|
29
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u534A\u5F84${F.radius?"<"+F.radius+">":""}:`),B.setKeyWords(""),B.setUserDraw((m,c)=>{c.drawLine(m,F.center),F.startPoint=m,c.drawCustomEntity(F)}),o();else return!0});let a;const l=y(B,()=>{a=B.value(),B.setMessage(`
|
|
30
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u7AEF\u70B9:`),E=new r.Mx3PointArc,E.autoClockwise=!0,E.closed=!1,r.MxPaintBrush.use(E),E.point1=C,E.point3=a,D.center,B.setUserDraw((m,c)=>{E.point2=m,c.drawCustomEntity(D)}),p()},()=>{if(B.isKeyWordPicked("C"))F=new r.MxDbCircleArc,F.closed=!1,r.MxPaintBrush.use(F),B.setMessage(`
|
|
31
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3`),B.setKeyWords(""),B.setUserDraw((m,c)=>{F.startPoint=C,c.drawLine(m,F.startPoint)}),i();else if(B.isKeyWordPicked("E"))F=new r.MxDbCircleArc,F.closed=!1,r.MxPaintBrush.use(F),B.setMessage(`
|
|
32
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3`),B.setKeyWords(""),B.setUserDraw((m,c)=>{F.startPoint=C,c.drawLine(m,F.startPoint)}),i();else return!0}),p=y(B,()=>{E.point1=C,E.point2=B.value(),E.point3=a,r.MxFun.getCurrentDraw().addMxEntity(E)},()=>{if(B.isKeyWordPicked("C"))console.log("C");else if(B.isKeyWordPicked("E"))console.log("E");else return!0});A()}r.store.events.on("MxDbEntityRegister",()=>{r.MxFun.addCommand("Mx_Arc",nD)});function sD(){const B=new r.MrxDbgUiPrPoint,D=new r.MxDbEllipseShape;D.closed=!1,r.MxPaintBrush.use(D),B.setMessage(`
|
|
33
|
+
\u6307\u5B9A\u692D\u5706\u7684\u8F74\u7AEF\u70B9`),B.setKeyWords("[\u4E2D\u5FC3\u70B9(C)]");let C,E=new THREE.Vector3;y(B,()=>{C=B.value(),B.setUserDraw((n,o)=>{const u=new THREE.Line3(C,n);u.getCenter(E),D.center=E,D.xRadius=u.distance()/2,D.yRadius=D.xRadius,D.rotation=FD(n.x,n.y,E.x,E.y),o.drawLine(n,C)}),B.setMessage(`
|
|
34
|
+
\u6307\u5B9A\u692D\u5706\u5F27\u8F74\u7684\u53E6\u4E00\u4E2A\u7AEF\u70B9:`),B.setKeyWords(""),A()},()=>{})();const A=y(B,()=>{B.setUserDraw((n,o)=>{D.yRadius=E.distanceTo(n),o.drawLine(E,n),o.drawCustomEntity(D)}),B.setMessage(`
|
|
35
|
+
\u6307\u5B9A\u53E6\u4E00\u6761\u534A\u8F74\u957F\u5EA6`),B.setKeyWords(""),e()},()=>{}),e=y(B,()=>{B.setMessage(`
|
|
36
|
+
\u6307\u5B9A\u8D77\u59CB\u89D2\u5EA6`),B.setKeyWords(""),B.setUserDraw((n,o)=>{D.startAngle=FD(n.x,n.y,E.x,E.y)-D.rotation,o.drawLine(E,n),o.drawCustomEntity(D)}),i()},()=>{}),i=y(B,()=>{B.setUserDraw((n,o)=>{D.endAngle=FD(n.x,n.y,E.x,E.y)-D.rotation,o.drawLine(E,n),o.drawCustomEntity(D)}),B.setMessage(`
|
|
37
|
+
\u6307\u5B9A\u7EC8\u6B62\u89D2\u5EA6`),B.setKeyWords(""),s()},()=>{}),s=y(B,()=>{r.MxFun.getCurrentDraw().addMxEntity(D)},()=>{})}r.store.events.on("MxDbEntityRegister",()=>{r.MxFun.addCommand("Mx_EllipseArc",sD)});async function aD(){(await K.selectEnt(`
|
|
38
|
+
\u9009\u62E9\u5220\u9664\u5BF9\u8C61`)).forEach(D=>{D.erase()})}r.store.events.on("MxDbEntityRegister",()=>{r.MxFun.addCommand("Mx_Erase",aD)});const KD=B=>new Promise((D,C)=>{const E=document.createElement("script");E.src=B,E.crossOrigin="anonymous",document.body.appendChild(E),E.onload=()=>{D()},E.onerror=F=>{C(F)}}),hD=async(B,D,C)=>{const{locateFile:E}=C,F=E(B,self.location.href);return await KD(F),await window[D](C)};function _D(B){return typeof ResizeObserver=="function"?new ResizeObserver(B):null}function zD(B,D){const C=()=>requestAnimationFrame(D);let E=_D(C);if(E){E.observe(B);return}if(MutationObserver){new MutationObserver(C).observe(B,{attributes:!0});return}}function HD(B,D){let C=null;return function(...E){C||(C=setTimeout(()=>{B.apply(this,E),C=null},D))}}class L{static onloadWasmMxDraw3dModel;canvas;constructor(D){const C=()=>{const u=this.canvas.parentElement?.clientWidth||window.innerWidth,d=this.canvas.parentElement?.clientHeight||window.innerHeight;let a=Math.min(u,window.screen.availWidth),l=Math.min(d,window.screen.availHeight);a=Math.max(A,a),l=Math.max(e,l),this.canvas.style.width=a+1+"px",this.canvas.style.height=l+"px";const p=window.devicePixelRatio||1;this.canvas.width=a*p,this.canvas.height=l*p},E=HD(C,50),{canvas:F,minWidth:A=300,minHeight:e=300,updateCanvasSize:i=E,...s}=D;let n=typeof F=="string"?document.querySelectorAll(F)[0]:F,o=n.getContext("webgl2",{alpha:!1,depth:!0,antialias:!1,preserveDrawingBuffer:!0});o==null&&(o=n.getContext("webgl",{alpha:!1,depth:!0,antialias:!1,preserveDrawingBuffer:!0})),this.canvas=n,this.ctx=o,s.canvas=this.canvas;for(let u in s)this[u]=s[u];if(this.canvas instanceof HTMLCanvasElement){const u=this.canvas.parentElement||document.body;zD(u,i)}else console.error("createMxDraw3d canvas \u53C2\u6570\u4E0D\u6B63\u786E \u65E0\u6CD5\u83B7\u53D6\u5230canvas\u5143\u7D20");window.onresize=C,C(),hD("mxdraw3d_min.js","mxdraw3d",this).then(()=>{L.onloadWasmMxDraw3dModel&&L.onloadWasmMxDraw3dModel(this),this.updateCanvasSize=i,this.open3DFile=u=>{const d=new FileReader;d.onload=()=>{if(!!d.result&&d.result instanceof ArrayBuffer){var a=new Uint8Array(d.result);const l=this._malloc(a.length);this.HEAPU8.set(a,l),this.openFromMemory(u.name,l,a.length,!0),this.displayGround(!0),this.canvas.focus()}},d.readAsArrayBuffer(u)}})}}const wD="1.0.40",qD=(B,D=self.location.href)=>typeof process<"u"&&process.env.NODE_ENV==="development"?new URL(`/node_modules/mxcad/dist/wasm/2d/${B}`,(typeof document>"u"&&typeof location>"u"?new(require("url")).URL("file:"+__filename).href:typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||new URL("mxcad.umd.js",document.baseURI).href)||D).href:`https://unpkg.com/mxcad@${wD}/dist/wasm/2d/${B}`,$D=(B,D=self.location.href)=>typeof process<"u"&&process.env.NODE_ENV==="development"?new URL(`/node_modules/mxcad/dist/wasm/3d/${B}`,(typeof document>"u"&&typeof location>"u"?new(require("url")).URL("file:"+__filename).href:typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||new URL("mxcad.umd.js",document.baseURI).href)||D).href:`https://unpkg.com/mxcad@${wD}/dist/wasm/3d/${B}`;t.MxCpp=void 0;async function bD(B,D=qD,C){if(t.MxCpp||(t.MxCpp=new LD),t.MxCpp.mxcadassemblyimp){B(t.MxCpp);return}const E="mxdrawassemblyinit.js",F=await hD(E,"mxdrawassembly",{locateFile:D,wasmBinary:C,mainScriptUrlOrBlob:D(E,self.location.href)});t.MxCpp.mxcadassemblyimp=F;let A=new F.McApp;A.Init(),t.MxCpp.App.init(A),B(t.MxCpp)}function yD(B,D){return new Promise(async(C,E)=>{try{B.locateFile||(B.locateFile=$D);const F=new L(B);L.onloadWasmMxDraw3dModel=()=>{D&&D(F),C(F)}}catch(F){E(F)}})}const XD=Object.freeze(Object.defineProperty({__proto__:null,fetchAndInstantiate:oD,b64Encode:z,b64Decode:H,saveAsFileDialog:q,downloadFile:$,MxTools:v,drawText:uD,drawCircle:X,drawLine:AD,drawMText:pD,drawPolyLine:eD,drawPolygon:tD,drawArc:nD,drawEllipticalArc:sD,mxErase:aD,McObject:R,McRxObject:P,McDbDatabase:Q,McDbLayerTable:Y,McDbEntity:k,McDbCurve:j,McDbLine:U,McDbText:G,McDbCircle:N,get McDb(){return t.McDb},McDrawUtility:K,McObjectId:b,McDrawResbuf:DD,McDbPolyline:Z,McDbBlockTable:ED,McDbBlockTableIterator:BD,McDbBlockTableRecord:W,McDbBlockTableRecordIterator:CD,MxDraw3d:L,get MxCpp(){return t.MxCpp},loadMxCADassembly:bD,loadMxCADassembly3d:yD},Symbol.toStringTag,{value:"Module"}));t.McDbBlockTable=ED,t.McDbBlockTableIterator=BD,t.McDbBlockTableRecord=W,t.McDbBlockTableRecordIterator=CD,t.McDbCircle=N,t.McDbCurve=j,t.McDbDatabase=Q,t.McDbEntity=k,t.McDbLayerTable=Y,t.McDbLine=U,t.McDbPolyline=Z,t.McDbText=G,t.McDrawResbuf=DD,t.McDrawUtility=K,t.McObject=R,t.McObjectId=b,t.McRxObject=P,t.MxDraw3d=L,t.MxTools=v,t.b64Decode=H,t.b64Encode=z,t.default=XD,t.downloadFile=$,t.drawArc=nD,t.drawCircle=X,t.drawEllipticalArc=sD,t.drawLine=AD,t.drawMText=pD,t.drawPolyLine=eD,t.drawPolygon=tD,t.drawText=uD,t.fetchAndInstantiate=oD,t.loadMxCADassembly=bD,t.loadMxCADassembly3d=yD,t.mxErase=aD,t.saveAsFileDialog=q,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|