mxcad 1.0.82 → 1.0.84

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/dist/mxcad.es.js CHANGED
@@ -1,11 +1,11 @@
1
- import { MxFun as h, MrxDbgUiPrPoint as O, MxCursorType as MD, MrxDbgUtils as oD, DynamicInputType as dD, DetailedResult as Z, MrxDbgUiPrDist as AC, MrxDbgUiPrAngle as eC, MrxDbgUiPrInt as tC, MrxDbgUiPrKeyWord as iC, MrxDbgUiPrString as rC, store as PD, loadCoreCode as nC, MxPaintBrush as I, MrxDbgUiPrBaseReturn as T, MxDbCircleShape as TD, MxDbLine as CD, MxDbPolyline as sC, MxDbCircleArc as DD, Mx3PointArc as oC, MxDbEllipseShape as aC, McEdGetPointWorldDrawObject as uC, MxDbEllipse as lC } from "mxdraw";
2
- function kD(E) {
1
+ import { MxFun as h, MrxDbgUiPrPoint as O, MxCursorType as gD, MrxDbgUtils as lD, DynamicInputType as CD, DetailedResult as $, MrxDbgUiPrDist as tC, MrxDbgUiPrAngle as eC, MrxDbgUiPrInt as iC, MrxDbgUiPrKeyWord as rC, MrxDbgUiPrString as sC, store as LD, loadCoreCode as nC, MxPaintBrush as j, MrxDbgUiPrBaseReturn as T, MxDbCircleShape as RD, MxDbLine as FD, MxDbPolyline as oC, MxDbCircleArc as ED, Mx3PointArc as aC, MxDbEllipseShape as uC, McEdGetPointWorldDrawObject as lC, MxDbEllipse as cC } from "mxdraw";
2
+ function OD(E) {
3
3
  return btoa(unescape(encodeURIComponent(E)));
4
4
  }
5
- function RD(E) {
5
+ function SD(E) {
6
6
  return decodeURIComponent(escape(atob(E)));
7
7
  }
8
- async function OD({
8
+ async function vD({
9
9
  blob: E,
10
10
  filename: D = "",
11
11
  types: C = [
@@ -45,24 +45,24 @@ async function OD({
45
45
  console.error(B.name, B.message);
46
46
  }
47
47
  }
48
- function LD(E, D) {
48
+ function ID(E, D) {
49
49
  const C = document.createElement("a");
50
50
  C.href = window.URL.createObjectURL(E), C.download = D, C.click();
51
51
  }
52
- function vD(E, D) {
52
+ function jD(E, D) {
53
53
  fetch(E).then((C) => C.blob()).then((C) => {
54
54
  const B = document.createElement("a");
55
55
  B.href = window.URL.createObjectURL(C), B.download = D, B.click();
56
56
  });
57
57
  }
58
58
  const Q = {
59
- b64Encode: kD,
60
- b64Decode: RD,
61
- saveAsFileDialog: OD,
62
- downloadFile: LD,
63
- downloadFileFromUrl: vD
59
+ b64Encode: OD,
60
+ b64Decode: SD,
61
+ saveAsFileDialog: vD,
62
+ downloadFile: ID,
63
+ downloadFileFromUrl: jD
64
64
  };
65
- class cC {
65
+ class mC {
66
66
  z = "D2BBB6A18140C6DF814181428143CDF2D5C9C8FDC9CFCFC2D8A2B2BBD3EB8144D8A4B3F38145D7A8C7D2D8A7CAC08146C7F0B1FBD2B5B4D4B6ABCBBFD8A9814781488149B6AA814AC1BDD1CF814BC9A5D8AD814CB8F6D1BEE3DCD6D0814D814EB7E1814FB4AE8150C1D98151D8BC8152CDE8B5A4CEAAD6F78153C0F6BED9D8AF815481558156C4CB8157BEC38158D8B1C3B4D2E58159D6AECEDAD5A7BAF5B7A6C0D6815AC6B9C5D2C7C7815BB9D4815CB3CBD2D2815D815ED8BFBEC5C6F2D2B2CFB0CFE7815F816081618162CAE981638164D8C081658166816781688169816AC2F2C2D2816BC8E9816C816D816E816F817081718172817381748175C7AC8176817781788179817A817B817CC1CB817DD3E8D5F9817ECAC2B6FED8A1D3DABFF78180D4C6BBA5D8C1CEE5BEAE81818182D8A88183D1C7D0A9818481858186D8BDD9EFCDF6BFBA8187BDBBBAA5D2E0B2FABAE0C4B68188CFEDBEA9CDA4C1C18189818A818BC7D7D9F1818CD9F4818D818E818F8190C8CBD8E9819181928193D2DACAB2C8CAD8ECD8EAD8C6BDF6C6CDB3F08194D8EBBDF1BDE98195C8D4B4D381968197C2D88198B2D6D7D0CACBCBFBD5CCB8B6CFC98199819A819BD9DAD8F0C7AA819CD8EE819DB4FAC1EED2D4819E819FD8ED81A0D2C7D8EFC3C781A181A281A3D1F681A4D6D9D8F281A5D8F5BCFEBCDB81A681A781A8C8CE81A9B7DD81AAB7C281ABC6F381AC81AD81AE81AF81B081B181B2D8F8D2C181B381B4CEE9BCBFB7FCB7A5D0DD81B581B681B781B881B9D6DAD3C5BBEFBBE1D8F181BA81BBC9A1CEB0B4AB81BCD8F381BDC9CBD8F6C2D7D8F781BE81BFCEB1D8F981C081C181C2B2AEB9C081C3D9A381C4B0E981C5C1E681C6C9EC81C7CBC581C8CBC6D9A481C981CA81CB81CC81CDB5E881CE81CFB5AB81D081D181D281D381D481D5CEBBB5CDD7A1D7F4D3D381D6CCE581D7BACE81D8D9A2D9DCD3E0D8FDB7F0D7F7D8FED8FAD9A1C4E381D981DAD3B6D8F4D9DD81DBD8FB81DCC5E581DD81DEC0D081DF81E0D1F0B0DB81E181E2BCD1D9A681E3D9A581E481E581E681E7D9ACD9AE81E8D9ABCAB981E981EA81EBD9A9D6B681EC81ED81EEB3DED9A881EFC0FD81F0CACC81F1D9AA81F2D9A781F381F4D9B081F581F6B6B181F781F881F9B9A981FAD2C081FB81FCCFC081FD81FEC2C28240BDC4D5ECB2E0C7C8BFEBD9AD8241D9AF8242CEEABAEE82438244824582468247C7D682488249824A824B824C824D824E824F8250B1E3825182528253B4D9B6EDD9B48254825582568257BFA182588259825AD9DEC7CEC0FED9B8825B825C825D825E825FCBD7B7FD8260D9B58261D9B7B1A3D3E1D9B98262D0C58263D9B682648265D9B18266D9B2C1A9D9B382678268BCF3D0DEB8A98269BEE3826AD9BD826B826C826D826ED9BA826FB0B3827082718272D9C28273827482758276827782788279827A827B827C827D827E8280D9C4B1B68281D9BF82828283B5B98284BEF3828582868287CCC8BAF2D2D08288D9C38289828ABDE8828BB3AB828C828D828ED9C5BEEB828FD9C6D9BBC4DF8290D9BED9C1D9C0829182928293829482958296829782988299829A829BD5AE829CD6B5829DC7E3829E829F82A082A1D9C882A282A382A4BCD9D9CA82A582A682A7D9BC82A8D9CBC6AB82A982AA82AB82AC82ADD9C982AE82AF82B082B1D7F682B2CDA382B382B482B582B682B782B882B982BABDA182BB82BC82BD82BE82BF82C0D9CC82C182C282C382C482C582C682C782C882C9C5BCCDB582CA82CB82CCD9CD82CD82CED9C7B3A5BFFE82CF82D082D182D2B8B582D382D4C0FC82D582D682D782D8B0F882D982DA82DB82DC82DD82DE82DF82E082E182E282E382E482E582E682E782E882E982EA82EB82EC82EDB4F682EED9CE82EFD9CFB4A2D9D082F082F1B4DF82F282F382F482F582F6B0C182F782F882F982FA82FB82FC82FDD9D1C9B582FE8340834183428343834483458346834783488349834A834B834C834D834E834F83508351CFF1835283538354835583568357D9D283588359835AC1C5835B835C835D835E835F836083618362836383648365D9D6C9AE8366836783688369D9D5D9D4D9D7836A836B836C836DCBDB836EBDA9836F8370837183728373C6A7837483758376837783788379837A837B837C837DD9D3D9D8837E83808381D9D9838283838384838583868387C8E583888389838A838B838C838D838E838F839083918392839383948395C0DC8396839783988399839A839B839C839D839E839F83A083A183A283A383A483A583A683A783A883A983AA83AB83AC83AD83AE83AF83B083B183B2B6F9D8A3D4CA83B3D4AAD0D6B3E4D5D783B4CFC8B9E283B5BFCB83B6C3E283B783B883B9B6D283BA83BBCDC3D9EED9F083BC83BD83BEB5B383BFB6B583C083C183C283C383C4BEA483C583C6C8EB83C783C8C8AB83C983CAB0CBB9ABC1F9D9E283CBC0BCB9B283CCB9D8D0CBB1F8C6E4BEDFB5E4D7C883CDD1F8BCE6CADE83CE83CFBCBDD9E6D8E783D083D1C4DA83D283D3B8D4C8BD83D483D5B2E1D4D983D683D783D883D9C3B083DA83DBC3E1DAA2C8DF83DCD0B483DDBEFCC5A983DE83DF83E0B9DA83E1DAA383E2D4A9DAA483E383E483E583E683E7D9FBB6AC83E883E9B7EBB1F9D9FCB3E5BEF683EABFF6D2B1C0E483EB83EC83EDB6B3D9FED9FD83EE83EFBEBB83F083F183F2C6E083F3D7BCDAA183F4C1B983F5B5F2C1E883F683F7BCF583F8B4D583F983FA83FB83FC83FD83FE844084418442C1DD8443C4FD84448445BCB8B7B284468447B7EF84488449844A844B844C844DD9EC844EC6BE844FBFADBBCB84508451B5CA8452DBC9D0D78453CDB9B0BCB3F6BBF7DBCABAAF8454D4E4B5B6B5F3D8D6C8D084558456B7D6C7D0D8D78457BFAF84588459DBBBD8D8845A845BD0CCBBAE845C845D845EEBBEC1D0C1F5D4F2B8D5B4B4845FB3F584608461C9BE846284638464C5D0846584668467C5D9C0FB8468B1F08469D8D9B9CE846AB5BD846B846CD8DA846D846ED6C6CBA2C8AFC9B2B4CCBFCC846FB9F48470D8DBD8DCB6E7BCC1CCEA847184728473847484758476CFF78477D8DDC7B084788479B9D0BDA3847A847BCCDE847CC6CA847D847E848084818482D8E08483D8DE84848485D8DF848684878488B0FE8489BEE7848ACAA3BCF4848B848C848D848EB8B1848F8490B8EE849184928493849484958496849784988499849AD8E2849BBDCB849CD8E4D8E3849D849E849F84A084A1C5FC84A284A384A484A584A684A784A8D8E584A984AAD8E684AB84AC84AD84AE84AF84B084B1C1A684B2C8B0B0ECB9A6BCD3CEF1DBBDC1D384B384B484B584B6B6AFD6FAC5ACBDD9DBBEDBBF84B784B884B9C0F8BEA2C0CD84BA84BB84BC84BD84BE84BF84C084C184C284C3DBC0CAC684C484C584C6B2AA84C784C884C9D3C284CAC3E384CBD1AB84CC84CD84CE84CFDBC284D0C0D584D184D284D3DBC384D4BFB184D584D684D784D884D984DAC4BC84DB84DC84DD84DEC7DA84DF84E084E184E284E384E484E584E684E784E884E9DBC484EA84EB84EC84ED84EE84EF84F084F1D9E8C9D784F284F384F4B9B4CEF0D4C884F584F684F784F8B0FCB4D284F9D0D984FA84FB84FC84FDD9E984FEDECBD9EB8540854185428543D8B0BBAFB1B18544B3D7D8CE85458546D4D185478548BDB3BFEF8549CFBB854A854BD8D0854C854D854EB7CB854F85508551D8D185528553855485558556855785588559855A855BC6A5C7F8D2BD855C855DD8D2C4E4855ECAAE855FC7A78560D8A68561C9FDCEE7BBDCB0EB856285638564BBAAD0AD8565B1B0D7E4D7BF8566B5A5C2F4C4CF85678568B2A98569B2B7856AB1E5DFB2D5BCBFA8C2ACD8D5C2B1856BD8D4CED4856CDAE0856DCEC0856E856FD8B4C3AED3A1CEA38570BCB4C8B4C2D18571BEEDD0B68572DAE18573857485758576C7E485778578B3A78579B6F2CCFCC0FA857A857BC0F7857CD1B9D1E1D8C7857D857E85808581858285838584B2DE85858586C0E58587BAF185888589D8C8858AD4AD858B858CCFE1D8C9858DD8CACFC3858EB3F8BEC7858F859085918592D8CB8593859485958596859785988599DBCC859A859B859C859DC8A5859E859F85A0CFD885A1C8FEB2CE85A285A385A485A585A6D3D6B2E6BCB0D3D1CBABB7B485A785A885A9B7A285AA85ABCAE585ACC8A1CADCB1E4D0F085ADC5D185AE85AF85B0DBC5B5FE85B185B2BFDAB9C5BEE4C1ED85B3DFB6DFB5D6BBBDD0D5D9B0C8B6A3BFC9CCA8DFB3CAB7D3D285B4D8CFD2B6BAC5CBBECCBE85B5DFB7B5F0DFB485B685B785B8D3F585B9B3D4B8F785BADFBA85BBBACFBCAAB5F585BCCDACC3FBBAF3C0F4CDC2CFF2DFB8CFC585BDC2C0DFB9C2F085BE85BF85C0BEFD85C1C1DFCDCCD2F7B7CDDFC185C2DFC485C385C4B7F1B0C9B6D6B7D485C5BAACCCFDBFD4CBB1C6F485C6D6A8DFC585C7CEE2B3B385C885C9CEFCB4B585CACEC7BAF085CBCEE185CCD1BD85CD85CEDFC085CF85D0B4F485D1B3CA85D2B8E6DFBB85D385D485D585D6C4C585D7DFBCDFBDDFBEC5BBDFBFDFC2D4B1DFC385D8C7BACED885D985DA85DB85DC85DDC4D885DEDFCA85DFDFCF85E0D6DC85E185E285E385E485E585E685E785E8DFC9DFDACEB685E9BAC7DFCEDFC8C5DE85EA85EBC9EBBAF4C3FC85EC85EDBED785EEDFC685EFDFCD85F0C5D885F185F285F385F4D5A6BACD85F5BECCD3BDB8C085F6D6E485F7DFC7B9BEBFA785F885F9C1FCDFCBDFCC85FADFD085FB85FC85FD85FE8640DFDBDFE58641DFD7DFD6D7C9DFE3DFE4E5EBD2A7DFD28642BFA98643D4DB8644BFC8DFD4864586468647CFCC86488649DFDD864AD1CA864BDFDEB0A7C6B7DFD3864CBAE5864DB6DFCDDBB9FED4D5864E864FDFDFCFECB0A5DFE7DFD1D1C6DFD5DFD8DFD9DFDC8650BBA98651DFE0DFE18652DFE2DFE6DFE8D3B486538654865586568657B8E7C5B6DFEAC9DAC1A8C4C486588659BFDECFF8865A865B865CD5DCDFEE865D865E865F866086618662B2B88663BADFDFEC8664DBC18665D1E48666866786688669CBF4B4BD866AB0A6866B866C866D866E866FDFF1CCC6DFF286708671DFED867286738674867586768677DFE986788679867A867BDFEB867CDFEFDFF0BBBD867D867EDFF386808681DFF48682BBA38683CADBCEA8E0A7B3AA8684E0A6868586868687E0A186888689868A868BDFFE868CCDD9DFFC868DDFFA868EBFD0D7C4868FC9CC86908691DFF8B0A186928693869486958696DFFD869786988699869ADFFBE0A2869B869C869D869E869FE0A886A086A186A286A3B7C886A486A5C6A1C9B6C0B2DFF586A686A7C5BE86A8D8C4DFF9C4F686A986AA86AB86AC86AD86AEE0A3E0A4E0A5D0A586AF86B0E0B4CCE486B1E0B186B2BFA6E0AFCEB9E0ABC9C686B386B4C0AEE0AEBAEDBAB0E0A986B586B686B7DFF686B8E0B386B986BAE0B886BB86BC86BDB4ADE0B986BE86BFCFB2BAC886C0E0B086C186C286C386C486C586C686C7D0FA86C886C986CA86CB86CC86CD86CE86CF86D0E0AC86D1D4FB86D2DFF786D3C5E786D4E0AD86D5D3F786D6E0B6E0B786D786D886D986DA86DBE0C4D0E186DC86DD86DEE0BC86DF86E0E0C9E0CA86E186E286E3E0BEE0AAC9A4E0C186E4E0B286E586E686E786E886E9CAC8E0C386EAE0B586EBCECB86ECCBC3E0CDE0C6E0C286EDE0CB86EEE0BAE0BFE0C086EF86F0E0C586F186F2E0C7E0C886F3E0CC86F4E0BB86F586F686F786F886F9CBD4E0D586FAE0D6E0D286FB86FC86FD86FE87408741E0D0BCCE87428743E0D18744B8C2D8C587458746874787488749874A874B874CD0EA874D874EC2EF874F8750E0CFE0BD875187528753E0D4E0D387548755E0D78756875787588759E0DCE0D8875A875B875CD6F6B3B0875DD7EC875ECBBB875F8760E0DA8761CEFB876287638764BAD987658766876787688769876A876B876C876D876E876F8770E0E1E0DDD2AD87718772877387748775E0E287768777E0DBE0D9E0DF87788779E0E0877A877B877C877D877EE0DE8780E0E4878187828783C6F7D8ACD4EBE0E6CAC98784878587868787E0E587888789878A878BB8C1878C878D878E878FE0E7E0E887908791879287938794879587968797E0E9E0E387988799879A879B879C879D879EBABFCCE7879F87A087A1E0EA87A287A387A487A587A687A787A887A987AA87AB87AC87AD87AE87AF87B0CFF987B187B287B387B487B587B687B787B887B987BA87BBE0EB87BC87BD87BE87BF87C087C187C2C8C287C387C487C587C6BDC087C787C887C987CA87CB87CC87CD87CE87CF87D087D187D287D3C4D287D487D587D687D787D887D987DA87DB87DCE0EC87DD87DEE0ED87DF87E0C7F4CBC487E1E0EEBBD8D8B6D2F2E0EFCDC587E2B6DA87E387E487E587E687E787E8E0F187E9D4B087EA87EBC0A7B4D187EC87EDCEA7E0F087EE87EF87F0E0F2B9CC87F187F2B9FACDBCE0F387F387F487F5C6D4E0F487F6D4B287F7C8A6E0F6E0F587F887F987FA87FB87FC87FD87FE8840884188428843884488458846884788488849E0F7884A884BCDC1884C884D884ECAA5884F885088518852D4DADBD7DBD98853DBD8B9E7DBDCDBDDB5D888548855DBDA8856885788588859885ADBDBB3A1DBDF885B885CBBF8885DD6B7885EDBE0885F886088618862BEF988638864B7BB8865DBD0CCAEBFB2BBB5D7F8BFD38866886788688869886ABFE9886B886CBCE1CCB3DBDEB0D3CEEBB7D8D7B9C6C2886D886EC0A4886FCCB98870DBE7DBE1C6BADBE38871DBE88872C5F7887388748875DBEA88768877DBE9BFC088788879887ADBE6DBE5887B887C887D887E8880B4B9C0ACC2A2DBE2DBE48881888288838884D0CDDBED88858886888788888889C0DDDBF2888A888B888C888D888E888F8890B6E28891889288938894DBF3DBD2B9B8D4ABDBEC8895BFD1DBF08896DBD18897B5E68898DBEBBFE58899889A889BDBEE889CDBF1889D889E889FDBF988A088A188A288A388A488A588A688A788A8B9A1B0A388A988AA88AB88AC88AD88AE88AFC2F188B088B1B3C7DBEF88B288B3DBF888B4C6D2DBF488B588B6DBF5DBF7DBF688B788B8DBFE88B9D3F2B2BA88BA88BB88BCDBFD88BD88BE88BF88C088C188C288C388C4DCA488C5DBFB88C688C788C888C9DBFA88CA88CB88CCDBFCC5E0BBF988CD88CEDCA388CF88D0DCA588D1CCC388D288D388D4B6D1DDC088D588D688D7DCA188D8DCA288D988DA88DBC7B588DC88DD88DEB6E988DF88E088E1DCA788E288E388E488E5DCA688E6DCA9B1A488E788E8B5CC88E988EA88EB88EC88EDBFB088EE88EF88F088F188F2D1DF88F388F488F588F6B6C288F788F888F988FA88FB88FC88FD88FE894089418942894389448945DCA88946894789488949894A894B894CCBFAEBF3894D894E894FCBDC89508951CBFE895289538954CCC189558956895789588959C8FB895A895B895C895D895E895FDCAA89608961896289638964CCEEDCAB89658966896789688969896A896B896C896D896E896F897089718972897389748975DBD38976DCAFDCAC8977BEB38978CAFB8979897A897BDCAD897C897D897E89808981898289838984C9CAC4B989858986898789888989C7BDDCAE898A898B898CD4F6D0E6898D898E898F89908991899289938994C4ABB6D589958996899789988999899A899B899C899D899E899F89A089A189A289A389A489A589A6DBD489A789A889A989AAB1DA89AB89AC89ADDBD589AE89AF89B089B189B289B389B489B589B689B789B8DBD689B989BA89BBBABE89BC89BD89BE89BF89C089C189C289C389C489C589C689C789C889C9C8C089CA89CB89CC89CD89CE89CFCABFC8C989D0D7B389D1C9F989D289D3BFC789D489D5BAF889D689D7D2BC89D889D989DA89DB89DC89DD89DE89DFE2BA89E0B4A689E189E2B1B889E389E489E589E689E7B8B489E8CFC489E989EA89EB89ECD9E7CFA6CDE289ED89EED9EDB6E089EFD2B989F089F1B9BB89F289F389F489F5E2B9E2B789F6B4F389F7CCECCCABB7F289F8D8B2D1EBBABB89F9CAA789FA89FBCDB789FC89FDD2C4BFE4BCD0B6E189FEDEC58A408A418A428A43DEC6DBBC8A44D1D98A458A46C6E6C4CEB7EE8A47B7DC8A488A49BFFCD7E08A4AC6F58A4B8A4CB1BCDEC8BDB1CCD7DECA8A4DDEC98A4E8A4F8A508A518A52B5EC8A53C9DD8A548A55B0C28A568A578A588A598A5A8A5B8A5C8A5D8A5E8A5F8A608A618A62C5AEC5AB8A63C4CC8A64BCE9CBFD8A658A668A67BAC38A688A698A6AE5F9C8E7E5FACDFD8A6BD7B1B8BEC2E88A6CC8D18A6D8A6EE5FB8A6F8A708A718A72B6CABCCB8A738A74D1FDE6A18A75C3EE8A768A778A788A79E6A48A7A8A7B8A7C8A7DE5FEE6A5CDD78A7E8A80B7C1E5FCE5FDE6A38A818A82C4DDE6A88A838A84E6A78A858A868A878A888A898A8AC3C38A8BC6DE8A8C8A8DE6AA8A8E8A8F8A908A918A928A938A94C4B78A958A968A97E6A2CABC8A988A998A9A8A9BBDE3B9C3E6A6D0D5CEAF8A9C8A9DE6A9E6B08A9ED2A68A9FBDAAE6AD8AA08AA18AA28AA38AA4E6AF8AA5C0D18AA68AA7D2CC8AA88AA98AAABCA78AAB8AAC8AAD8AAE8AAF8AB08AB18AB28AB38AB48AB58AB6E6B18AB7D2F68AB88AB98ABAD7CB8ABBCDFE8ABCCDDEC2A6E6ABE6ACBDBFE6AEE6B38ABD8ABEE6B28ABF8AC08AC18AC2E6B68AC3E6B88AC48AC58AC68AC7C4EF8AC88AC98ACAC4C88ACB8ACCBEEAC9EF8ACD8ACEE6B78ACFB6F08AD08AD18AD2C3E48AD38AD48AD58AD68AD78AD88AD9D3E9E6B48ADAE6B58ADBC8A28ADC8ADD8ADE8ADF8AE0E6BD8AE18AE28AE3E6B98AE48AE58AE68AE78AE8C6C58AE98AEACDF1E6BB8AEB8AEC8AED8AEE8AEF8AF08AF18AF28AF38AF4E6BC8AF58AF68AF78AF8BBE98AF98AFA8AFB8AFC8AFD8AFE8B40E6BE8B418B428B438B44E6BA8B458B46C0B78B478B488B498B4A8B4B8B4C8B4D8B4E8B4FD3A4E6BFC9F4E6C38B508B51E6C48B528B538B548B55D0F68B568B578B588B598B5A8B5B8B5C8B5D8B5E8B5F8B608B618B628B638B648B658B668B67C3BD8B688B698B6A8B6B8B6C8B6D8B6EC3C4E6C28B6F8B708B718B728B738B748B758B768B778B788B798B7A8B7B8B7CE6C18B7D8B7E8B808B818B828B838B84E6C7CFB18B85EBF48B868B87E6CA8B888B898B8A8B8B8B8CE6C58B8D8B8EBCDEC9A98B8F8B908B918B928B938B94BCB58B958B96CFD38B978B988B998B9A8B9BE6C88B9CE6C98B9DE6CE8B9EE6D08B9F8BA08BA1E6D18BA28BA38BA4E6CBB5D58BA5E6CC8BA68BA7E6CF8BA88BA9C4DB8BAAE6C68BAB8BAC8BAD8BAE8BAFE6CD8BB08BB18BB28BB38BB48BB58BB68BB78BB88BB98BBA8BBB8BBC8BBD8BBE8BBF8BC08BC18BC28BC38BC48BC58BC6E6D28BC78BC88BC98BCA8BCB8BCC8BCD8BCE8BCF8BD08BD18BD2E6D4E6D38BD38BD48BD58BD68BD78BD88BD98BDA8BDB8BDC8BDD8BDE8BDF8BE08BE18BE28BE38BE48BE58BE68BE78BE88BE98BEA8BEB8BECE6D58BEDD9F88BEE8BEFE6D68BF08BF18BF28BF38BF48BF58BF68BF7E6D78BF88BF98BFA8BFB8BFC8BFD8BFE8C408C418C428C438C448C458C468C47D7D3E6DD8C48E6DEBFD7D4D08C49D7D6B4E6CBEFE6DAD8C3D7CED0A28C4AC3CF8C4B8C4CE6DFBCBEB9C2E6DBD1A78C4D8C4EBAA2C2CF8C4FD8AB8C508C518C52CAEBE5EE8C53E6DC8C54B7F58C558C568C578C58C8E68C598C5AC4F58C5B8C5CE5B2C4FE8C5DCBFCE5B3D5AC8C5ED3EECAD8B0B28C5FCBCECDEA8C608C61BAEA8C628C638C64E5B58C65E5B48C66D7DAB9D9D6E6B6A8CDF0D2CBB1A6CAB58C67B3E8C9F3BFCDD0FBCAD2E5B6BBC28C688C698C6ACFDCB9AC8C6B8C6C8C6D8C6ED4D78C6F8C70BAA6D1E7CFFCBCD28C71E5B7C8DD8C728C738C74BFEDB1F6CBDE8C758C76BCC58C77BCC4D2FAC3DCBFDC8C788C798C7A8C7BB8BB8C7C8C7D8C7EC3C28C80BAAED4A28C818C828C838C848C858C868C878C888C89C7DEC4AFB2EC8C8AB9D18C8B8C8CE5BBC1C88C8D8C8ED5AF8C8F8C908C918C928C93E5BC8C94E5BE8C958C968C978C988C998C9A8C9BB4E7B6D4CBC2D1B0B5BC8C9C8C9DCAD98C9EB7E28C9F8CA0C9E48CA1BDAB8CA28CA3CEBED7F08CA48CA58CA68CA7D0A18CA8C9D98CA98CAAB6FBE6D8BCE28CABB3BE8CACC9D08CADE6D9B3A28CAE8CAF8CB08CB1DECC8CB2D3C8DECD8CB3D2A28CB48CB58CB68CB7DECE8CB88CB98CBA8CBBBECD8CBC8CBDDECF8CBE8CBF8CC0CAACD2FCB3DFE5EAC4E1BEA1CEB2C4F2BED6C6A8B2E38CC18CC2BED38CC38CC4C7FCCCEBBDECCEDD8CC58CC6CABAC6C1E5ECD0BC8CC78CC88CC9D5B98CCA8CCB8CCCE5ED8CCD8CCE8CCF8CD0CAF48CD1CDC0C2C58CD2E5EF8CD3C2C4E5F08CD48CD58CD68CD78CD88CD98CDAE5F8CDCD8CDBC9BD8CDC8CDD8CDE8CDF8CE08CE18CE2D2D9E1A88CE38CE48CE58CE6D3EC8CE7CBEAC6F18CE88CE98CEA8CEB8CECE1AC8CED8CEE8CEFE1A7E1A98CF08CF1E1AAE1AF8CF28CF3B2ED8CF4E1ABB8DAE1ADE1AEE1B0B5BAE1B18CF58CF68CF78CF88CF9E1B3E1B88CFA8CFB8CFC8CFD8CFED1D28D40E1B6E1B5C1EB8D418D428D43E1B78D44D4C08D45E1B28D46E1BAB0B68D478D488D498D4AE1B48D4BBFF98D4CE1B98D4D8D4EE1BB8D4F8D508D518D528D538D54E1BE8D558D568D578D588D598D5AE1BC8D5B8D5C8D5D8D5E8D5F8D60D6C58D618D628D638D648D658D668D67CFBF8D688D69E1BDE1BFC2CD8D6AB6EB8D6BD3F88D6C8D6DC7CD8D6E8D6FB7E58D708D718D728D738D748D758D768D778D788D79BEFE8D7A8D7B8D7C8D7D8D7E8D80E1C0E1C18D818D82E1C7B3E78D838D848D858D868D878D88C6E98D898D8A8D8B8D8C8D8DB4DE8D8ED1C28D8F8D908D918D92E1C88D938D94E1C68D958D968D978D988D99E1C58D9AE1C3E1C28D9BB1C08D9C8D9D8D9ED5B8E1C48D9F8DA08DA18DA28DA3E1CB8DA48DA58DA68DA78DA88DA98DAA8DABE1CCE1CA8DAC8DAD8DAE8DAF8DB08DB18DB28DB3EFFA8DB48DB5E1D3E1D2C7B68DB68DB78DB88DB98DBA8DBB8DBC8DBD8DBE8DBF8DC0E1C98DC18DC2E1CE8DC3E1D08DC48DC58DC68DC78DC88DC98DCA8DCB8DCC8DCD8DCEE1D48DCFE1D1E1CD8DD08DD1E1CF8DD28DD38DD48DD5E1D58DD68DD78DD88DD98DDA8DDB8DDC8DDD8DDE8DDF8DE08DE18DE2E1D68DE38DE48DE58DE68DE78DE88DE98DEA8DEB8DEC8DED8DEE8DEF8DF08DF18DF28DF38DF48DF58DF68DF78DF8E1D78DF98DFA8DFBE1D88DFC8DFD8DFE8E408E418E428E438E448E458E468E478E488E498E4A8E4B8E4C8E4D8E4E8E4F8E508E518E528E538E548E55E1DA8E568E578E588E598E5A8E5B8E5C8E5D8E5E8E5F8E608E618E62E1DB8E638E648E658E668E678E688E69CEA18E6A8E6B8E6C8E6D8E6E8E6F8E708E718E728E738E748E758E76E7DD8E77B4A8D6DD8E788E79D1B2B3B28E7A8E7BB9A4D7F3C7C9BEDEB9AE8E7CCED78E7D8E7EB2EEDBCF8E80BCBAD2D1CBC8B0CD8E818E82CFEF8E838E848E858E868E87D9E3BDED8E888E89B1D2CAD0B2BC8E8ACBA7B7AB8E8BCAA68E8C8E8D8E8ECFA38E8F8E90E0F8D5CAE0FB8E918E92E0FAC5C1CCFB8E93C1B1E0F9D6E3B2AFD6C4B5DB8E948E958E968E978E988E998E9A8E9BB4F8D6A18E9C8E9D8E9E8E9F8EA0CFAFB0EF8EA18EA2E0FC8EA38EA48EA58EA68EA7E1A1B3A38EA88EA9E0FDE0FEC3B18EAA8EAB8EAC8EADC3DD8EAEE1A2B7F98EAF8EB08EB18EB28EB38EB4BBCF8EB58EB68EB78EB88EB98EBA8EBBE1A3C4BB8EBC8EBD8EBE8EBF8EC0E1A48EC18EC2E1A58EC38EC4E1A6B4B18EC58EC68EC78EC88EC98ECA8ECB8ECC8ECD8ECE8ECF8ED08ED18ED28ED3B8C9C6BDC4EA8ED4B2A28ED5D0D28ED6E7DBBBC3D3D7D3C48ED7B9E3E2CF8ED88ED98EDAD7AF8EDBC7ECB1D38EDC8EDDB4B2E2D18EDE8EDF8EE0D0F2C2AEE2D08EE1BFE2D3A6B5D7E2D2B5EA8EE2C3EDB8FD8EE3B8AE8EE4C5D3B7CFE2D48EE58EE68EE78EE8E2D3B6C8D7F98EE98EEA8EEB8EEC8EEDCDA58EEE8EEF8EF08EF18EF2E2D88EF3E2D6CAFCBFB5D3B9E2D58EF48EF58EF68EF7E2D78EF88EF98EFA8EFB8EFC8EFD8EFE8F408F418F42C1AEC0C88F438F448F458F468F478F48E2DBE2DAC0AA8F498F4AC1CE8F4B8F4C8F4D8F4EE2DC8F4F8F508F518F528F538F548F558F568F578F588F598F5AE2DD8F5BE2DE8F5C8F5D8F5E8F5F8F608F618F628F638F64DBC88F65D1D3CDA28F668F67BDA88F688F698F6ADEC3D8A5BFAADBCDD2ECC6FAC5AA8F6B8F6C8F6DDEC48F6EB1D7DFAE8F6F8F708F71CABD8F72DFB18F73B9AD8F74D2FD8F75B8A5BAEB8F768F77B3DA8F788F798F7AB5DCD5C58F7B8F7C8F7D8F7EC3D6CFD2BBA18F80E5F3E5F28F818F82E5F48F83CDE48F84C8F58F858F868F878F888F898F8A8F8BB5AFC7BF8F8CE5F68F8D8F8E8F8FECB08F908F918F928F938F948F958F968F978F988F998F9A8F9B8F9C8F9D8F9EE5E68F9FB9E9B5B18FA0C2BCE5E8E5E7E5E98FA18FA28FA38FA4D2CD8FA58FA68FA7E1EAD0CE8FA8CDAE8FA9D1E58FAA8FABB2CAB1EB8FACB1F2C5ED8FAD8FAED5C3D3B08FAFE1DC8FB08FB18FB2E1DD8FB3D2DB8FB4B3B9B1CB8FB58FB68FB7CDF9D5F7E1DE8FB8BEB6B4FD8FB9E1DFBADCE1E0BBB2C2C9E1E18FBA8FBB8FBCD0EC8FBDCDBD8FBE8FBFE1E28FC0B5C3C5C7E1E38FC18FC2E1E48FC38FC48FC58FC6D3F98FC78FC88FC98FCA8FCB8FCCE1E58FCDD1AD8FCE8FCFE1E6CEA28FD08FD18FD28FD38FD48FD5E1E78FD6B5C28FD78FD88FD98FDAE1E8BBD58FDB8FDC8FDD8FDE8FDFD0C4E2E0B1D8D2E48FE08FE1E2E18FE28FE3BCC9C8CC8FE4E2E3ECFEECFDDFAF8FE58FE68FE7E2E2D6BECDFCC3A68FE88FE98FEAE3C38FEB8FECD6D2E2E78FED8FEEE2E88FEF8FF0D3C78FF18FF2E2ECBFEC8FF3E2EDE2E58FF48FF5B3C08FF68FF78FF8C4EE8FF98FFAE2EE8FFB8FFCD0C38FFDBAF6E2E9B7DEBBB3CCACCBCBE2E4E2E6E2EAE2EB8FFE90409041E2F790429043E2F4D4F5E2F390449045C5AD9046D5FAC5C2B2C090479048E2EF9049E2F2C1AFCBBC904A904BB5A1E2F9904C904D904EBCB1E2F1D0D4D4B9E2F5B9D6E2F6904F90509051C7D390529053905490559056E2F0905790589059905A905BD7DCEDA1905C905DE2F8905EEDA5E2FECAD1905F906090619062906390649065C1B59066BBD090679068BFD69069BAE3906A906BCBA1906C906D906EEDA6EDA3906F9070EDA29071907290739074BBD6EDA7D0F490759076EDA4BADEB6F7E3A1B6B2CCF1B9A79077CFA2C7A190789079BFD2907A907BB6F1907CE2FAE2FBE2FDE2FCC4D5E3A2907DD3C1907E90809081E3A7C7C49082908390849085CFA490869087E3A9BAB790889089908A908BE3A8908CBBDA908DE3A3908E908F9090E3A4E3AA9091E3A69092CEF2D3C690939094BBBC90959096D4C39097C4FA90989099EDA8D0FCE3A5909AC3F5909BE3ADB1AF909CE3B2909D909E909FBCC290A090A1E3ACB5BF90A290A390A490A590A690A790A890A9C7E9E3B090AA90AB90ACBEAACDEF90AD90AE90AF90B090B1BBF390B290B390B4CCE890B590B6E3AF90B7E3B190B8CFA7E3AE90B9CEA9BBDD90BA90BB90BC90BD90BEB5EBBEE5B2D2B3CD90BFB1B9E3ABB2D1B5ACB9DFB6E890C090C1CFEBE3B790C2BBCC90C390C4C8C7D0CA90C590C690C790C890C9E3B8B3EE90CA90CB90CC90CDEDA990CED3FAD3E490CF90D090D1EDAAE3B9D2E290D290D390D490D590D6E3B590D790D890D990DAD3DE90DB90DC90DD90DEB8D0E3B390DF90E0E3B6B7DF90E1E3B4C0A290E290E390E4E3BA90E590E690E790E890E990EA90EB90EC90ED90EE90EF90F090F190F290F390F490F590F690F7D4B890F890F990FA90FB90FC90FD90FE9140B4C89141E3BB9142BBC59143C9F791449145C9E5914691479148C4BD9149914A914B914C914D914E914FEDAB9150915191529153C2FD9154915591569157BBDBBFAE91589159915A915B915C915D915ECEBF915F916091619162E3BC9163BFB6916491659166916791689169916A916B916C916D916E916F9170917191729173917491759176B1EF91779178D4F79179917A917B917C917DE3BE917E9180918191829183918491859186EDAD918791889189918A918B918C918D918E918FE3BFBAA9EDAC91909191E3BD91929193919491959196919791989199919A919BE3C0919C919D919E919F91A091A1BAB691A291A391A4B6AE91A591A691A791A891A9D0B891AAB0C3EDAE91AB91AC91AD91AE91AFEDAFC0C191B0E3C191B191B291B391B491B591B691B791B891B991BA91BB91BC91BD91BE91BF91C091C1C5B391C291C391C491C591C691C791C891C991CA91CB91CC91CD91CE91CFE3C291D091D191D291D391D491D591D691D791D8DCB291D991DA91DB91DC91DD91DEEDB091DFB8EA91E0CEECEAA7D0E7CAF9C8D6CFB7B3C9CED2BDE491E191E2E3DEBBF2EAA8D5BD91E3C6DDEAA991E491E591E6EAAA91E7EAACEAAB91E8EAAEEAAD91E991EA91EB91ECBDD891EDEAAF91EEC2BE91EF91F091F191F2B4C1B4F791F391F4BBA791F591F691F791F891F9ECE6ECE5B7BFCBF9B1E291FAECE791FB91FC91FDC9C8ECE8ECE991FECAD6DED0B2C5D4FA92409241C6CBB0C7B4F2C8D3924292439244CDD092459246BFB8924792489249924A924B924C924DBFDB924E924FC7A4D6B49250C0A9DED1C9A8D1EFC5A4B0E7B3B6C8C592519252B0E292539254B7F692559256C5FA92579258B6F39259D5D2B3D0BCBC925A925B925CB3AD925D925E925F9260BEF1B0D1926192629263926492659266D2D6CAE3D7A59267CDB6B6B6BFB9D5DB9268B8A7C5D79269926A926BDED2BFD9C2D5C7C0926CBBA4B1A8926D926EC5EA926F9270C5FBCCA79271927292739274B1A7927592769277B5D692789279927AC4A8927BDED3D1BAB3E9927CC3F2927D927EB7F79280D6F4B5A3B2F0C4B4C4E9C0ADDED49281B0E8C5C4C1E09282B9D59283BEDCCDD8B0CE9284CDCFDED6BED0D7BEDED5D5D0B0DD92859286C4E292879288C2A3BCF09289D3B5C0B9C5A1B2A6D4F1928A928BC0A8CAC3DED7D5FC928CB9B0928DC8ADCBA9928EDED9BFBD928F929092919292C6B4D7A7CAB0C4C39293B3D6B9D29294929592969297D6B8EAFCB0B492989299929A929BBFE6929C929DCCF4929E929F92A092A1CDDA92A292A392A4D6BFC2CE92A5CECECCA2D0AEC4D3B5B2DED8D5F5BCB7BBD392A692A7B0A492A8C5B2B4EC92A992AA92ABD5F192AC92ADEAFD92AE92AF92B092B192B292B3DEDACDA692B492B5CDEC92B692B792B892B9CEE6DEDC92BACDB1C0A692BB92BCD7BD92BDDEDBB0C6BAB4C9D3C4F3BEE892BE92BF92C092C1B2B692C292C392C492C592C692C792C892C9C0CCCBF092CABCF1BBBBB5B792CB92CC92CDC5F592CEDEE692CF92D092D1DEE3BEDD92D292D3DEDF92D492D592D692D7B4B7BDDD92D892D9DEE0C4ED92DA92DB92DC92DDCFC692DEB5E092DF92E092E192E2B6DECADAB5F4DEE592E3D5C692E4DEE1CCCDC6FE92E5C5C592E692E792E8D2B492E9BEF292EA92EB92EC92ED92EE92EF92F0C2D392F1CCBDB3B892F2BDD392F3BFD8CDC6D1DAB4EB92F4DEE4DEDDDEE792F5EAFE92F692F7C2B0DEE292F892F9D6C0B5A792FAB2F492FBDEE892FCDEF292FD92FE934093419342DEED9343DEF193449345C8E0934693479348D7E1DEEFC3E8CCE19349B2E5934A934B934CD2BE934D934E934F9350935193529353DEEE9354DEEBCED59355B4A79356935793589359935ABFABBEBE935B935CBDD2935D935E935F9360DEE99361D4AE9362DEDE9363DEEA9364936593669367C0BF9368DEECB2F3B8E9C2A79369936ABDC1936B936C936D936E936FDEF5DEF893709371B2ABB4A493729373B4EAC9A6937493759376937793789379DEF6CBD1937AB8E3937BDEF7DEFA937C937D937E9380DEF9938193829383CCC29384B0E1B4EE93859386938793889389938AE5BA938B938C938D938E938FD0AF93909391B2EB9392EBA19393DEF493949395C9E3DEF3B0DAD2A1B1F79396CCAF939793989399939A939B939C939DDEF0939ECBA4939F93A093A1D5AA93A293A393A493A593A6DEFB93A793A893A993AA93AB93AC93AD93AEB4DD93AFC4A693B093B193B2DEFD93B393B493B593B693B793B893B993BA93BB93BCC3FEC4A1DFA193BD93BE93BF93C093C193C293C3C1CC93C4DEFCBEEF93C5C6B293C693C793C893C993CA93CB93CC93CD93CEB3C5C8F693CF93D0CBBADEFE93D193D2DFA493D393D493D593D6D7B293D793D893D993DA93DBB3B793DC93DD93DE93DFC1C393E093E1C7CBB2A5B4E993E2D7AB93E393E493E593E6C4EC93E7DFA2DFA393E8DFA593E9BAB393EA93EB93ECDFA693EDC0DE93EE93EFC9C393F093F193F293F393F493F593F6B2D9C7E693F7DFA793F8C7DC93F993FA93FB93FCDFA8EBA293FD93FE944094419442CBD3944394449445DFAA9446DFA99447B2C194489449944A944B944C944D944E944F9450945194529453945494559456945794589459945A945B945C945D945E945F9460C5CA94619462946394649465946694679468DFAB9469946A946B946C946D946E946F9470D4DC94719472947394749475C8C19476947794789479947A947B947C947D947E948094819482DFAC94839484948594869487BEF094889489DFADD6A7948A948B948C948DEAB7EBB6CAD5948ED8FCB8C4948FB9A594909491B7C5D5FE94929493949494959496B9CA94979498D0A7F4CD9499949AB5D0949B949CC3F4949DBEC8949E949F94A0EBB7B0BD94A194A2BDCC94A3C1B294A4B1D6B3A894A594A694A7B8D2C9A294A894A9B6D894AA94AB94AC94ADEBB8BEB494AE94AF94B0CAFD94B1C7C394B2D5FB94B394B4B7F394B594B694B794B894B994BA94BB94BC94BD94BE94BF94C094C194C294C3CEC494C494C594C6D5ABB1F394C794C894C9ECB3B0DF94CAECB594CB94CC94CDB6B794CEC1CF94CFF5FAD0B194D094D1D5E594D2CED394D394D4BDEFB3E294D5B8AB94D6D5B694D7EDBD94D8B6CF94D9CBB9D0C294DA94DB94DC94DD94DE94DF94E094E1B7BD94E294E3ECB6CAA994E494E594E6C5D494E7ECB9ECB8C2C3ECB794E894E994EA94EBD0FDECBA94ECECBBD7E594ED94EEECBC94EF94F094F1ECBDC6EC94F294F394F494F594F694F794F894F9CEDE94FABCC894FB94FCC8D5B5A9BEC9D6BCD4E794FD94FED1AED0F1EAB8EAB9EABABAB59540954195429543CAB1BFF595449545CDFA9546954795489549954AEAC0954BB0BAEABE954C954DC0A5954E954F9550EABB9551B2FD9552C3F7BBE8955395549555D2D7CEF4EABF955695579558EABC9559955A955BEAC3955CD0C7D3B3955D955E955F9560B4BA9561C3C1D7F29562956395649565D5D19566CAC79567EAC595689569EAC4EAC7EAC6956A956B956C956D956ED6E7956FCFD495709571EACB9572BBCE9573957495759576957795789579BDFAC9CE957A957BEACC957C957DC9B9CFFEEACAD4CEEACDEACF957E9580CDED9581958295839584EAC99585EACE95869587CEEE9588BBDE9589B3BF958A958B958C958D958EC6D5BEB0CEFA958F95909591C7E79592BEA7EAD095939594D6C7959595969597C1C095989599959AD4DD959BEAD1959C959DCFBE959E959F95A095A1EAD295A295A395A495A5CAEE95A695A795A895A9C5AFB0B595AA95AB95AC95AD95AEEAD495AF95B095B195B295B395B495B595B695B7EAD3F4DF95B895B995BA95BB95BCC4BA95BD95BE95BF95C095C1B1A995C295C395C495C5E5DF95C695C795C895C9EAD595CA95CB95CC95CD95CE95CF95D095D195D295D395D495D595D695D795D895D995DA95DB95DC95DD95DE95DF95E095E195E295E3CAEF95E4EAD6EAD7C6D895E595E695E795E895E995EA95EB95ECEAD895ED95EEEAD995EF95F095F195F295F395F4D4BB95F5C7FAD2B7B8FC95F695F7EAC295F8B2DC95F995FAC2FC95FBD4F8CCE6D7EE95FC95FD95FE9640964196429643D4C2D3D0EBC3C5F39644B7FE96459646EBD4964796489649CBB7EBDE964AC0CA964B964C964DCDFB964EB3AF964FC6DA965096519652965396549655EBFC9656C4BE9657CEB4C4A9B1BED4FD9658CAF59659D6EC965A965BC6D3B6E4965C965D965E965FBBFA96609661D0E096629663C9B19664D4D3C8A896659666B8CB9667E8BEC9BC96689669E8BB966AC0EED0D3B2C4B4E5966BE8BC966C966DD5C8966E966F967096719672B6C59673E8BDCAF8B8DCCCF5967496759676C0B496779678D1EEE8BFE8C29679967ABABC967BB1ADBDDC967CEABDE8C3967DE8C6967EE8CB9680968196829683E8CC9684CBC9B0E59685BCAB96869687B9B996889689E8C1968ACDF7968BE8CA968C968D968E968FCEF69690969196929693D5ED9694C1D6E8C49695C3B69696B9FBD6A6E8C8969796989699CAE0D4E6969AE8C0969BE8C5E8C7969CC7B9B7E3969DE8C9969EBFDDE8D2969F96A0E8D796A1E8D5BCDCBCCFE8DB96A296A396A496A596A696A796A896A9E8DE96AAE8DAB1FA96AB96AC96AD96AE96AF96B096B196B296B396B4B0D8C4B3B8CCC6E2C8BEC8E196B596B696B7E8CFE8D4E8D696B8B9F1E8D8D7F596B9C4FB96BAE8DC96BB96BCB2E996BD96BE96BFE8D196C096C1BCED96C296C3BFC2E8CDD6F996C4C1F8B2F196C596C696C796C896C996CA96CB96CCE8DF96CDCAC1E8D996CE96CF96D096D1D5A496D2B1EAD5BBE8CEE8D0B6B0E8D396D3E8DDC0B896D4CAF796D5CBA896D696D7C6DCC0F596D896D996DA96DB96DCE8E996DD96DE96DFD0A396E096E196E296E396E496E596E6E8F2D6EA96E796E896E996EA96EB96EC96EDE8E0E8E196EE96EF96F0D1F9BACBB8F996F196F2B8F1D4D4E8EF96F3E8EEE8ECB9F0CCD2E8E6CEA6BFF296F4B0B8E8F1E8F096F5D7C096F6E8E496F7CDA9C9A396F8BBB8BDDBE8EA96F996FA96FB96FC96FD96FE9740974197429743E8E2E8E3E8E5B5B5E8E7C7C5E8EBE8EDBDB0D7AE9744E8F897459746974797489749974A974B974CE8F5974DCDB0E8F6974E974F9750975197529753975497559756C1BA9757E8E89758C3B7B0F09759975A975B975C975D975E975F9760E8F4976197629763E8F7976497659766B9A3976797689769976A976B976C976D976E976F9770C9D2977197729773C3CECEE0C0E69774977597769777CBF39778CCDDD0B59779977ACAE1977BE8F3977C977D977E9780978197829783978497859786BCEC9787E8F997889789978A978B978C978DC3DE978EC6E5978FB9F79790979197929793B0F497949795D7D897969797BCAC9798C5EF9799979A979B979C979DCCC4979E979FE9A697A097A197A297A397A497A597A697A797A897A9C9AD97AAE9A2C0E297AB97AC97ADBFC397AE97AF97B0E8FEB9D797B1E8FB97B297B397B497B5E9A497B697B797B8D2CE97B997BA97BB97BC97BDE9A397BED6B2D7B597BFE9A797C0BDB797C197C297C397C497C597C697C797C897C997CA97CB97CCE8FCE8FD97CD97CE97CFE9A197D097D197D297D397D497D597D697D7CDD697D897D9D2AC97DA97DB97DCE9B297DD97DE97DF97E0E9A997E197E297E3B4AA97E4B4BB97E597E6E9AB97E797E897E997EA97EB97EC97ED97EE97EF97F097F197F297F397F497F597F697F7D0A897F897F9E9A597FA97FBB3FE97FC97FDE9ACC0E397FEE9AA98409841E9B998429843E9B89844984598469847E9AE98489849E8FA984A984BE9A8984C984D984E984F9850BFACE9B1E9BA98519852C2A5985398549855E9AF9856B8C59857E9AD9858D3DCE9B4E9B5E9B79859985A985BE9C7985C985D985E985F98609861C0C6E9C598629863E9B098649865E9BBB0F19866986798689869986A986B986C986D986E986FE9BCD5A598709871E9BE9872E9BF987398749875E9C198769877C1F198789879C8B6987A987B987CE9BD987D987E988098819882E9C29883988498859886988798889889988AE9C3988BE9B3988CE9B6988DBBB1988E988F9890E9C0989198929893989498959896BCF7989798989899E9C4E9C6989A989B989C989D989E989F98A098A198A298A398A498A5E9CA98A698A798A898A9E9CE98AA98AB98AC98AD98AE98AF98B098B198B298B3B2DB98B4E9C898B598B698B798B898B998BA98BB98BC98BD98BEB7AE98BF98C098C198C298C398C498C598C698C798C898C998CAE9CBE9CC98CB98CC98CD98CE98CF98D0D5C198D1C4A398D298D398D498D598D698D7E9D898D8BAE198D998DA98DB98DCE9C998DDD3A398DE98DF98E0E9D498E198E298E398E498E598E698E7E9D7E9D098E898E998EA98EB98ECE9CF98ED98EEC7C198EF98F098F198F298F398F498F598F6E9D298F798F898F998FA98FB98FC98FDE9D9B3C898FEE9D399409941994299439944CFF0994599469947E9CD99489949994A994B994C994D994E994F995099519952B3F79953995499559956995799589959E9D6995A995BE9DA995C995D995ECCB4995F99609961CFAD99629963996499659966996799689969996AE9D5996BE9DCE9DB996C996D996E996F9970E9DE99719972997399749975997699779978E9D19979997A997B997C997D997E99809981E9DD9982E9DFC3CA9983998499859986998799889989998A998B998C998D998E998F9990999199929993999499959996999799989999999A999B999C999D999E999F99A099A199A299A399A499A599A699A799A899A999AA99AB99AC99AD99AE99AF99B099B199B299B399B499B599B699B799B899B999BA99BB99BC99BD99BE99BF99C099C199C299C399C499C599C699C799C899C999CA99CB99CC99CD99CE99CF99D099D199D299D399D499D599D699D799D899D999DA99DB99DC99DD99DE99DF99E099E199E299E399E499E599E699E799E899E999EA99EB99EC99ED99EE99EF99F099F199F299F399F499F5C7B7B4CEBBB6D0C0ECA399F699F7C5B799F899F999FA99FB99FC99FD99FE9A409A419A42D3FB9A439A449A459A46ECA49A47ECA5C6DB9A489A499A4ABFEE9A4B9A4C9A4D9A4EECA69A4F9A50ECA7D0AA9A51C7B89A529A53B8E89A549A559A569A579A589A599A5A9A5B9A5C9A5D9A5E9A5FECA89A609A619A629A639A649A659A669A67D6B9D5FDB4CBB2BDCEE4C6E79A689A69CDE19A6A9A6B9A6C9A6D9A6E9A6F9A709A719A729A739A749A759A769A77B4F59A78CBC0BCDF9A799A7A9A7B9A7CE9E2E9E3D1EAE9E59A7DB4F9E9E49A7ED1B3CAE2B2D09A80E9E89A819A829A839A84E9E6E9E79A859A86D6B39A879A889A89E9E9E9EA9A8A9A8B9A8C9A8D9A8EE9EB9A8F9A909A919A929A939A949A959A96E9EC9A979A989A999A9A9A9B9A9C9A9D9A9EECAFC5B9B6CE9A9FD2F39AA09AA19AA29AA39AA49AA59AA6B5EE9AA7BBD9ECB19AA89AA9D2E39AAA9AAB9AAC9AAD9AAECEE39AAFC4B89AB0C3BF9AB19AB2B6BED8B9B1C8B1CFB1D1C5FE9AB3B1D09AB4C3AB9AB59AB69AB79AB89AB9D5B19ABA9ABB9ABC9ABD9ABE9ABF9AC09AC1EBA4BAC19AC29AC39AC4CCBA9AC59AC69AC7EBA59AC8EBA79AC99ACA9ACBEBA89ACC9ACD9ACEEBA69ACF9AD09AD19AD29AD39AD49AD5EBA9EBABEBAA9AD69AD79AD89AD99ADAEBAC9ADBCACFD8B5C3F19ADCC3A5C6F8EBADC4CA9ADDEBAEEBAFEBB0B7D59ADE9ADF9AE0B7FA9AE1EBB1C7E29AE2EBB39AE3BAA4D1F5B0B1EBB2EBB49AE49AE59AE6B5AAC2C8C7E89AE7EBB59AE8CBAEE3DF9AE99AEAD3C09AEB9AEC9AED9AEED9DB9AEF9AF0CDA1D6ADC7F39AF19AF29AF3D9E0BBE39AF4BABAE3E29AF59AF69AF79AF89AF9CFAB9AFA9AFB9AFCE3E0C9C79AFDBAB99AFE9B409B41D1B4E3E1C8EAB9AFBDADB3D8CEDB9B429B43CCC09B449B459B46E3E8E3E9CDF49B479B489B499B4A9B4BCCAD9B4CBCB39B4DE3EA9B4EE3EB9B4F9B50D0DA9B519B529B53C6FBB7DA9B549B55C7DFD2CACED69B56E3E4E3EC9B57C9F2B3C19B589B59E3E79B5A9B5BC6E3E3E59B5C9B5DEDB3E3E69B5E9B5F9B609B61C9B39B62C5E69B639B649B65B9B59B66C3BB9B67E3E3C5BDC1A4C2D9B2D79B68E3EDBBA6C4AD9B69E3F0BEDA9B6A9B6BE3FBE3F5BAD39B6C9B6D9B6E9B6FB7D0D3CD9B70D6CED5D3B9C1D5B4D1D89B719B729B739B74D0B9C7F69B759B769B77C8AAB2B49B78C3DA9B799B7A9B7BE3EE9B7C9B7DE3FCE3EFB7A8E3F7E3F49B7E9B809B81B7BA9B829B83C5A29B84E3F6C5DDB2A8C6FC9B85C4E09B869B87D7A29B88C0E1E3F99B899B8AE3FAE3FDCCA9E3F39B8BD3BE9B8CB1C3EDB4E3F1E3F29B8DE3F8D0BAC6C3D4F3E3FE9B8E9B8FBDE09B909B91E4A79B929B93E4A69B949B959B96D1F3E4A39B97E4A99B989B999B9AC8F79B9B9B9C9B9D9B9ECFB49B9FE4A8E4AEC2E59BA09BA1B6B49BA29BA39BA49BA59BA69BA7BDF29BA8E4A29BA99BAABAE9E4AA9BAB9BACE4AC9BAD9BAEB6FDD6DEE4B29BAFE4AD9BB09BB19BB2E4A19BB3BBEECDDDC7A2C5C99BB49BB5C1F79BB6E4A49BB7C7B3BDACBDBDE4A59BB8D7C7B2E29BB9E4ABBCC3E4AF9BBABBEBE4B0C5A8E4B19BBB9BBC9BBD9BBED5E3BFA39BBFE4BA9BC0E4B79BC1E4BB9BC29BC3E4BD9BC49BC5C6D69BC69BC7BAC6C0CB9BC89BC99BCAB8A1E4B49BCB9BCC9BCD9BCED4A19BCF9BD0BAA3BDFE9BD19BD29BD3E4BC9BD49BD59BD69BD79BD8CDBF9BD99BDAC4F99BDB9BDCCFFBC9E69BDD9BDED3BF9BDFCFD19BE09BE1E4B39BE2E4B8E4B9CCE99BE39BE49BE59BE69BE7CCCE9BE8C0D4E4B5C1B0E4B6CED09BE9BBC1B5D39BEAC8F3BDA7D5C7C9ACB8A2E4CA9BEB9BECE4CCD1C49BED9BEED2BA9BEF9BF0BAAD9BF19BF2BAD49BF39BF49BF59BF69BF79BF8E4C3B5ED9BF99BFA9BFBD7CDE4C0CFFDE4BF9BFC9BFD9BFEC1DCCCCA9C409C419C429C43CAE79C449C459C469C47C4D79C48CCD4E4C89C499C4A9C4BE4C7E4C19C4CE4C4B5AD9C4D9C4ED3D99C4FE4C69C509C519C529C53D2F9B4E39C54BBB49C559C56C9EE9C57B4BE9C589C599C5ABBEC9C5BD1CD9C5CCCEDEDB59C5D9C5E9C5F9C609C619C629C639C64C7E59C659C669C679C68D4A89C69E4CBD7D5E4C29C6ABDA5E4C59C6B9C6CD3E69C6DE4C9C9F89C6E9C6FE4BE9C709C71D3E59C729C73C7FEB6C99C74D4FCB2B3E4D79C759C769C77CEC29C78E4CD9C79CEBC9C7AB8DB9C7B9C7CE4D69C7DBFCA9C7E9C809C81D3CE9C82C3EC9C839C849C859C869C879C889C899C8AC5C8E4D89C8B9C8C9C8D9C8E9C8F9C909C919C92CDC4E4CF9C939C949C959C96E4D4E4D59C97BAFE9C98CFE69C999C9AD5BF9C9B9C9C9C9DE4D29C9E9C9F9CA09CA19CA29CA39CA49CA59CA69CA79CA8E4D09CA99CAAE4CE9CAB9CAC9CAD9CAE9CAF9CB09CB19CB29CB39CB49CB59CB69CB79CB89CB9CDE5CAAA9CBA9CBB9CBCC0A39CBDBDA6E4D39CBE9CBFB8C89CC09CC19CC29CC39CC4E4E7D4B49CC59CC69CC79CC89CC99CCA9CCBE4DB9CCC9CCD9CCEC1EF9CCF9CD0E4E99CD19CD2D2E79CD39CD4E4DF9CD5E4E09CD69CD7CFAA9CD89CD99CDA9CDBCBDD9CDCE4DAE4D19CDDE4E59CDEC8DCE4E39CDF9CE0C4E7E4E29CE1E4E19CE29CE39CE4B3FCE4E89CE59CE69CE79CE8B5E19CE99CEA9CEBD7CC9CEC9CED9CEEE4E69CEFBBAC9CF0D7D2CCCFEBF89CF1E4E49CF29CF3B9F69CF49CF59CF6D6CDE4D9E4DCC2FAE4DE9CF7C2CBC0C4C2D09CF8B1F5CCB29CF99CFA9CFB9CFC9CFD9CFE9D409D419D429D43B5CE9D449D459D469D47E4EF9D489D499D4A9D4B9D4C9D4D9D4E9D4FC6AF9D509D519D52C6E19D539D54E4F59D559D569D579D589D59C2A99D5A9D5B9D5CC0ECD1DDE4EE9D5D9D5E9D5F9D609D619D629D639D649D659D66C4AE9D679D689D69E4ED9D6A9D6B9D6C9D6DE4F6E4F4C2FE9D6EE4DD9D6FE4F09D70CAFE9D71D5C49D729D73E4F19D749D759D769D779D789D799D7AD1FA9D7B9D7C9D7D9D7E9D809D819D82E4EBE4EC9D839D849D85E4F29D86CEAB9D879D889D899D8A9D8B9D8C9D8D9D8E9D8F9D90C5CB9D919D929D93C7B19D94C2BA9D959D969D97E4EA9D989D999D9AC1CA9D9B9D9C9D9D9D9E9D9F9DA0CCB6B3B19DA19DA29DA3E4FB9DA4E4F39DA59DA69DA7E4FA9DA8E4FD9DA9E4FC9DAA9DAB9DAC9DAD9DAE9DAF9DB0B3CE9DB19DB29DB3B3BAE4F79DB49DB5E4F9E4F8C5EC9DB69DB79DB89DB99DBA9DBB9DBC9DBD9DBE9DBF9DC09DC19DC2C0BD9DC39DC49DC59DC6D4E89DC79DC89DC99DCA9DCBE5A29DCC9DCD9DCE9DCF9DD09DD19DD29DD39DD49DD59DD6B0C49DD79DD8E5A49DD99DDAE5A39DDB9DDC9DDD9DDE9DDF9DE0BCA49DE1E5A59DE29DE39DE49DE59DE69DE7E5A19DE89DE99DEA9DEB9DEC9DED9DEEE4FEB1F49DEF9DF09DF19DF29DF39DF49DF59DF69DF79DF89DF9E5A89DFAE5A9E5A69DFB9DFC9DFD9DFE9E409E419E429E439E449E459E469E47E5A7E5AA9E489E499E4A9E4B9E4C9E4D9E4E9E4F9E509E519E529E539E549E559E569E579E589E599E5A9E5B9E5C9E5D9E5E9E5F9E609E619E629E639E649E659E669E679E68C6D99E699E6A9E6B9E6C9E6D9E6E9E6F9E70E5ABE5AD9E719E729E739E749E759E769E77E5AC9E789E799E7A9E7B9E7C9E7D9E7E9E809E819E829E839E849E859E869E879E889E89E5AF9E8A9E8B9E8CE5AE9E8D9E8E9E8F9E909E919E929E939E949E959E969E979E989E999E9A9E9B9E9C9E9D9E9EB9E09E9F9EA0E5B09EA19EA29EA39EA49EA59EA69EA79EA89EA99EAA9EAB9EAC9EAD9EAEE5B19EAF9EB09EB19EB29EB39EB49EB59EB69EB79EB89EB99EBABBF0ECE1C3F09EBBB5C6BBD29EBC9EBD9EBE9EBFC1E9D4EE9EC0BEC49EC19EC29EC3D7C69EC4D4D6B2D3ECBE9EC59EC69EC79EC8EAC19EC99ECA9ECBC2AFB4B69ECC9ECD9ECED1D79ECF9ED09ED1B3B49ED2C8B2BFBBECC09ED39ED4D6CB9ED59ED6ECBFECC19ED79ED89ED99EDA9EDB9EDC9EDD9EDE9EDF9EE09EE19EE29EE3ECC5BEE6CCBFC5DABEBC9EE4ECC69EE5B1FE9EE69EE79EE8ECC4D5A8B5E39EE9ECC2C1B6B3E39EEA9EEBECC3CBB8C0C3CCFE9EEC9EED9EEE9EEFC1D29EF0ECC89EF19EF29EF39EF49EF59EF69EF79EF89EF99EFA9EFB9EFC9EFDBAE6C0D39EFED6F29F409F419F42D1CC9F439F449F459F46BFBE9F47B7B3C9D5ECC7BBE29F48CCCCBDFDC8C89F49CFA99F4A9F4B9F4C9F4D9F4E9F4F9F50CDE99F51C5EB9F529F539F54B7E99F559F569F579F589F599F5A9F5B9F5C9F5D9F5E9F5FD1C9BAB89F609F619F629F639F64ECC99F659F66ECCA9F67BBC0ECCB9F68ECE2B1BAB7D99F699F6A9F6B9F6C9F6D9F6E9F6F9F709F719F729F73BDB99F749F759F769F779F789F799F7A9F7BECCCD1E6ECCD9F7C9F7D9F7E9F80C8BB9F819F829F839F849F859F869F879F889F899F8A9F8B9F8C9F8D9F8EECD19F8F9F909F919F92ECD39F93BBCD9F94BCE59F959F969F979F989F999F9A9F9B9F9C9F9D9F9E9F9F9FA09FA1ECCF9FA2C9B79FA39FA49FA59FA69FA7C3BA9FA8ECE3D5D5ECD09FA99FAA9FAB9FAC9FADD6F39FAE9FAF9FB0ECD2ECCE9FB19FB29FB39FB4ECD49FB5ECD59FB69FB7C9BF9FB89FB99FBA9FBB9FBC9FBDCFA89FBE9FBF9FC09FC19FC2D0DC9FC39FC49FC59FC6D1AC9FC79FC89FC99FCAC8DB9FCB9FCC9FCDECD6CEF59FCE9FCF9FD09FD19FD2CAECECDA9FD39FD49FD59FD69FD79FD89FD9ECD99FDA9FDB9FDCB0BE9FDD9FDE9FDF9FE09FE19FE2ECD79FE3ECD89FE49FE59FE6ECE49FE79FE89FE99FEA9FEB9FEC9FED9FEE9FEFC8BC9FF09FF19FF29FF39FF49FF59FF69FF79FF89FF9C1C79FFA9FFB9FFC9FFD9FFEECDCD1E0A040A041A042A043A044A045A046A047A048A049ECDBA04AA04BA04CA04DD4EFA04EECDDA04FA050A051A052A053A054DBC6A055A056A057A058A059A05AA05BA05CA05DA05EECDEA05FA060A061A062A063A064A065A066A067A068A069A06AB1ACA06BA06CA06DA06EA06FA070A071A072A073A074A075A076A077A078A079A07AA07BA07CA07DA07EA080A081ECDFA082A083A084A085A086A087A088A089A08AA08BECE0A08CD7A6A08DC5C0A08EA08FA090EBBCB0AEA091A092A093BEF4B8B8D2AFB0D6B5F9A094D8B3A095CBACA096E3DDA097A098A099A09AA09BA09CA09DC6ACB0E6A09EA09FA0A0C5C6EBB9A0A1A0A2A0A3A0A4EBBAA0A5A0A6A0A7EBBBA0A8A0A9D1C0A0AAC5A3A0ABEAF2A0ACC4B2A0ADC4B5C0CEA0AEA0AFA0B0EAF3C4C1A0B1CEEFA0B2A0B3A0B4A0B5EAF0EAF4A0B6A0B7C9FCA0B8A0B9C7A3A0BAA0BBA0BCCCD8CEFEA0BDA0BEA0BFEAF5EAF6CFACC0E7A0C0A0C1EAF7A0C2A0C3A0C4A0C5A0C6B6BFEAF8A0C7EAF9A0C8EAFAA0C9A0CAEAFBA0CBA0CCA0CDA0CEA0CFA0D0A0D1A0D2A0D3A0D4A0D5A0D6EAF1A0D7A0D8A0D9A0DAA0DBA0DCA0DDA0DEA0DFA0E0A0E1A0E2C8AEE1EBA0E3B7B8E1ECA0E4A0E5A0E6E1EDA0E7D7B4E1EEE1EFD3CCA0E8A0E9A0EAA0EBA0ECA0EDA0EEE1F1BFF1E1F0B5D2A0EFA0F0A0F1B1B7A0F2A0F3A0F4A0F5E1F3E1F2A0F6BAFCA0F7E1F4A0F8A0F9A0FAA0FBB9B7A0FCBED1A0FDA0FEAA40AA41C4FCAA42BADDBDC6AA43AA44AA45AA46AA47AA48E1F5E1F7AA49AA4AB6C0CFC1CAA8E1F6D5F8D3FCE1F8E1FCE1F9AA4BAA4CE1FAC0EAAA4DE1FEE2A1C0C7AA4EAA4FAA50AA51E1FBAA52E1FDAA53AA54AA55AA56AA57AA58E2A5AA59AA5AAA5BC1D4AA5CAA5DAA5EAA5FE2A3AA60E2A8B2FEE2A2AA61AA62AA63C3CDB2C2E2A7E2A6AA64AA65E2A4E2A9AA66AA67E2ABAA68AA69AA6AD0C9D6EDC3A8E2ACAA6BCFD7AA6CAA6DE2AEAA6EAA6FBAEFAA70AA71E9E0E2ADE2AAAA72AA73AA74AA75BBABD4B3AA76AA77AA78AA79AA7AAA7BAA7CAA7DAA7EAA80AA81AA82AA83E2B0AA84AA85E2AFAA86E9E1AA87AA88AA89AA8AE2B1AA8BAA8CAA8DAA8EAA8FAA90AA91AA92E2B2AA93AA94AA95AA96AA97AA98AA99AA9AAA9BAA9CAA9DE2B3CCA1AA9EE2B4AA9FAAA0AB40AB41AB42AB43AB44AB45AB46AB47AB48AB49AB4AAB4BE2B5AB4CAB4DAB4EAB4FAB50D0FEAB51AB52C2CAAB53D3F1AB54CDF5AB55AB56E7E0AB57AB58E7E1AB59AB5AAB5BAB5CBEC1AB5DAB5EAB5FAB60C2EAAB61AB62AB63E7E4AB64AB65E7E3AB66AB67AB68AB69AB6AAB6BCDE6AB6CC3B5AB6DAB6EE7E2BBB7CFD6AB6FC1E1E7E9AB70AB71AB72E7E8AB73AB74E7F4B2A3AB75AB76AB77AB78E7EAAB79E7E6AB7AAB7BAB7CAB7DAB7EE7ECE7EBC9BAAB80AB81D5E4AB82E7E5B7A9E7E7AB83AB84AB85AB86AB87AB88AB89E7EEAB8AAB8BAB8CAB8DE7F3AB8ED6E9AB8FAB90AB91AB92E7EDAB93E7F2AB94E7F1AB95AB96AB97B0E0AB98AB99AB9AAB9BE7F5AB9CAB9DAB9EAB9FABA0AC40AC41AC42AC43AC44AC45AC46AC47AC48AC49AC4AC7F2AC4BC0C5C0EDAC4CAC4DC1F0E7F0AC4EAC4FAC50AC51E7F6CBF6AC52AC53AC54AC55AC56AC57AC58AC59AC5AE8A2E8A1AC5BAC5CAC5DAC5EAC5FAC60D7C1AC61AC62E7FAE7F9AC63E7FBAC64E7F7AC65E7FEAC66E7FDAC67E7FCAC68AC69C1D5C7D9C5FDC5C3AC6AAC6BAC6CAC6DAC6EC7EDAC6FAC70AC71AC72E8A3AC73AC74AC75AC76AC77AC78AC79AC7AAC7BAC7CAC7DAC7EAC80AC81AC82AC83AC84AC85AC86E8A6AC87E8A5AC88E8A7BAF7E7F8E8A4AC89C8F0C9AAAC8AAC8BAC8CAC8DAC8EAC8FAC90AC91AC92AC93AC94AC95AC96E8A9AC97AC98B9E5AC99AC9AAC9BAC9CAC9DD1FEE8A8AC9EAC9FACA0AD40AD41AD42E8AAAD43E8ADE8AEAD44C1A7AD45AD46AD47E8AFAD48AD49AD4AE8B0AD4BAD4CE8ACAD4DE8B4AD4EAD4FAD50AD51AD52AD53AD54AD55AD56AD57AD58E8ABAD59E8B1AD5AAD5BAD5CAD5DAD5EAD5FAD60AD61E8B5E8B2E8B3AD62AD63AD64AD65AD66AD67AD68AD69AD6AAD6BAD6CAD6DAD6EAD6FAD70AD71E8B7AD72AD73AD74AD75AD76AD77AD78AD79AD7AAD7BAD7CAD7DAD7EAD80AD81AD82AD83AD84AD85AD86AD87AD88AD89E8B6AD8AAD8BAD8CAD8DAD8EAD8FAD90AD91AD92B9CFAD93F0ACAD94F0ADAD95C6B0B0EAC8BFAD96CDDFAD97AD98AD99AD9AAD9BAD9CAD9DCECDEAB1AD9EAD9FADA0AE40EAB2AE41C6BFB4C9AE42AE43AE44AE45AE46AE47AE48EAB3AE49AE4AAE4BAE4CD5E7AE4DAE4EAE4FAE50AE51AE52AE53AE54DDF9AE55EAB4AE56EAB5AE57EAB6AE58AE59AE5AAE5BB8CADFB0C9F5AE5CCCF0AE5DAE5EC9FAAE5FAE60AE61AE62AE63C9FBAE64AE65D3C3CBA6AE66B8A6F0AEB1C2AE67E5B8CCEFD3C9BCD7C9EAAE68B5E7AE69C4D0B5E9AE6AEEAEBBADAE6BAE6CE7DEAE6DEEAFAE6EAE6FAE70AE71B3A9AE72AE73EEB2AE74AE75EEB1BDE7AE76EEB0CEB7AE77AE78AE79AE7AC5CFAE7BAE7CAE7DAE7EC1F4DBCEEEB3D0F3AE80AE81AE82AE83AE84AE85AE86AE87C2D4C6E8AE88AE89AE8AB7ACAE8BAE8CAE8DAE8EAE8FAE90AE91EEB4AE92B3EBAE93AE94AE95BBFBEEB5AE96AE97AE98AE99AE9AE7DCAE9BAE9CAE9DEEB6AE9EAE9FBDAEAEA0AF40AF41AF42F1E2AF43AF44AF45CAE8AF46D2C9F0DAAF47F0DBAF48F0DCC1C6AF49B8EDBECEAF4AAF4BF0DEAF4CC5B1F0DDD1F1AF4DF0E0B0CCBDEAAF4EAF4FAF50AF51AF52D2DFF0DFAF53B4AFB7E8F0E6F0E5C6A3F0E1F0E2B4C3AF54AF55F0E3D5EEAF56AF57CCDBBED2BCB2AF58AF59AF5AF0E8F0E7F0E4B2A1AF5BD6A2D3B8BEB7C8ACAF5CAF5DF0EAAF5EAF5FAF60AF61D1F7AF62D6CCBADBF0E9AF63B6BBAF64AF65CDB4AF66AF67C6A6AF68AF69AF6AC1A1F0EBF0EEAF6BF0EDF0F0F0ECAF6CBBBEF0EFAF6DAF6EAF6FAF70CCB5F0F2AF71AF72B3D5AF73AF74AF75AF76B1D4AF77AF78F0F3AF79AF7AF0F4F0F6B4E1AF7BF0F1AF7CF0F7AF7DAF7EAF80AF81F0FAAF82F0F8AF83AF84AF85F0F5AF86AF87AF88AF89F0FDAF8AF0F9F0FCF0FEAF8BF1A1AF8CAF8DAF8ECEC1F1A4AF8FF1A3AF90C1F6F0FBCADDAF91AF92B4F1B1F1CCB1AF93F1A6AF94AF95F1A7AF96AF97F1ACD5CEF1A9AF98AF99C8B3AF9AAF9BAF9CF1A2AF9DF1ABF1A8F1A5AF9EAF9FF1AAAFA0B040B041B042B043B044B045B046B0A9F1ADB047B048B049B04AB04BB04CF1AFB04DF1B1B04EB04FB050B051B052F1B0B053F1AEB054B055B056B057D1A2B058B059B05AB05BB05CB05DB05EF1B2B05FB060B061F1B3B062B063B064B065B066B067B068B069B9EFB06AB06BB5C7B06CB0D7B0D9B06DB06EB06FD4EDB070B5C4B071BDD4BBCAF0A7B072B073B8DEB074B075F0A8B076B077B0A8B078F0A9B079B07ACDEEB07BB07CF0AAB07DB07EB080B081B082B083B084B085B086B087F0ABB088B089B08AB08BB08CB08DB08EB08FB090C6A4B091B092D6E5F1E4B093F1E5B094B095B096B097B098B099B09AB09BB09CB09DC3F3B09EB09FD3DBB0A0B140D6D1C5E8B141D3AFB142D2E6B143B144EEC1B0BBD5B5D1CEBCE0BAD0B145BFF8B146B8C7B5C1C5CCB147B148CAA2B149B14AB14BC3CBB14CB14DB14EB14FB150EEC2B151B152B153B154B155B156B157B158C4BFB6A2B159EDECC3A4B15AD6B1B15BB15CB15DCFE0EDEFB15EB15FC5CEB160B6DCB161B162CAA1B163B164EDEDB165B166EDF0EDF1C3BCB167BFB4B168EDEEB169B16AB16BB16CB16DB16EB16FB170B171B172B173EDF4EDF2B174B175B176B177D5E6C3DFB178EDF3B179B17AB17BEDF6B17CD5A3D1A3B17DB17EB180EDF5B181C3D0B182B183B184B185B186EDF7BFF4BEECEDF8B187CCF7B188D1DBB189B18AB18BD7C5D5F6B18CEDFCB18DB18EB18FEDFBB190B191B192B193B194B195B196B197EDF9EDFAB198B199B19AB19BB19CB19DB19EB19FEDFDBEA6B1A0B240B241B242B243CBAFEEA1B6BDB244EEA2C4C0B245EDFEB246B247BDDEB2C7B248B249B24AB24BB24CB24DB24EB24FB250B251B252B253B6C3B254B255B256EEA5D8BAEEA3EEA6B257B258B259C3E9B3F2B25AB25BB25CB25DB25EB25FEEA7EEA4CFB9B260B261EEA8C2F7B262B263B264B265B266B267B268B269B26AB26BB26CB26DEEA9EEAAB26EDEABB26FB270C6B3B271C7C6B272D6F5B5C9B273CBB2B274B275B276EEABB277B278CDABB279EEACB27AB27BB27CB27DB27ED5B0B280EEADB281F6C4B282B283B284B285B286B287B288B289B28AB28BB28CB28DB28EDBC7B28FB290B291B292B293B294B295B296B297B4A3B298B299B29AC3ACF1E6B29BB29CB29DB29EB29FCAB8D2D3B2A0D6AAB340EFF2B341BED8B342BDC3EFF3B6CCB0ABB343B344B345B346CAAFB347B348EDB6B349EDB7B34AB34BB34CB34DCEF9B7AFBFF3EDB8C2EBC9B0B34EB34FB350B351B352B353EDB9B354B355C6F6BFB3B356B357B358EDBCC5F8B359D1D0B35AD7A9EDBAEDBBB35BD1E2B35CEDBFEDC0B35DEDC4B35EB35FB360EDC8B361EDC6EDCED5E8B362EDC9B363B364EDC7EDBEB365B366C5E9B367B368B369C6C6B36AB36BC9E9D4D2EDC1EDC2EDC3EDC5B36CC0F9B36DB4A1B36EB36FB370B371B9E8B372EDD0B373B374B375B376EDD1B377EDCAB378EDCFB379CEF8B37AB37BCBB6EDCCEDCDB37CB37DB37EB380B381CFF5B382B383B384B385B386B387B388B389B38AB38BB38CB38DEDD2C1F2D3B2EDCBC8B7B38EB38FB390B391B392B393B394B395BCEFB396B397B398B399C5F0B39AB39BB39CB39DB39EB39FB3A0B440B441B442EDD6B443B5EFB444B445C2B5B0ADCBE9B446B447B1AEB448EDD4B449B44AB44BCDEBB5E2B44CEDD5EDD3EDD7B44DB44EB5FAB44FEDD8B450EDD9B451EDDCB452B1CCB453B454B455B456B457B458B459B45AC5F6BCEEEDDACCBCB2EAB45BB45CB45DB45EEDDBB45FB460B461B462C4EBB463B464B4C5B465B466B467B0F5B468B469B46AEDDFC0DAB4E8B46BB46CB46DB46EC5CDB46FB470B471EDDDBFC4B472B473B474EDDEB475B476B477B478B479B47AB47BB47CB47DB47EB480B481B482B483C4A5B484B485B486EDE0B487B488B489B48AB48BEDE1B48CEDE3B48DB48EC1D7B48FB490BBC7B491B492B493B494B495B496BDB8B497B498B499EDE2B49AB49BB49CB49DB49EB49FB4A0B540B541B542B543B544B545EDE4B546B547B548B549B54AB54BB54CB54DB54EB54FEDE6B550B551B552B553B554EDE5B555B556B557B558B559B55AB55BB55CB55DB55EB55FB560B561B562B563EDE7B564B565B566B567B568CABEECEAC0F1B569C9E7B56AECEBC6EEB56BB56CB56DB56EECECB56FC6EDECEDB570B571B572B573B574B575B576B577B578ECF0B579B57AD7E6ECF3B57BB57CECF1ECEEECEFD7A3C9F1CBEEECF4B57DECF2B57EB580CFE9B581ECF6C6B1B582B583B584B585BCC0B586ECF5B587B588B589B58AB58BB58CB58DB5BBBBF6B58EECF7B58FB590B591B592B593D9F7BDFBB594B595C2BBECF8B596B597B598B599ECF9B59AB59BB59CB59DB8A3B59EB59FB5A0B640B641B642B643B644B645B646ECFAB647B648B649B64AB64BB64CB64DB64EB64FB650B651B652ECFBB653B654B655B656B657B658B659B65AB65BB65CB65DECFCB65EB65FB660B661B662D3EDD8AEC0EBB663C7DDBACCB664D0E3CBBDB665CDBAB666B667B8D1B668B669B1FCB66AC7EFB66BD6D6B66CB66DB66EBFC6C3EBB66FB670EFF5B671B672C3D8B673B674B675B676B677B678D7E2B679B67AB67BEFF7B3D3B67CC7D8D1EDB67DD6C8B67EEFF8B680EFF6B681BBFDB3C6B682B683B684B685B686B687B688BDD5B689B68AD2C6B68BBBE0B68CB68DCFA1B68EEFFCEFFBB68FB690EFF9B691B692B693B694B3CCB695C9D4CBB0B696B697B698B699B69AEFFEB69BB69CB0DEB69DB69ED6C9B69FB6A0B740EFFDB741B3EDB742B743F6D5B744B745B746B747B748B749B74AB74BB74CB74DB74EB74FB750B751B752CEC8B753B754B755F0A2B756F0A1B757B5BEBCDABBFCB758B8E5B759B75AB75BB75CB75DB75EC4C2B75FB760B761B762B763B764B765B766B767B768F0A3B769B76AB76BB76CB76DCBEBB76EB76FB770B771B772B773B774B775B776B777B778B779B77AB77BB77CB77DB77EB780B781B782B783B784B785B786F0A6B787B788B789D1A8B78ABEBFC7EEF1B6F1B7BFD5B78BB78CB78DB78EB4A9F1B8CDBBB78FC7D4D5ADB790F1B9B791F1BAB792B793B794B795C7CFB796B797B798D2A4D6CFB799B79AF1BBBDD1B4B0BEBDB79BB79CB79DB4DCCED1B79EBFDFF1BDB79FB7A0B840B841BFFAF1BCB842F1BFB843B844B845F1BEF1C0B846B847B848B849B84AF1C1B84BB84CB84DB84EB84FB850B851B852B853B854B855C1FEB856B857B858B859B85AB85BB85CB85DB85EB85FB860C1A2B861B862B863B864B865B866B867B868B869B86ACAFAB86BB86CD5BEB86DB86EB86FB870BEBABEB9D5C2B871B872BFA2B873CDAFF1B5B874B875B876B877B878B879BDDFB87AB6CBB87BB87CB87DB87EB880B881B882B883B884D6F1F3C3B885B886F3C4B887B8CDB888B889B88AF3C6F3C7B88BB0CAB88CF3C5B88DF3C9CBF1B88EB88FB890F3CBB891D0A6B892B893B1CAF3C8B894B895B896F3CFB897B5D1B898B899F3D7B89AF3D2B89BB89CB89DF3D4F3D3B7FBB89EB1BFB89FF3CEF3CAB5DAB8A0F3D0B940B941F3D1B942F3D5B943B944B945B946F3CDB947BCE3B948C1FDB949F3D6B94AB94BB94CB94DB94EB94FF3DAB950F3CCB951B5C8B952BDEEF3DCB953B954B7A4BFF0D6FECDB2B955B4F0B956B2DFB957F3D8B958F3D9C9B8B959F3DDB95AB95BF3DEB95CF3E1B95DB95EB95FB960B961B962B963B964B965B966B967F3DFB968B969F3E3F3E2B96AB96BF3DBB96CBFEAB96DB3EFB96EF3E0B96FB970C7A9B971BCF2B972B973B974B975F3EBB976B977B978B979B97AB97BB97CB9BFB97DB97EF3E4B980B981B982B2ADBBFEB983CBE3B984B985B986B987F3EDF3E9B988B989B98AB9DCF3EEB98BB98CB98DF3E5F3E6F3EAC2E1F3ECF3EFF3E8BCFDB98EB98FB990CFE4B991B992F3F0B993B994B995F3E7B996B997B998B999B99AB99BB99CB99DF3F2B99EB99FB9A0BA40D7ADC6AABA41BA42BA43BA44F3F3BA45BA46BA47BA48F3F1BA49C2A8BA4ABA4BBA4CBA4DBA4EB8DDF3F5BA4FBA50F3F4BA51BA52BA53B4DBBA54BA55BA56F3F6F3F7BA57BA58BA59F3F8BA5ABA5BBA5CC0BABA5DBA5EC0E9BA5FBA60BA61BA62BA63C5F1BA64BA65BA66BA67F3FBBA68F3FABA69BA6ABA6BBA6CBA6DBA6EBA6FBA70B4D8BA71BA72BA73F3FEF3F9BA74BA75F3FCBA76BA77BA78BA79BA7ABA7BF3FDBA7CBA7DBA7EBA80BA81BA82BA83BA84F4A1BA85BA86BA87BA88BA89BA8AF4A3BBC9BA8BBA8CF4A2BA8DBA8EBA8FBA90BA91BA92BA93BA94BA95BA96BA97BA98BA99F4A4BA9ABA9BBA9CBA9DBA9EBA9FB2BEF4A6F4A5BAA0BB40BB41BB42BB43BB44BB45BB46BB47BB48BB49BCAEBB4ABB4BBB4CBB4DBB4EBB4FBB50BB51BB52BB53BB54BB55BB56BB57BB58BB59BB5ABB5BBB5CBB5DBB5EBB5FBB60BB61BB62BB63BB64BB65BB66BB67BB68BB69BB6ABB6BBB6CBB6DBB6EC3D7D9E1BB6FBB70BB71BB72BB73BB74C0E0F4CCD7D1BB75BB76BB77BB78BB79BB7ABB7BBB7CBB7DBB7EBB80B7DBBB81BB82BB83BB84BB85BB86BB87F4CEC1A3BB88BB89C6C9BB8AB4D6D5B3BB8BBB8CBB8DF4D0F4CFF4D1CBDABB8EBB8FF4D2BB90D4C1D6E0BB91BB92BB93BB94B7E0BB95BB96BB97C1B8BB98BB99C1BBF4D3BEACBB9ABB9BBB9CBB9DBB9EB4E2BB9FBBA0F4D4F4D5BEABBC40BC41F4D6BC42BC43BC44F4DBBC45F4D7F4DABC46BAFDBC47F4D8F4D9BC48BC49BC4ABC4BBC4CBC4DBC4EB8E2CCC7F4DCBC4FB2DABC50BC51C3D3BC52BC53D4E3BFB7BC54BC55BC56BC57BC58BC59BC5AF4DDBC5BBC5CBC5DBC5EBC5FBC60C5B4BC61BC62BC63BC64BC65BC66BC67BC68F4E9BC69BC6ACFB5BC6BBC6CBC6DBC6EBC6FBC70BC71BC72BC73BC74BC75BC76BC77BC78CEC9BC79BC7ABC7BBC7CBC7DBC7EBC80BC81BC82BC83BC84BC85BC86BC87BC88BC89BC8ABC8BBC8CBC8DBC8ECBD8BC8FCBF7BC90BC91BC92BC93BDF4BC94BC95BC96D7CFBC97BC98BC99C0DBBC9ABC9BBC9CBC9DBC9EBC9FBCA0BD40BD41BD42BD43BD44BD45BD46BD47BD48BD49BD4ABD4BBD4CBD4DBD4EBD4FBD50BD51BD52BD53BD54BD55BD56BD57BD58BD59BD5ABD5BBD5CBD5DBD5EBD5FBD60BD61BD62BD63BD64BD65BD66BD67BD68BD69BD6ABD6BBD6CBD6DBD6EBD6FBD70BD71BD72BD73BD74BD75BD76D0F5BD77BD78BD79BD7ABD7BBD7CBD7DBD7EF4EABD80BD81BD82BD83BD84BD85BD86BD87BD88BD89BD8ABD8BBD8CBD8DBD8EBD8FBD90BD91BD92BD93BD94BD95BD96BD97BD98BD99BD9ABD9BBD9CBD9DBD9EBD9FBDA0BE40BE41BE42BE43BE44BE45BE46BE47BE48BE49BE4ABE4BBE4CF4EBBE4DBE4EBE4FBE50BE51BE52BE53F4ECBE54BE55BE56BE57BE58BE59BE5ABE5BBE5CBE5DBE5EBE5FBE60BE61BE62BE63BE64BE65BE66BE67BE68BE69BE6ABE6BBE6CBE6DBE6EBE6FBE70BE71BE72BE73BE74BE75BE76BE77BE78BE79BE7ABE7BBE7CBE7DBE7EBE80BE81BE82BE83BE84BE85BE86BE87BE88BE89BE8ABE8BBE8CBE8DBE8EBE8FBE90BE91BE92BE93BE94BE95BE96BE97BE98BE99BE9ABE9BBE9CBE9DBE9EBE9FBEA0BF40BF41BF42BF43BF44BF45BF46BF47BF48BF49BF4ABF4BBF4CBF4DBF4EBF4FBF50BF51BF52BF53BF54BF55BF56BF57BF58BF59BF5ABF5BBF5CBF5DBF5EBF5FBF60BF61BF62BF63BF64BF65BF66BF67BF68BF69BF6ABF6BBF6CBF6DBF6EBF6FBF70BF71BF72BF73BF74BF75BF76BF77BF78BF79BF7ABF7BBF7CBF7DBF7EBF80F7E3BF81BF82BF83BF84BF85B7B1BF86BF87BF88BF89BF8AF4EDBF8BBF8CBF8DBF8EBF8FBF90BF91BF92BF93BF94BF95BF96BF97BF98BF99BF9ABF9BBF9CBF9DBF9EBF9FBFA0C040C041C042C043C044C045C046C047C048C049C04AC04BC04CC04DC04EC04FC050C051C052C053C054C055C056C057C058C059C05AC05BC05CC05DC05EC05FC060C061C062C063D7EBC064C065C066C067C068C069C06AC06BC06CC06DC06EC06FC070C071C072C073C074C075C076C077C078C079C07AC07BF4EEC07CC07DC07EE6F9BEC0E6FABAECE6FBCFCBE6FCD4BCBCB6E6FDE6FEBCCDC8D2CEB3E7A1C080B4BFE7A2C9B4B8D9C4C9C081D7DDC2DAB7D7D6BDCEC6B7C4C082C083C5A6E7A3CFDFE7A4E7A5E7A6C1B7D7E9C9F0CFB8D6AFD6D5E7A7B0EDE7A8E7A9C9DCD2EFBEADE7AAB0F3C8DEBDE1E7ABC8C6C084E7ACBBE6B8F8D1A4E7ADC2E7BEF8BDCACDB3E7AEE7AFBEEED0E5C085CBE7CCD0BCCCE7B0BCA8D0F7E7B1C086D0F8E7B2E7B3B4C2E7B4E7B5C9FECEACC3E0E7B7B1C1B3F1C087E7B8E7B9D7DBD5C0E7BAC2CCD7BAE7BBE7BCE7BDBCEAC3E5C0C2E7BEE7BFBCA9C088E7C0E7C1E7B6B6D0E7C2C089E7C3E7C4BBBAB5DEC2C6B1E0E7C5D4B5E7C6B8BFE7C8E7C7B7ECC08AE7C9B2F8E7CAE7CBE7CCE7CDE7CEE7CFE7D0D3A7CBF5E7D1E7D2E7D3E7D4C9C9E7D5E7D6E7D7E7D8E7D9BDC9E7DAF3BEC08BB8D7C08CC8B1C08DC08EC08FC090C091C092C093F3BFC094F3C0F3C1C095C096C097C098C099C09AC09BC09CC09DC09EB9DECDF8C09FC0A0D8E8BAB1C140C2DEEEB7C141B7A3C142C143C144C145EEB9C146EEB8B0D5C147C148C149C14AC14BEEBBD5D6D7EFC14CC14DC14ED6C3C14FC150EEBDCAF0C151EEBCC152C153C154C155EEBEC156C157C158C159EEC0C15AC15BEEBFC15CC15DC15EC15FC160C161C162C163D1F2C164C7BCC165C3C0C166C167C168C169C16AB8E1C16BC16CC16DC16EC16FC1E7C170C171F4C6D0DFF4C7C172CFDBC173C174C8BAC175C176F4C8C177C178C179C17AC17BC17CC17DF4C9F4CAC17EF4CBC180C181C182C183C184D9FAB8FEC185C186E5F1D3F0C187F4E0C188CECCC189C18AC18BB3E1C18CC18DC18EC18FF1B4C190D2EEC191F4E1C192C193C194C195C196CFE8F4E2C197C198C7CCC199C19AC19BC19CC19DC19EB5D4B4E4F4E4C19FC1A0C240F4E3F4E5C241C242F4E6C243C244C245C246F4E7C247BAB2B0BFC248F4E8C249C24AC24BC24CC24DC24EC24FB7ADD2EDC250C251C252D2ABC0CFC253BFBCEBA3D5DFEAC8C254C255C256C257F1F3B6F8CBA3C258C259C4CDC25AF1E7C25BF1E8B8FBF1E9BAC4D4C5B0D2C25CC25DF1EAC25EC25FC260F1EBC261F1ECC262C263F1EDF1EEF1EFF1F1F1F0C5D5C264C265C266C267C268C269F1F2C26AB6FAC26BF1F4D2AEDEC7CBCAC26CC26DB3DCC26EB5A2C26FB9A2C270C271C4F4F1F5C272C273F1F6C274C275C276C1C4C1FBD6B0F1F7C277C278C279C27AF1F8C27BC1AAC27CC27DC27EC6B8C280BEDBC281C282C283C284C285C286C287C288C289C28AC28BC28CC28DC28EF1F9B4CFC28FC290C291C292C293C294F1FAC295C296C297C298C299C29AC29BC29CC29DC29EC29FC2A0C340EDB2EDB1C341C342CBE0D2DEC343CBC1D5D8C344C8E2C345C0DFBCA1C346C347C348C349C34AC34BEBC1C34CC34DD0A4C34ED6E2C34FB6C7B8D8EBC0B8CEC350EBBFB3A6B9C9D6ABC351B7F4B7CAC352C353C354BCE7B7BEEBC6C355EBC7B0B9BFCFC356EBC5D3FDC357EBC8C358C359EBC9C35AC35BB7CEC35CEBC2EBC4C9F6D6D7D5CDD0B2EBCFCEB8EBD0C35DB5A8C35EC35FC360C361C362B1B3EBD2CCA5C363C364C365C366C367C368C369C5D6EBD3C36AEBD1C5DFEBCECAA4EBD5B0FBC36BC36CBAFAC36DC36ED8B7F1E3C36FEBCAEBCBEBCCEBCDEBD6E6C0EBD9C370BFE8D2C8EBD7EBDCB8ECEBD8C371BDBAC372D0D8C373B0B7C374EBDDC4DCC375C376C377C378D6ACC379C37AC37BB4E0C37CC37DC2F6BCB9C37EC380EBDAEBDBD4E0C6EAC4D4EBDFC5A7D9F5C381B2B1C382EBE4C383BDC5C384C385C386EBE2C387C388C389C38AC38BC38CC38DC38EC38FC390C391C392C393EBE3C394C395B8ACC396CDD1EBE5C397C398C399EBE1C39AC1B3C39BC39CC39DC39EC39FC6A2C3A0C440C441C442C443C444C445CCF3C446EBE6C447C0B0D2B8EBE7C448C449C44AB8AFB8ADC44BEBE8C7BBCDF3C44CC44DC44EEBEAEBEBC44FC450C451C452C453EBEDC454C455C456C457D0C8C458EBF2C459EBEEC45AC45BC45CEBF1C8F9C45DD1FCEBECC45EC45FEBE9C460C461C462C463B8B9CFD9C4E5EBEFEBF0CCDACDC8B0F2C464EBF6C465C466C467C468C469EBF5C46AB2B2C46BC46CC46DC46EB8E0C46FEBF7C470C471C472C473C474C475B1ECC476C477CCC5C4A4CFA5C478C479C47AC47BC47CEBF9C47DC47EECA2C480C5F2C481EBFAC482C483C484C485C486C487C488C489C9C5C48AC48BC48CC48DC48EC48FE2DFEBFEC490C491C492C493CDCEECA1B1DBD3B7C494C495D2DCC496C497C498EBFDC499EBFBC49AC49BC49CC49DC49EC49FC4A0C540C541C542C543C544C545C546C547C548C549C54AC54BC54CC54DC54EB3BCC54FC550C551EAB0C552C553D7D4C554F4ABB3F4C555C556C557C558C559D6C1D6C2C55AC55BC55CC55DC55EC55FD5E9BECAC560F4A7C561D2A8F4A8F4A9C562F4AABECBD3DFC563C564C565C566C567C9E0C9E1C568C569F3C2C56ACAE6C56BCCF2C56CC56DC56EC56FC570C571E2B6CBB4C572CEE8D6DBC573F4ADF4AEF4AFC574C575C576C577F4B2C578BABDF4B3B0E3F4B0C579F4B1BDA2B2D5C57AF4B6F4B7B6E6B2B0CFCFF4B4B4ACC57BF4B5C57CC57DF4B8C57EC580C581C582C583F4B9C584C585CDA7C586F4BAC587F4BBC588C589C58AF4BCC58BC58CC58DC58EC58FC590C591C592CBD2C593F4BDC594C595C596C597F4BEC598C599C59AC59BC59CC59DC59EC59FF4BFC5A0C640C641C642C643F4DEC1BCBCE8C644C9ABD1DEE5F5C645C646C647C648DCB3D2D5C649C64ADCB4B0ACDCB5C64BC64CBDDAC64DDCB9C64EC64FC650D8C2C651DCB7D3F3C652C9D6DCBADCB6C653DCBBC3A2C654C655C656C657DCBCDCC5DCBDC658C659CEDFD6A5C65ADCCFC65BDCCDC65CC65DDCD2BDE6C2ABC65EDCB8DCCBDCCEDCBEB7D2B0C5DCC7D0BEDCC1BBA8C65FB7BCDCCCC660C661DCC6DCBFC7DBC662C663C664D1BFDCC0C665C666DCCAC667C668DCD0C669C66ACEADDCC2C66BDCC3DCC8DCC9B2D4DCD1CBD5C66CD4B7DCDBDCDFCCA6DCE6C66DC3E7DCDCC66EC66FBFC1DCD9C670B0FAB9B6DCE5DCD3C671DCC4DCD6C8F4BFE0C672C673C674C675C9BBC676C677C678B1BDC679D3A2C67AC67BDCDAC67CC67DDCD5C67EC6BBC680DCDEC681C682C683C684C685D7C2C3AFB7B6C7D1C3A9DCE2DCD8DCEBDCD4C686C687DCDDC688BEA5DCD7C689DCE0C68AC68BDCE3DCE4C68CDCF8C68DC68EDCE1DDA2DCE7C68FC690C691C692C693C694C695C696C697C698BCEBB4C4C699C69AC3A3B2E7DCFAC69BDCF2C69CDCEFC69DDCFCDCEED2F0B2E8C69EC8D7C8E3DCFBC69FDCEDC6A0C740C741DCF7C742C743DCF5C744C745BEA3DCF4C746B2DDC747C748C749C74AC74BDCF3BCF6DCE8BBC4C74CC0F3C74DC74EC74FC750C751BCD4DCE9DCEAC752DCF1DCF6DCF9B5B4C753C8D9BBE7DCFEDCFDD3ABDDA1DDA3DDA5D2F1DDA4DDA6DDA7D2A9C754C755C756C757C758C759C75ABAC9DDA9C75BC75CDDB6DDB1DDB4C75DC75EC75FC760C761C762C763DDB0C6CEC764C765C0F2C766C767C768C769C9AFC76AC76BC76CDCECDDAEC76DC76EC76FC770DDB7C771C772DCF0DDAFC773DDB8C774DDACC775C776C777C778C779C77AC77BDDB9DDB3DDADC4AAC77CC77DC77EC780DDA8C0B3C1ABDDAADDABC781DDB2BBF1DDB5D3A8DDBAC782DDBBC3A7C783C784DDD2DDBCC785C786C787DDD1C788B9BDC789C78ABED5C78BBEFAC78CC78DBACAC78EC78FC790C791DDCAC792DDC5C793DDBFC794C795C796B2CBDDC3C797DDCBB2A4DDD5C798C799C79ADDBEC79BC79CC79DC6D0DDD0C79EC79FC7A0C840C841DDD4C1E2B7C6C842C843C844C845C846DDCEDDCFC847C848C849DDC4C84AC84BC84CDDBDC84DDDCDCCD1C84EDDC9C84FC850C851C852DDC2C3C8C6BCCEAEDDCCC853DDC8C854C855C856C857C858C859DDC1C85AC85BC85CDDC6C2DCC85DC85EC85FC860C861C862D3A9D3AADDD3CFF4C8F8C863C864C865C866C867C868C869C86ADDE6C86BC86CC86DC86EC86FC870DDC7C871C872C873DDE0C2E4C874C875C876C877C878C879C87AC87BDDE1C87CC87DC87EC880C881C882C883C884C885C886DDD7C887C888C889C88AC88BD6F8C88CDDD9DDD8B8F0DDD6C88DC88EC88FC890C6CFC891B6ADC892C893C894C895C896DDE2C897BAF9D4E1DDE7C898C899C89AB4D0C89BDDDAC89CBFFBDDE3C89DDDDFC89EDDDDC89FC8A0C940C941C942C943C944B5D9C945C946C947C948DDDBDDDCDDDEC949BDAFDDE4C94ADDE5C94BC94CC94DC94EC94FC950C951C952DDF5C953C3C9C954C955CBE2C956C957C958C959DDF2C95AC95BC95CC95DC95EC95FC960C961C962C963C964C965C966D8E1C967C968C6D1C969DDF4C96AC96BC96CD5F4DDF3DDF0C96DC96EDDECC96FDDEFC970DDE8C971C972D0EEC973C974C975C976C8D8DDEEC977C978DDE9C979C97ADDEACBF2C97BDDEDC97CC97DB1CDC97EC980C981C982C983C984C0B6C985BCBBDDF1C986C987DDF7C988DDF6DDEBC989C98AC98BC98CC98DC5EEC98EC98FC990DDFBC991C992C993C994C995C996C997C998C999C99AC99BDEA4C99CC99DDEA3C99EC99FC9A0CA40CA41CA42CA43CA44CA45CA46CA47CA48DDF8CA49CA4ACA4BCA4CC3EFCA4DC2FBCA4ECA4FCA50D5E1CA51CA52CEB5CA53CA54CA55CA56DDFDCA57B2CCCA58CA59CA5ACA5BCA5CCA5DCA5ECA5FCA60C4E8CADFCA61CA62CA63CA64CA65CA66CA67CA68CA69CA6AC7BEDDFADDFCDDFEDEA2B0AAB1CECA6BCA6CCA6DCA6ECA6FDEACCA70CA71CA72CA73DEA6BDB6C8EFCA74CA75CA76CA77CA78CA79CA7ACA7BCA7CCA7DCA7EDEA1CA80CA81DEA5CA82CA83CA84CA85DEA9CA86CA87CA88CA89CA8ADEA8CA8BCA8CCA8DDEA7CA8ECA8FCA90CA91CA92CA93CA94CA95CA96DEADCA97D4CCCA98CA99CA9ACA9BDEB3DEAADEAECA9CCA9DC0D9CA9ECA9FCAA0CB40CB41B1A1DEB6CB42DEB1CB43CB44CB45CB46CB47CB48CB49DEB2CB4ACB4BCB4CCB4DCB4ECB4FCB50CB51CB52CB53CB54D1A6DEB5CB55CB56CB57CB58CB59CB5ACB5BDEAFCB5CCB5DCB5EDEB0CB5FD0BDCB60CB61CB62DEB4CAEDDEB9CB63CB64CB65CB66CB67CB68DEB8CB69DEB7CB6ACB6BCB6CCB6DCB6ECB6FCB70DEBBCB71CB72CB73CB74CB75CB76CB77BDE5CB78CB79CB7ACB7BCB7CB2D8C3EACB7DCB7EDEBACB80C5BACB81CB82CB83CB84CB85CB86DEBCCB87CB88CB89CB8ACB8BCB8CCB8DCCD9CB8ECB8FCB90CB91B7AACB92CB93CB94CB95CB96CB97CB98CB99CB9ACB9BCB9CCB9DCB9ECB9FCBA0CC40CC41D4E5CC42CC43CC44DEBDCC45CC46CC47CC48CC49DEBFCC4ACC4BCC4CCC4DCC4ECC4FCC50CC51CC52CC53CC54C4A2CC55CC56CC57CC58DEC1CC59CC5ACC5BCC5CCC5DCC5ECC5FCC60CC61CC62CC63CC64CC65CC66CC67CC68DEBECC69DEC0CC6ACC6BCC6CCC6DCC6ECC6FCC70CC71CC72CC73CC74CC75CC76CC77D5BACC78CC79CC7ADEC2CC7BCC7CCC7DCC7ECC80CC81CC82CC83CC84CC85CC86CC87CC88CC89CC8ACC8BF2AEBBA2C2B2C5B0C2C7CC8CCC8DF2AFCC8ECC8FCC90CC91CC92D0E9CC93CC94CC95D3DDCC96CC97CC98EBBDCC99CC9ACC9BCC9CCC9DCC9ECC9FCCA0B3E6F2B0CD40F2B1CD41CD42CAADCD43CD44CD45CD46CD47CD48CD49BAE7F2B3F2B5F2B4CBE4CFBAF2B2CAB4D2CFC2ECCD4ACD4BCD4CCD4DCD4ECD4FCD50CEC3F2B8B0F6F2B7CD51CD52CD53CD54CD55F2BECD56B2CFCD57CD58CD59CD5ACD5BCD5CD1C1F2BACD5DCD5ECD5FCD60CD61F2BCD4E9CD62CD63F2BBF2B6F2BFF2BDCD64F2B9CD65CD66F2C7F2C4F2C6CD67CD68F2CAF2C2F2C0CD69CD6ACD6BF2C5CD6CCD6DCD6ECD6FCD70D6FBCD71CD72CD73F2C1CD74C7F9C9DFCD75F2C8B9C6B5B0CD76CD77F2C3F2C9F2D0F2D6CD78CD79BBD7CD7ACD7BCD7CF2D5CDDCCD7DD6EBCD7ECD80F2D2F2D4CD81CD82CD83CD84B8F2CD85CD86CD87CD88F2CBCD89CD8ACD8BF2CEC2F9CD8CD5DDF2CCF2CDF2CFF2D3CD8DCD8ECD8FF2D9D3BCCD90CD91CD92CD93B6EACD94CAF1CD95B7E4F2D7CD96CD97CD98F2D8F2DAF2DDF2DBCD99CD9AF2DCCD9BCD9CCD9DCD9ED1D1F2D1CD9FCDC9CDA0CECFD6A9CE40F2E3CE41C3DBCE42F2E0CE43CE44C0AFF2ECF2DECE45F2E1CE46CE47CE48F2E8CE49CE4ACE4BCE4CF2E2CE4DCE4EF2E7CE4FCE50F2E6CE51CE52F2E9CE53CE54CE55F2DFCE56CE57F2E4F2EACE58CE59CE5ACE5BCE5CCE5DCE5ED3ACF2E5B2F5CE5FCE60F2F2CE61D0ABCE62CE63CE64CE65F2F5CE66CE67CE68BBC8CE69F2F9CE6ACE6BCE6CCE6DCE6ECE6FF2F0CE70CE71F2F6F2F8F2FACE72CE73CE74CE75CE76CE77CE78CE79F2F3CE7AF2F1CE7BCE7CCE7DBAFBCE7EB5FBCE80CE81CE82CE83F2EFF2F7F2EDF2EECE84CE85CE86F2EBF3A6CE87F3A3CE88CE89F3A2CE8ACE8BF2F4CE8CC8DACE8DCE8ECE8FCE90CE91F2FBCE92CE93CE94F3A5CE95CE96CE97CE98CE99CE9ACE9BC3F8CE9CCE9DCE9ECE9FCEA0CF40CF41CF42F2FDCF43CF44F3A7F3A9F3A4CF45F2FCCF46CF47CF48F3ABCF49F3AACF4ACF4BCF4CCF4DC2DDCF4ECF4FF3AECF50CF51F3B0CF52CF53CF54CF55CF56F3A1CF57CF58CF59F3B1F3ACCF5ACF5BCF5CCF5DCF5EF3AFF2FEF3ADCF5FCF60CF61CF62CF63CF64CF65F3B2CF66CF67CF68CF69F3B4CF6ACF6BCF6CCF6DF3A8CF6ECF6FCF70CF71F3B3CF72CF73CF74F3B5CF75CF76CF77CF78CF79CF7ACF7BCF7CCF7DCF7ED0B7CF80CF81CF82CF83F3B8CF84CF85CF86CF87D9F9CF88CF89CF8ACF8BCF8CCF8DF3B9CF8ECF8FCF90CF91CF92CF93CF94CF95F3B7CF96C8E4F3B6CF97CF98CF99CF9AF3BACF9BCF9CCF9DCF9ECF9FF3BBB4C0CFA0D040D041D042D043D044D045D046D047D048D049D04AD04BD04CD04DEEC3D04ED04FD050D051D052D053F3BCD054D055F3BDD056D057D058D1AAD059D05AD05BF4ACD0C6D05CD05DD05ED05FD060D061D0D0D1DCD062D063D064D065D066D067CFCED068D069BDD6D06AD1C3D06BD06CD06DD06ED06FD070D071BAE2E1E9D2C2F1C2B2B9D072D073B1EDF1C3D074C9C0B3C4D075D9F2D076CBA5D077F1C4D078D079D07AD07BD6D4D07CD07DD07ED080D081F1C5F4C0F1C6D082D4ACF1C7D083B0C0F4C1D084D085F4C2D086D087B4FCD088C5DBD089D08AD08BD08CCCBBD08DD08ED08FD0E4D090D091D092D093D094CDE0D095D096D097D098D099F1C8D09AD9F3D09BD09CD09DD09ED09FD0A0B1BBD140CFAED141D142D143B8A4D144D145D146D147D148F1CAD149D14AD14BD14CF1CBD14DD14ED14FD150B2C3C1D1D151D152D7B0F1C9D153D154F1CCD155D156D157D158F1CED159D15AD15BD9F6D15CD2E1D4A3D15DD15EF4C3C8B9D15FD160D161D162D163F4C4D164D165F1CDF1CFBFE3F1D0D166D167F1D4D168D169D16AD16BD16CD16DD16EF1D6F1D1D16FC9D1C5E1D170D171D172C2E3B9FCD173D174F1D3D175F1D5D176D177D178B9D3D179D17AD17BD17CD17DD17ED180F1DBD181D182D183D184D185BAD6D186B0FDF1D9D187D188D189D18AD18BF1D8F1D2F1DAD18CD18DD18ED18FD190F1D7D191D192D193C8ECD194D195D196D197CDCAF1DDD198D199D19AD19BE5BDD19CD19DD19EF1DCD19FF1DED1A0D240D241D242D243D244D245D246D247D248F1DFD249D24ACFE5D24BD24CD24DD24ED24FD250D251D252D253D254D255D256D257D258D259D25AD25BD25CD25DD25ED25FD260D261D262D263F4C5BDF3D264D265D266D267D268D269F1E0D26AD26BD26CD26DD26ED26FD270D271D272D273D274D275D276D277D278D279D27AD27BD27CD27DF1E1D27ED280D281CEF7D282D2AAD283F1FBD284D285B8B2D286D287D288D289D28AD28BD28CD28DD28ED28FD290D291D292D293D294D295D296D297D298D299D29AD29BD29CD29DD29ED29FD2A0D340D341D342D343D344D345D346D347D348D349D34AD34BD34CD34DD34ED34FD350D351D352D353D354D355D356D357D358D359D35AD35BD35CD35DD35EBCFBB9DBD35FB9E6C3D9CAD3EAE8C0C0BEF5EAE9EAEAEAEBD360EAECEAEDEAEEEAEFBDC7D361D362D363F5FBD364D365D366F5FDD367F5FED368F5FCD369D36AD36BD36CBDE2D36DF6A1B4A5D36ED36FD370D371F6A2D372D373D374F6A3D375D376D377ECB2D378D379D37AD37BD37CD37DD37ED380D381D382D383D384D1D4D385D386D387D388D389D38AD9EAD38BD38CD38DD38ED38FD390D391D392D393D394D395D396D397D398D399D39AD39BD39CD39DD39ED39FD3A0D440D441D442D443D444D445D446D447D448D449D44AD44BD44CD44DD44ED44FD450D451D452D453D454D455D456D457D458D459D45AD45BD45CD45DD45ED45FF6A4D460D461D462D463D464D465D466D467D468EEBAD469D46AD46BD46CD46DD46ED46FD470D471D472D473D474D475D476D477D478D479D47AD47BD47CD47DD47ED480D481D482D483D484D485D486D487D488D489D48AD48BD48CD48DD48ED48FD490D491D492D493D494D495D496D497D498D499D5B2D49AD49BD49CD49DD49ED49FD4A0D540D541D542D543D544D545D546D547D3FECCDCD548D549D54AD54BD54CD54DD54ED54FCAC4D550D551D552D553D554D555D556D557D558D559D55AD55BD55CD55DD55ED55FD560D561D562D563D564D565D566D567D568D569D56AD56BD56CD56DD56ED56FD570D571D572D573D574D575D576D577D578D579D57AD57BD57CD57DD57ED580D581D582D583D584D585D586D587D588D589D58AD58BD58CD58DD58ED58FD590D591D592D593D594D595D596D597D598D599D59AD59BD59CD59DD59ED59FD5A0D640D641D642D643D644D645D646D647D648D649D64AD64BD64CD64DD64ED64FD650D651D652D653D654D655D656D657D658D659D65AD65BD65CD65DD65ED65FD660D661D662E5C0D663D664D665D666D667D668D669D66AD66BD66CD66DD66ED66FD670D671D672D673D674D675D676D677D678D679D67AD67BD67CD67DD67ED680D681F6A5D682D683D684D685D686D687D688D689D68AD68BD68CD68DD68ED68FD690D691D692D693D694D695D696D697D698D699D69AD69BD69CD69DD69ED69FD6A0D740D741D742D743D744D745D746D747D748D749D74AD74BD74CD74DD74ED74FD750D751D752D753D754D755D756D757D758D759D75AD75BD75CD75DD75ED75FBEAFD760D761D762D763D764C6A9D765D766D767D768D769D76AD76BD76CD76DD76ED76FD770D771D772D773D774D775D776D777D778D779D77AD77BD77CD77DD77ED780D781D782D783D784D785D786D787D788D789D78AD78BD78CD78DD78ED78FD790D791D792D793D794D795D796D797D798DAA5BCC6B6A9B8BCC8CFBCA5DAA6DAA7CCD6C8C3DAA8C6FDD799D1B5D2E9D1B6BCC7D79ABDB2BBE4DAA9DAAAD1C8DAABD0EDB6EFC2DBD79BCBCFB7EDC9E8B7C3BEF7D6A4DAACDAADC6C0D7E7CAB6D79CD5A9CBDFD5EFDAAED6DFB4CADAB0DAAFD79DD2EBDAB1DAB2DAB3CAD4DAB4CAABDAB5DAB6B3CFD6EFDAB7BBB0B5AEDAB8DAB9B9EED1AFD2E8DABAB8C3CFEAB2EFDABBDABCD79EBDEBCEDCD3EFDABDCEF3DABED3D5BBE5DABFCBB5CBD0DAC0C7EBD6EEDAC1C5B5B6C1DAC2B7CCBFCEDAC3DAC4CBADDAC5B5F7DAC6C1C2D7BBDAC7CCB8D79FD2EAC4B1DAC8B5FDBBD1DAC9D0B3DACADACBCEBDDACCDACDDACEB2F7DAD1DACFD1E8DAD0C3D5DAD2D7A0DAD3DAD4DAD5D0BBD2A5B0F9DAD6C7ABDAD7BDF7C3A1DAD8DAD9C3FDCCB7DADADADBC0BEC6D7DADCDADDC7B4DADEDADFB9C8D840D841D842D843D844D845D846D847D848BBEDD849D84AD84BD84CB6B9F4F8D84DF4F9D84ED84FCDE3D850D851D852D853D854D855D856D857F5B9D858D859D85AD85BEBE0D85CD85DD85ED85FD860D861CFF3BBBFD862D863D864D865D866D867D868BAC0D4A5D869D86AD86BD86CD86DD86ED86FE1D9D870D871D872D873F5F4B1AAB2F2D874D875D876D877D878D879D87AF5F5D87BD87CF5F7D87DD87ED880BAD1F5F6D881C3B2D882D883D884D885D886D887D888F5F9D889D88AD88BF5F8D88CD88DD88ED88FD890D891D892D893D894D895D896D897D898D899D89AD89BD89CD89DD89ED89FD8A0D940D941D942D943D944D945D946D947D948D949D94AD94BD94CD94DD94ED94FD950D951D952D953D954D955D956D957D958D959D95AD95BD95CD95DD95ED95FD960D961D962D963D964D965D966D967D968D969D96AD96BD96CD96DD96ED96FD970D971D972D973D974D975D976D977D978D979D97AD97BD97CD97DD97ED980D981D982D983D984D985D986D987D988D989D98AD98BD98CD98DD98ED98FD990D991D992D993D994D995D996D997D998D999D99AD99BD99CD99DD99ED99FD9A0DA40DA41DA42DA43DA44DA45DA46DA47DA48DA49DA4ADA4BDA4CDA4DDA4EB1B4D5EAB8BADA4FB9B1B2C6D4F0CFCDB0DCD5CBBBF5D6CAB7B7CCB0C6B6B1E1B9BAD6FCB9E1B7A1BCFAEADAEADBCCF9B9F3EADCB4FBC3B3B7D1BAD8EADDD4F4EADEBCD6BBDFEADFC1DEC2B8D4DFD7CAEAE0EAE1EAE4EAE2EAE3C9DEB8B3B6C4EAE5CAEAC9CDB4CDDA50DA51E2D9C5E2EAE6C0B5DA52D7B8EAE7D7ACC8FCD8D3D8CDD4DEDA53D4F9C9C4D3AEB8D3B3E0DA54C9E2F4F6DA55DA56DA57BAD5DA58F4F7DA59DA5AD7DFDA5BDA5CF4F1B8B0D5D4B8CFC6F0DA5DDA5EDA5FDA60DA61DA62DA63DA64DA65B3C3DA66DA67F4F2B3ACDA68DA69DA6ADA6BD4BDC7F7DA6CDA6DDA6EDA6FDA70F4F4DA71DA72F4F3DA73DA74DA75DA76DA77DA78DA79DA7ADA7BDA7CCCCBDA7DDA7EDA80C8A4DA81DA82DA83DA84DA85DA86DA87DA88DA89DA8ADA8BDA8CDA8DF4F5DA8ED7E3C5BFF5C0DA8FDA90F5BBDA91F5C3DA92F5C2DA93D6BAF5C1DA94DA95DA96D4BEF5C4DA97F5CCDA98DA99DA9ADA9BB0CFB5F8DA9CF5C9F5CADA9DC5DCDA9EDA9FDAA0DB40F5C5F5C6DB41DB42F5C7F5CBDB43BEE0F5C8B8FADB44DB45DB46F5D0F5D3DB47DB48DB49BFE7DB4AB9F2F5BCF5CDDB4BDB4CC2B7DB4DDB4EDB4FCCF8DB50BCF9DB51F5CEF5CFF5D1B6E5F5D2DB52F5D5DB53DB54DB55DB56DB57DB58DB59F5BDDB5ADB5BDB5CF5D4D3BBDB5DB3ECDB5EDB5FCCA4DB60DB61DB62DB63F5D6DB64DB65DB66DB67DB68DB69DB6ADB6BF5D7BEE1F5D8DB6CDB6DCCDFF5DBDB6EDB6FDB70DB71DB72B2C8D7D9DB73F5D9DB74F5DAF5DCDB75F5E2DB76DB77DB78F5E0DB79DB7ADB7BF5DFF5DDDB7CDB7DF5E1DB7EDB80F5DEF5E4F5E5DB81CCE3DB82DB83E5BFB5B8F5E3F5E8CCA3DB84DB85DB86DB87DB88F5E6F5E7DB89DB8ADB8BDB8CDB8DDB8EF5BEDB8FDB90DB91DB92DB93DB94DB95DB96DB97DB98DB99DB9AB1C4DB9BDB9CF5BFDB9DDB9EB5C5B2E4DB9FF5ECF5E9DBA0B6D7DC40F5EDDC41F5EADC42DC43DC44DC45DC46F5EBDC47DC48B4DADC49D4EADC4ADC4BDC4CF5EEDC4DB3F9DC4EDC4FDC50DC51DC52DC53DC54F5EFF5F1DC55DC56DC57F5F0DC58DC59DC5ADC5BDC5CDC5DDC5EF5F2DC5FF5F3DC60DC61DC62DC63DC64DC65DC66DC67DC68DC69DC6ADC6BC9EDB9AADC6CDC6DC7FBDC6EDC6FB6E3DC70DC71DC72DC73DC74DC75DC76CCC9DC77DC78DC79DC7ADC7BDC7CDC7DDC7EDC80DC81DC82DC83DC84DC85DC86DC87DC88DC89DC8AEAA6DC8BDC8CDC8DDC8EDC8FDC90DC91DC92DC93DC94DC95DC96DC97DC98DC99DC9ADC9BDC9CDC9DDC9EDC9FDCA0DD40DD41DD42DD43DD44DD45DD46DD47DD48DD49DD4ADD4BDD4CDD4DDD4EDD4FDD50DD51DD52DD53DD54DD55DD56DD57DD58DD59DD5ADD5BDD5CDD5DDD5EDD5FDD60DD61DD62DD63DD64DD65DD66DD67DD68DD69DD6ADD6BDD6CDD6DDD6EDD6FDD70DD71DD72DD73DD74DD75DD76DD77DD78DD79DD7ADD7BDD7CDD7DDD7EDD80DD81DD82DD83DD84DD85DD86DD87DD88DD89DD8ADD8BDD8CDD8DDD8EDD8FDD90DD91DD92DD93DD94DD95DD96DD97DD98DD99DD9ADD9BDD9CDD9DDD9EDD9FDDA0DE40DE41DE42DE43DE44DE45DE46DE47DE48DE49DE4ADE4BDE4CDE4DDE4EDE4FDE50DE51DE52DE53DE54DE55DE56DE57DE58DE59DE5ADE5BDE5CDE5DDE5EDE5FDE60B3B5D4FEB9ECD0F9DE61E9EDD7AAE9EEC2D6C8EDBAE4E9EFE9F0E9F1D6E1E9F2E9F3E9F5E9F4E9F6E9F7C7E1E9F8D4D8E9F9BDCEDE62E9FAE9FBBDCFE9FCB8A8C1BEE9FDB1B2BBD4B9F5E9FEDE63EAA1EAA2EAA3B7F8BCADDE64CAE4E0CED4AFCFBDD5B7EAA4D5DEEAA5D0C1B9BCDE65B4C7B1D9DE66DE67DE68C0B1DE69DE6ADE6BDE6CB1E6B1E7DE6DB1E8DE6EDE6FDE70DE71B3BDC8E8DE72DE73DE74DE75E5C1DE76DE77B1DFDE78DE79DE7AC1C9B4EFDE7BDE7CC7A8D3D8DE7DC6F9D1B8DE7EB9FDC2F5DE80DE81DE82DE83DE84D3ADDE85D4CBBDFCDE86E5C2B7B5E5C3DE87DE88BBB9D5E2DE89BDF8D4B6CEA5C1ACB3D9DE8ADE8BCCF6DE8CE5C6E5C4E5C8DE8DE5CAE5C7B5CFC6C8DE8EB5FCE5C5DE8FCAF6DE90DE91E5C9DE92DE93DE94C3D4B1C5BCA3DE95DE96DE97D7B7DE98DE99CDCBCBCDCACACCD3E5CCE5CBC4E6DE9ADE9BD1A1D1B7E5CDDE9CE5D0DE9DCDB8D6F0E5CFB5DDDE9ECDBEDE9FE5D1B6BADEA0DF40CDA8B9E4DF41CAC5B3D1CBD9D4ECE5D2B7EADF42DF43DF44E5CEDF45DF46DF47DF48DF49DF4AE5D5B4FEE5D6DF4BDF4CDF4DDF4EDF4FE5D3E5D4DF50D2DDDF51DF52C2DFB1C6DF53D3E2DF54DF55B6DDCBECDF56E5D7DF57DF58D3F6DF59DF5ADF5BDF5CDF5DB1E9DF5EB6F4E5DAE5D8E5D9B5C0DF5FDF60DF61D2C5E5DCDF62DF63E5DEDF64DF65DF66DF67DF68DF69E5DDC7B2DF6AD2A3DF6BDF6CE5DBDF6DDF6EDF6FDF70D4E2D5DADF71DF72DF73DF74DF75E5E0D7F1DF76DF77DF78DF79DF7ADF7BDF7CE5E1DF7DB1DCD1FBDF7EE5E2E5E4DF80DF81DF82DF83E5E3DF84DF85E5E5DF86DF87DF88DF89DF8AD2D8DF8BB5CBDF8CE7DFDF8DDAF5DF8EDAF8DF8FDAF6DF90DAF7DF91DF92DF93DAFAD0CFC4C7DF94DF95B0EEDF96DF97DF98D0B0DF99DAF9DF9AD3CABAAADBA2C7F1DF9BDAFCDAFBC9DBDAFDDF9CDBA1D7DEDAFEC1DADF9DDF9EDBA5DF9FDFA0D3F4E040E041DBA7DBA4E042DBA8E043E044BDBCE045E046E047C0C9DBA3DBA6D6A3E048DBA9E049E04AE04BDBADE04CE04DE04EDBAEDBACBAC2E04FE050E051BFA4DBABE052E053E054DBAAD4C7B2BFE055E056DBAFE057B9F9E058DBB0E059E05AE05BE05CB3BBE05DE05EE05FB5A6E060E061E062E063B6BCDBB1E064E065E066B6F5E067DBB2E068E069E06AE06BE06CE06DE06EE06FE070E071E072E073E074E075E076E077E078E079E07AE07BB1C9E07CE07DE07EE080DBB4E081E082E083DBB3DBB5E084E085E086E087E088E089E08AE08BE08CE08DE08EDBB7E08FDBB6E090E091E092E093E094E095E096DBB8E097E098E099E09AE09BE09CE09DE09EE09FDBB9E0A0E140DBBAE141E142D3CFF4FAC7F5D7C3C5E4F4FCF4FDF4FBE143BEC6E144E145E146E147D0EFE148E149B7D3E14AE14BD4CDCCAAE14CE14DF5A2F5A1BAA8F4FECBD6E14EE14FE150F5A4C0D2E151B3EAE152CDAAF5A5F5A3BDB4F5A8E153F5A9BDCDC3B8BFE1CBE1F5AAE154E155E156F5A6F5A7C4F0E157E158E159E15AE15BF5ACE15CB4BCE15DD7EDE15EB4D7F5ABF5AEE15FE160F5ADF5AFD0D1E161E162E163E164E165E166E167C3D1C8A9E168E169E16AE16BE16CE16DF5B0F5B1E16EE16FE170E171E172E173F5B2E174E175F5B3F5B4F5B5E176E177E178E179F5B7F5B6E17AE17BE17CE17DF5B8E17EE180E181E182E183E184E185E186E187E188E189E18AB2C9E18BD3D4CACDE18CC0EFD6D8D2B0C1BFE18DBDF0E18EE18FE190E191E192E193E194E195E196E197B8AAE198E199E19AE19BE19CE19DE19EE19FE1A0E240E241E242E243E244E245E246E247E248E249E24AE24BE24CE24DE24EE24FE250E251E252E253E254E255E256E257E258E259E25AE25BE25CE25DE25EE25FE260E261E262E263E264E265E266E267E268E269E26AE26BE26CE26DE26EE26FE270E271E272E273E274E275E276E277E278E279E27AE27BE27CE27DE27EE280E281E282E283E284E285E286E287E288E289E28AE28BE28CE28DE28EE28FE290E291E292E293E294E295E296E297E298E299E29AE29BE29CE29DE29EE29FE2A0E340E341E342E343E344E345E346E347E348E349E34AE34BE34CE34DE34EE34FE350E351E352E353E354E355E356E357E358E359E35AE35BE35CE35DE35EE35FE360E361E362E363E364E365E366E367E368E369E36AE36BE36CE36DBCF8E36EE36FE370E371E372E373E374E375E376E377E378E379E37AE37BE37CE37DE37EE380E381E382E383E384E385E386E387F6C6E388E389E38AE38BE38CE38DE38EE38FE390E391E392E393E394E395E396E397E398E399E39AE39BE39CE39DE39EE39FE3A0E440E441E442E443E444E445F6C7E446E447E448E449E44AE44BE44CE44DE44EE44FE450E451E452E453E454E455E456E457E458E459E45AE45BE45CE45DE45EF6C8E45FE460E461E462E463E464E465E466E467E468E469E46AE46BE46CE46DE46EE46FE470E471E472E473E474E475E476E477E478E479E47AE47BE47CE47DE47EE480E481E482E483E484E485E486E487E488E489E48AE48BE48CE48DE48EE48FE490E491E492E493E494E495E496E497E498E499E49AE49BE49CE49DE49EE49FE4A0E540E541E542E543E544E545E546E547E548E549E54AE54BE54CE54DE54EE54FE550E551E552E553E554E555E556E557E558E559E55AE55BE55CE55DE55EE55FE560E561E562E563E564E565E566E567E568E569E56AE56BE56CE56DE56EE56FE570E571E572E573F6C9E574E575E576E577E578E579E57AE57BE57CE57DE57EE580E581E582E583E584E585E586E587E588E589E58AE58BE58CE58DE58EE58FE590E591E592E593E594E595E596E597E598E599E59AE59BE59CE59DE59EE59FF6CAE5A0E640E641E642E643E644E645E646E647E648E649E64AE64BE64CE64DE64EE64FE650E651E652E653E654E655E656E657E658E659E65AE65BE65CE65DE65EE65FE660E661E662F6CCE663E664E665E666E667E668E669E66AE66BE66CE66DE66EE66FE670E671E672E673E674E675E676E677E678E679E67AE67BE67CE67DE67EE680E681E682E683E684E685E686E687E688E689E68AE68BE68CE68DE68EE68FE690E691E692E693E694E695E696E697E698E699E69AE69BE69CE69DF6CBE69EE69FE6A0E740E741E742E743E744E745E746E747F7E9E748E749E74AE74BE74CE74DE74EE74FE750E751E752E753E754E755E756E757E758E759E75AE75BE75CE75DE75EE75FE760E761E762E763E764E765E766E767E768E769E76AE76BE76CE76DE76EE76FE770E771E772E773E774E775E776E777E778E779E77AE77BE77CE77DE77EE780E781E782E783E784E785E786E787E788E789E78AE78BE78CE78DE78EE78FE790E791E792E793E794E795E796E797E798E799E79AE79BE79CE79DE79EE79FE7A0E840E841E842E843E844E845E846E847E848E849E84AE84BE84CE84DE84EF6CDE84FE850E851E852E853E854E855E856E857E858E859E85AE85BE85CE85DE85EE85FE860E861E862E863E864E865E866E867E868E869E86AE86BE86CE86DE86EE86FE870E871E872E873E874E875E876E877E878E879E87AF6CEE87BE87CE87DE87EE880E881E882E883E884E885E886E887E888E889E88AE88BE88CE88DE88EE88FE890E891E892E893E894EEC4EEC5EEC6D5EBB6A4EEC8EEC7EEC9EECAC7A5EECBEECCE895B7B0B5F6EECDEECFE896EECEE897B8C6EED0EED1EED2B6DBB3AED6D3C4C6B1B5B8D6EED3EED4D4BFC7D5BEFBCED9B9B3EED6EED5EED8EED7C5A5EED9EEDAC7AEEEDBC7AFEEDCB2A7EEDDEEDEEEDFEEE0EEE1D7EAEEE2EEE3BCD8EEE4D3CBCCFAB2ACC1E5EEE5C7A6C3ADE898EEE6EEE7EEE8EEE9EEEAEEEBEEECE899EEEDEEEEEEEFE89AE89BEEF0EEF1EEF2EEF4EEF3E89CEEF5CDADC2C1EEF6EEF7EEF8D5A1EEF9CFB3EEFAEEFBE89DEEFCEEFDEFA1EEFEEFA2B8F5C3FAEFA3EFA4BDC2D2BFB2F9EFA5EFA6EFA7D2F8EFA8D6FDEFA9C6CCE89EEFAAEFABC1B4EFACCFFACBF8EFAEEFADB3FAB9F8EFAFEFB0D0E2EFB1EFB2B7E6D0BFEFB3EFB4EFB5C8F1CCE0EFB6EFB7EFB8EFB9EFBAD5E0EFBBB4EDC3AAEFBCE89FEFBDEFBEEFBFE8A0CEFDEFC0C2E0B4B8D7B6BDF5E940CFC7EFC3EFC1EFC2EFC4B6A7BCFCBEE2C3CCEFC5EFC6E941EFC7EFCFEFC8EFC9EFCAC7C2EFF1B6CDEFCBE942EFCCEFCDB6C6C3BEEFCEE943EFD0EFD1EFD2D5F2E944EFD3C4F7E945EFD4C4F8EFD5EFD6B8E4B0F7EFD7EFD8EFD9E946EFDAEFDBEFDCEFDDE947EFDEBEB5EFE1EFDFEFE0E948EFE2EFE3C1CDEFE4EFE5EFE6EFE7EFE8EFE9EFEAEFEBEFECC0D8E949EFEDC1ADEFEEEFEFEFF0E94AE94BCFE2E94CE94DE94EE94FE950E951E952E953B3A4E954E955E956E957E958E959E95AE95BE95CE95DE95EE95FE960E961E962E963E964E965E966E967E968E969E96AE96BE96CE96DE96EE96FE970E971E972E973E974E975E976E977E978E979E97AE97BE97CE97DE97EE980E981E982E983E984E985E986E987E988E989E98AE98BE98CE98DE98EE98FE990E991E992E993E994E995E996E997E998E999E99AE99BE99CE99DE99EE99FE9A0EA40EA41EA42EA43EA44EA45EA46EA47EA48EA49EA4AEA4BEA4CEA4DEA4EEA4FEA50EA51EA52EA53EA54EA55EA56EA57EA58EA59EA5AEA5BC3C5E3C5C9C1E3C6EA5CB1D5CECAB4B3C8F2E3C7CFD0E3C8BCE4E3C9E3CAC3C6D5A2C4D6B9EBCEC5E3CBC3F6E3CCEA5DB7A7B8F3BAD2E3CDE3CED4C4E3CFEA5EE3D0D1CBE3D1E3D2E3D3E3D4D1D6E3D5B2FBC0BBE3D6EA5FC0ABE3D7E3D8E3D9EA60E3DAE3DBEA61B8B7DAE2EA62B6D3EA63DAE4DAE3EA64EA65EA66EA67EA68EA69EA6ADAE6EA6BEA6CEA6DC8EEEA6EEA6FDAE5B7C0D1F4D2F5D5F3BDD7EA70EA71EA72EA73D7E8DAE8DAE7EA74B0A2CDD3EA75DAE9EA76B8BDBCCAC2BDC2A4B3C2DAEAEA77C2AAC4B0BDB5EA78EA79CFDEEA7AEA7BEA7CDAEBC9C2EA7DEA7EEA80EA81EA82B1DDEA83EA84EA85DAECEA86B6B8D4BAEA87B3FDEA88EA89DAEDD4C9CFD5C5E3EA8ADAEEEA8BEA8CEA8DEA8EEA8FDAEFEA90DAF0C1EACCD5CFDDEA91EA92EA93EA94EA95EA96EA97EA98EA99EA9AEA9BEA9CEA9DD3E7C2A1EA9EDAF1EA9FEAA0CBE5EB40DAF2EB41CBE6D2FEEB42EB43EB44B8F4EB45EB46DAF3B0AFCFB6EB47EB48D5CFEB49EB4AEB4BEB4CEB4DEB4EEB4FEB50EB51EB52CBEDEB53EB54EB55EB56EB57EB58EB59EB5ADAF4EB5BEB5CE3C4EB5DEB5EC1A5EB5FEB60F6BFEB61EB62F6C0F6C1C4D1EB63C8B8D1E3EB64EB65D0DBD1C5BCAFB9CDEB66EFF4EB67EB68B4C6D3BAF6C2B3FBEB69EB6AF6C3EB6BEB6CB5F1EB6DEB6EEB6FEB70EB71EB72EB73EB74EB75EB76F6C5EB77EB78EB79EB7AEB7BEB7CEB7DD3EAF6A7D1A9EB7EEB80EB81EB82F6A9EB83EB84EB85F6A8EB86EB87C1E3C0D7EB88B1A2EB89EB8AEB8BEB8CCEEDEB8DD0E8F6ABEB8EEB8FCFF6EB90F6AAD5F0F6ACC3B9EB91EB92EB93BBF4F6AEF6ADEB94EB95EB96C4DEEB97EB98C1D8EB99EB9AEB9BEB9CEB9DCBAAEB9ECFBCEB9FEBA0EC40EC41EC42EC43EC44EC45EC46EC47EC48F6AFEC49EC4AF6B0EC4BEC4CF6B1EC4DC2B6EC4EEC4FEC50EC51EC52B0D4C5F9EC53EC54EC55EC56F6B2EC57EC58EC59EC5AEC5BEC5CEC5DEC5EEC5FEC60EC61EC62EC63EC64EC65EC66EC67EC68EC69C7E0F6A6EC6AEC6BBEB8EC6CEC6DBEB2EC6EB5E5EC6FEC70B7C7EC71BFBFC3D2C3E6EC72EC73D8CCEC74EC75EC76B8EFEC77EC78EC79EC7AEC7BEC7CEC7DEC7EEC80BDF9D1A5EC81B0D0EC82EC83EC84EC85EC86F7B0EC87EC88EC89EC8AEC8BEC8CEC8DEC8EF7B1EC8FEC90EC91EC92EC93D0ACEC94B0B0EC95EC96EC97F7B2F7B3EC98F7B4EC99EC9AEC9BC7CAEC9CEC9DEC9EEC9FECA0ED40ED41BECFED42ED43F7B7ED44ED45ED46ED47ED48ED49ED4AF7B6ED4BB1DEED4CF7B5ED4DED4EF7B8ED4FF7B9ED50ED51ED52ED53ED54ED55ED56ED57ED58ED59ED5AED5BED5CED5DED5EED5FED60ED61ED62ED63ED64ED65ED66ED67ED68ED69ED6AED6BED6CED6DED6EED6FED70ED71ED72ED73ED74ED75ED76ED77ED78ED79ED7AED7BED7CED7DED7EED80ED81CEA4C8CDED82BAABE8B8E8B9E8BABEC2ED83ED84ED85ED86ED87D2F4ED88D4CFC9D8ED89ED8AED8BED8CED8DED8EED8FED90ED91ED92ED93ED94ED95ED96ED97ED98ED99ED9AED9BED9CED9DED9EED9FEDA0EE40EE41EE42EE43EE44EE45EE46EE47EE48EE49EE4AEE4BEE4CEE4DEE4EEE4FEE50EE51EE52EE53EE54EE55EE56EE57EE58EE59EE5AEE5BEE5CEE5DEE5EEE5FEE60EE61EE62EE63EE64EE65EE66EE67EE68EE69EE6AEE6BEE6CEE6DEE6EEE6FEE70EE71EE72EE73EE74EE75EE76EE77EE78EE79EE7AEE7BEE7CEE7DEE7EEE80EE81EE82EE83EE84EE85EE86EE87EE88EE89EE8AEE8BEE8CEE8DEE8EEE8FEE90EE91EE92EE93EE94EE95EE96EE97EE98EE99EE9AEE9BEE9CEE9DEE9EEE9FEEA0EF40EF41EF42EF43EF44EF45D2B3B6A5C7EAF1FCCFEECBB3D0EBE7EFCDE7B9CBB6D9F1FDB0E4CBCCF1FED4A4C2ADC1ECC6C4BEB1F2A1BCD5EF46F2A2F2A3EF47F2A4D2C3C6B5EF48CDC7F2A5EF49D3B1BFC5CCE2EF4AF2A6F2A7D1D5B6EEF2A8F2A9B5DFF2AAF2ABEF4BB2FCF2ACF2ADC8A7EF4CEF4DEF4EEF4FEF50EF51EF52EF53EF54EF55EF56EF57EF58EF59EF5AEF5BEF5CEF5DEF5EEF5FEF60EF61EF62EF63EF64EF65EF66EF67EF68EF69EF6AEF6BEF6CEF6DEF6EEF6FEF70EF71B7E7EF72EF73ECA9ECAAECABEF74ECACEF75EF76C6AEECADECAEEF77EF78EF79B7C9CAB3EF7AEF7BEF7CEF7DEF7EEF80EF81E2B8F7CFEF82EF83EF84EF85EF86EF87EF88EF89EF8AEF8BEF8CEF8DEF8EEF8FEF90EF91EF92EF93EF94EF95EF96EF97EF98EF99EF9AEF9BEF9CEF9DEF9EEF9FEFA0F040F041F042F043F044F7D0F045F046B2CDF047F048F049F04AF04BF04CF04DF04EF04FF050F051F052F053F054F055F056F057F058F059F05AF05BF05CF05DF05EF05FF060F061F062F063F7D1F064F065F066F067F068F069F06AF06BF06CF06DF06EF06FF070F071F072F073F074F075F076F077F078F079F07AF07BF07CF07DF07EF080F081F082F083F084F085F086F087F088F089F7D3F7D2F08AF08BF08CF08DF08EF08FF090F091F092F093F094F095F096E2BBF097BCA2F098E2BCE2BDE2BEE2BFE2C0E2C1B7B9D2FBBDA4CACEB1A5CBC7F099E2C2B6FCC8C4E2C3F09AF09BBDC8F09CB1FDE2C4F09DB6F6E2C5C4D9F09EF09FE2C6CFDAB9DDE2C7C0A1F0A0E2C8B2F6F140E2C9F141C1F3E2CAE2CBC2F8E2CCE2CDE2CECAD7D8B8D9E5CFE3F142F143F144F145F146F147F148F149F14AF14BF14CF0A5F14DF14EDCB0F14FF150F151F152F153F154F155F156F157F158F159F15AF15BF15CF15DF15EF15FF160F161F162F163F164F165F166F167F168F169F16AF16BF16CF16DF16EF16FF170F171F172F173F174F175F176F177F178F179F17AF17BF17CF17DF17EF180F181F182F183F184F185F186F187F188F189F18AF18BF18CF18DF18EF18FF190F191F192F193F194F195F196F197F198F199F19AF19BF19CF19DF19EF19FF1A0F240F241F242F243F244F245F246F247F248F249F24AF24BF24CF24DF24EF24FF250F251F252F253F254F255F256F257F258F259F25AF25BF25CF25DF25EF25FF260F261F262F263F264F265F266F267F268F269F26AF26BF26CF26DF26EF26FF270F271F272F273F274F275F276F277F278F279F27AF27BF27CF27DF27EF280F281F282F283F284F285F286F287F288F289F28AF28BF28CF28DF28EF28FF290F291F292F293F294F295F296F297F298F299F29AF29BF29CF29DF29EF29FF2A0F340F341F342F343F344F345F346F347F348F349F34AF34BF34CF34DF34EF34FF350F351C2EDD4A6CDD4D1B1B3DBC7FDF352B2B5C2BFE6E0CABBE6E1E6E2BED4E6E3D7A4CDD5E6E5BCDDE6E4E6E6E6E7C2EEF353BDBEE6E8C2E6BAA7E6E9F354E6EAB3D2D1E9F355F356BFA5E6EBC6EFE6ECE6EDF357F358E6EEC6ADE6EFF359C9A7E6F0E6F1E6F2E5B9E6F3E6F4C2E2E6F5E6F6D6E8E6F7F35AE6F8B9C7F35BF35CF35DF35EF35FF360F361F7BBF7BAF362F363F364F365F7BEF7BCBAA1F366F7BFF367F7C0F368F369F36AF7C2F7C1F7C4F36BF36CF7C3F36DF36EF36FF370F371F7C5F7C6F372F373F374F375F7C7F376CBE8F377F378F379F37AB8DFF37BF37CF37DF37EF380F381F7D4F382F7D5F383F384F385F386F7D6F387F388F389F38AF7D8F38BF7DAF38CF7D7F38DF38EF38FF390F391F392F393F394F395F7DBF396F7D9F397F398F399F39AF39BF39CF39DD7D7F39EF39FF3A0F440F7DCF441F442F443F444F445F446F7DDF447F448F449F7DEF44AF44BF44CF44DF44EF44FF450F451F452F453F454F7DFF455F456F457F7E0F458F459F45AF45BF45CF45DF45EF45FF460F461F462DBCBF463F464D8AAF465F466F467F468F469F46AF46BF46CE5F7B9EDF46DF46EF46FF470BFFDBBEAF7C9C6C7F7C8F471F7CAF7CCF7CBF472F473F474F7CDF475CEBAF476F7CEF477F478C4A7F479F47AF47BF47CF47DF47EF480F481F482F483F484F485F486F487F488F489F48AF48BF48CF48DF48EF48FF490F491F492F493F494F495F496F497F498F499F49AF49BF49CF49DF49EF49FF4A0F540F541F542F543F544F545F546F547F548F549F54AF54BF54CF54DF54EF54FF550F551F552F553F554F555F556F557F558F559F55AF55BF55CF55DF55EF55FF560F561F562F563F564F565F566F567F568F569F56AF56BF56CF56DF56EF56FF570F571F572F573F574F575F576F577F578F579F57AF57BF57CF57DF57EF580F581F582F583F584F585F586F587F588F589F58AF58BF58CF58DF58EF58FF590F591F592F593F594F595F596F597F598F599F59AF59BF59CF59DF59EF59FF5A0F640F641F642F643F644F645F646F647F648F649F64AF64BF64CF64DF64EF64FF650F651F652F653F654F655F656F657F658F659F65AF65BF65CF65DF65EF65FF660F661F662F663F664F665F666F667F668F669F66AF66BF66CF66DF66EF66FF670F671F672F673F674F675F676F677F678F679F67AF67BF67CF67DF67EF680F681F682F683F684F685F686F687F688F689F68AF68BF68CF68DF68EF68FF690F691F692F693F694F695F696F697F698F699F69AF69BF69CF69DF69EF69FF6A0F740F741F742F743F744F745F746F747F748F749F74AF74BF74CF74DF74EF74FF750F751F752F753F754F755F756F757F758F759F75AF75BF75CF75DF75EF75FF760F761F762F763F764F765F766F767F768F769F76AF76BF76CF76DF76EF76FF770F771F772F773F774F775F776F777F778F779F77AF77BF77CF77DF77EF780D3E3F781F782F6CFF783C2B3F6D0F784F785F6D1F6D2F6D3F6D4F786F787F6D6F788B1ABF6D7F789F6D8F6D9F6DAF78AF6DBF6DCF78BF78CF78DF78EF6DDF6DECFCAF78FF6DFF6E0F6E1F6E2F6E3F6E4C0F0F6E5F6E6F6E7F6E8F6E9F790F6EAF791F6EBF6ECF792F6EDF6EEF6EFF6F0F6F1F6F2F6F3F6F4BEA8F793F6F5F6F6F6F7F6F8F794F795F796F797F798C8FAF6F9F6FAF6FBF6FCF799F79AF6FDF6FEF7A1F7A2F7A3F7A4F7A5F79BF79CF7A6F7A7F7A8B1EEF7A9F7AAF7ABF79DF79EF7ACF7ADC1DBF7AEF79FF7A0F7AFF840F841F842F843F844F845F846F847F848F849F84AF84BF84CF84DF84EF84FF850F851F852F853F854F855F856F857F858F859F85AF85BF85CF85DF85EF85FF860F861F862F863F864F865F866F867F868F869F86AF86BF86CF86DF86EF86FF870F871F872F873F874F875F876F877F878F879F87AF87BF87CF87DF87EF880F881F882F883F884F885F886F887F888F889F88AF88BF88CF88DF88EF88FF890F891F892F893F894F895F896F897F898F899F89AF89BF89CF89DF89EF89FF8A0F940F941F942F943F944F945F946F947F948F949F94AF94BF94CF94DF94EF94FF950F951F952F953F954F955F956F957F958F959F95AF95BF95CF95DF95EF95FF960F961F962F963F964F965F966F967F968F969F96AF96BF96CF96DF96EF96FF970F971F972F973F974F975F976F977F978F979F97AF97BF97CF97DF97EF980F981F982F983F984F985F986F987F988F989F98AF98BF98CF98DF98EF98FF990F991F992F993F994F995F996F997F998F999F99AF99BF99CF99DF99EF99FF9A0FA40FA41FA42FA43FA44FA45FA46FA47FA48FA49FA4AFA4BFA4CFA4DFA4EFA4FFA50FA51FA52FA53FA54FA55FA56FA57FA58FA59FA5AFA5BFA5CFA5DFA5EFA5FFA60FA61FA62FA63FA64FA65FA66FA67FA68FA69FA6AFA6BFA6CFA6DFA6EFA6FFA70FA71FA72FA73FA74FA75FA76FA77FA78FA79FA7AFA7BFA7CFA7DFA7EFA80FA81FA82FA83FA84FA85FA86FA87FA88FA89FA8AFA8BFA8CFA8DFA8EFA8FFA90FA91FA92FA93FA94FA95FA96FA97FA98FA99FA9AFA9BFA9CFA9DFA9EFA9FFAA0FB40FB41FB42FB43FB44FB45FB46FB47FB48FB49FB4AFB4BFB4CFB4DFB4EFB4FFB50FB51FB52FB53FB54FB55FB56FB57FB58FB59FB5AFB5BC4F1F0AFBCA6F0B0C3F9FB5CC5B8D1BBFB5DF0B1F0B2F0B3F0B4F0B5D1BCFB5ED1ECFB5FF0B7F0B6D4A7FB60CDD2F0B8F0BAF0B9F0BBF0BCFB61FB62B8EBF0BDBAE8FB63F0BEF0BFBEE9F0C0B6ECF0C1F0C2F0C3F0C4C8B5F0C5F0C6FB64F0C7C5F4FB65F0C8FB66FB67FB68F0C9FB69F0CAF7BDFB6AF0CBF0CCF0CDFB6BF0CEFB6CFB6DFB6EFB6FF0CFBAD7FB70F0D0F0D1F0D2F0D3F0D4F0D5F0D6F0D8FB71FB72D3A5F0D7FB73F0D9FB74FB75FB76FB77FB78FB79FB7AFB7BFB7CFB7DF5BAC2B9FB7EFB80F7E4FB81FB82FB83FB84F7E5F7E6FB85FB86F7E7FB87FB88FB89FB8AFB8BFB8CF7E8C2B4FB8DFB8EFB8FFB90FB91FB92FB93FB94FB95F7EAFB96F7EBFB97FB98FB99FB9AFB9BFB9CC2F3FB9DFB9EFB9FFBA0FC40FC41FC42FC43FC44FC45FC46FC47FC48F4F0FC49FC4AFC4BF4EFFC4CFC4DC2E9FC4EF7E1F7E2FC4FFC50FC51FC52FC53BBC6FC54FC55FC56FC57D9E4FC58FC59FC5ACAF2C0E8F0A4FC5BBADAFC5CFC5DC7ADFC5EFC5FFC60C4ACFC61FC62F7ECF7EDF7EEFC63F7F0F7EFFC64F7F1FC65FC66F7F4FC67F7F3FC68F7F2F7F5FC69FC6AFC6BFC6CF7F6FC6DFC6EFC6FFC70FC71FC72FC73FC74FC75EDE9FC76EDEAEDEBFC77F6BCFC78FC79FC7AFC7BFC7CFC7DFC7EFC80FC81FC82FC83FC84F6BDFC85F6BEB6A6FC86D8BEFC87FC88B9C4FC89FC8AFC8BD8BBFC8CDCB1FC8DFC8EFC8FFC90FC91FC92CAF3FC93F7F7FC94FC95FC96FC97FC98FC99FC9AFC9BFC9CF7F8FC9DFC9EF7F9FC9FFCA0FD40FD41FD42FD43FD44F7FBFD45F7FAFD46B1C7FD47F7FCF7FDFD48FD49FD4AFD4BFD4CF7FEFD4DFD4EFD4FFD50FD51FD52FD53FD54FD55FD56FD57C6EBECB4FD58FD59FD5AFD5BFD5CFD5DFD5EFD5FFD60FD61FD62FD63FD64FD65FD66FD67FD68FD69FD6AFD6BFD6CFD6DFD6EFD6FFD70FD71FD72FD73FD74FD75FD76FD77FD78FD79FD7AFD7BFD7CFD7DFD7EFD80FD81FD82FD83FD84FD85B3DDF6B3FD86FD87F6B4C1E4F6B5F6B6F6B7F6B8F6B9F6BAC8A3F6BBFD88FD89FD8AFD8BFD8CFD8DFD8EFD8FFD90FD91FD92FD93C1FAB9A8EDE8FD94FD95FD96B9EAD9DFFD97FD98FD99FD9AFD9";
67
67
  encodeToGb2312(D) {
68
68
  for (var C = "", B = 0; B < D.length; B++) {
@@ -70,8 +70,8 @@ class cC {
70
70
  if (F == " ")
71
71
  C += "+";
72
72
  else if (A >= 19968 && A <= 40869) {
73
- let e = A - 19968;
74
- C += "%" + this.z.substr(e * 4, 2) + "%" + this.z.substr(e * 4 + 2, 2);
73
+ let t = A - 19968;
74
+ C += "%" + this.z.substr(t * 4, 2) + "%" + this.z.substr(t * 4 + 2, 2);
75
75
  } else
76
76
  C += "%" + D.charCodeAt(B).toString(16);
77
77
  }
@@ -89,11 +89,11 @@ class cC {
89
89
  var A = D.charAt(B);
90
90
  if (isNaN(parseInt(A)))
91
91
  try {
92
- var e = D.substr(B, 2) + D.substr(B + 3, 2);
92
+ var t = D.substr(B, 2) + D.substr(B + 3, 2);
93
93
  B = B + 4;
94
- for (var t = -1; (t = this.z.indexOf(e, t + 1)) != -1; )
95
- if (t % 4 == 0) {
96
- C += String.fromCharCode(t / 4 + 19968);
94
+ for (var e = -1; (e = this.z.indexOf(t, e + 1)) != -1; )
95
+ if (e % 4 == 0) {
96
+ C += String.fromCharCode(e / 4 + 19968);
97
97
  break;
98
98
  }
99
99
  } catch {
@@ -111,16 +111,19 @@ class cC {
111
111
  return C;
112
112
  }
113
113
  }
114
- let P = new cC();
114
+ let P = new mC();
115
115
  class o {
116
116
  static kOrigin;
117
117
  imp;
118
118
  constructor(D, C, B) {
119
- this.imp = new n.mxcadassemblyimp.MdGePoint3d(), D instanceof Object ? (this.imp.x = D.x, this.imp.y = D.y, this.imp.z = D.z) : (this.imp.x = D || 0, this.imp.y = C || 0, this.imp.z = B || 0);
119
+ this.imp = new s.mxcadassemblyimp.MdGePoint3d(), D instanceof Object ? (this.imp.x = D.x, this.imp.y = D.y, this.imp.z = D.z) : (this.imp.x = D || 0, this.imp.y = C || 0, this.imp.z = B || 0);
120
120
  }
121
121
  toVector3() {
122
122
  return new THREE.Vector3(this.imp.x, this.imp.y, this.imp.z);
123
123
  }
124
+ setFromVector3(D) {
125
+ return this.imp.x = D.x, this.imp.y = D.y, this.imp.z = D.z, this;
126
+ }
124
127
  copy(D) {
125
128
  return this.imp.x = D.x, this.imp.y = D.y, this.imp.z = D.z, this;
126
129
  }
@@ -171,7 +174,7 @@ class y {
171
174
  static kNegateZAxis;
172
175
  imp;
173
176
  constructor(D, C, B) {
174
- this.imp = new n.mxcadassemblyimp.MdGeVector3d(), D instanceof Object ? (this.imp.x = D.x, this.imp.y = D.y, this.imp.z = D.z) : (this.imp.x = D || 0, this.imp.y = C || 0, this.imp.z = B || 0);
177
+ this.imp = new s.mxcadassemblyimp.MdGeVector3d(), D instanceof Object ? (this.imp.x = D.x, this.imp.y = D.y, this.imp.z = D.z) : (this.imp.x = D || 0, this.imp.y = C || 0, this.imp.z = B || 0);
175
178
  }
176
179
  copy(D) {
177
180
  return this.imp.x = D.imp.x, this.imp.y = D.imp.y, this.imp.z = D.imp.z, this;
@@ -239,7 +242,7 @@ class v {
239
242
  static kIdentity;
240
243
  imp;
241
244
  constructor(D) {
242
- this.imp = new n.mxcadassemblyimp.MdGeMatrix3d(), D instanceof Object && this.imp.copy(D);
245
+ this.imp = new s.mxcadassemblyimp.MdGeMatrix3d(), D instanceof Object && this.imp.copy(D);
243
246
  }
244
247
  copy(D) {
245
248
  return this.imp.copy(D.imp), this;
@@ -296,13 +299,18 @@ class v {
296
299
  return this.imp.getData(D, C);
297
300
  }
298
301
  }
299
- class SD {
302
+ class wD {
300
303
  imp;
301
304
  constructor(D) {
302
- this.imp = new n.mxcadassemblyimp.MdGeLongArray(), D instanceof Object && this.imp.copy(D);
305
+ this.imp = new s.mxcadassemblyimp.MdGeLongArray(), D instanceof Object && this.imp.copy(D);
303
306
  }
304
307
  copy(D) {
305
- return this.imp.copy(D.imp), this;
308
+ return this.imp.clear(), this.imp.copy(D.imp), this;
309
+ }
310
+ copyFormAryId(D) {
311
+ return this.imp.clear(), D.forEach((C) => {
312
+ this.imp.append(C.id);
313
+ }), this;
306
314
  }
307
315
  append(D) {
308
316
  this.imp.append(D);
@@ -316,11 +324,14 @@ class SD {
316
324
  setAt(D, C) {
317
325
  this.imp.setAt(D, C);
318
326
  }
327
+ clear() {
328
+ this.imp.clear();
329
+ }
319
330
  }
320
- class ID {
331
+ class GD {
321
332
  imp;
322
333
  constructor(D) {
323
- this.imp = new n.mxcadassemblyimp.MdGeStringArray(), D instanceof Object && this.imp.copy(D);
334
+ this.imp = new s.mxcadassemblyimp.MdGeStringArray(), D instanceof Object && this.imp.copy(D);
324
335
  }
325
336
  copy(D) {
326
337
  return this.imp.copy(D.imp), this;
@@ -342,11 +353,14 @@ class ID {
342
353
  for (let F = 0; F < B; F++)
343
354
  D(C ? P.decodeFromGb2312(this.imp.at(F)) : this.imp.at(F), F);
344
355
  }
356
+ clear() {
357
+ this.imp.clear();
358
+ }
345
359
  }
346
- class mC {
360
+ class pC {
347
361
  imp;
348
362
  constructor(D) {
349
- this.imp = new n.mxcadassemblyimp.MdGePoint3dArray(), D instanceof Object && this.imp.copy(D);
363
+ this.imp = new s.mxcadassemblyimp.MdGePoint3dArray(), D instanceof Object && this.imp.copy(D);
350
364
  }
351
365
  copy(D) {
352
366
  return this.imp.copy(D.imp), this;
@@ -363,14 +377,17 @@ class mC {
363
377
  setAt(D, C) {
364
378
  this.imp.setAt(D, C.imp);
365
379
  }
380
+ clear() {
381
+ this.imp.clear();
382
+ }
366
383
  }
367
- const pC = new FinalizationRegistry((E) => {
368
- n.App.DestroyObject(E);
369
- }), dC = {};
370
- class H {
384
+ const dC = new FinalizationRegistry((E) => {
385
+ s.App.DestroyObject(E);
386
+ }), hC = {};
387
+ class _ {
371
388
  imp = 0;
372
389
  constructor(D) {
373
- this.imp = D, this.imp && pC.register(this, D, dC);
390
+ this.imp = D, this.imp && dC.register(this, D, hC);
374
391
  }
375
392
  getImp() {
376
393
  return this.imp;
@@ -396,41 +413,41 @@ class H {
396
413
  return this.imp.isKindOf(D);
397
414
  }
398
415
  }
399
- var k = /* @__PURE__ */ ((E) => (E[E.kMxCAD = 0] = "kMxCAD", E[E.kMxDraw = 1] = "kMxDraw", E[E.kInvalid = 2] = "kInvalid", E))(k || {});
400
- class R {
416
+ var L = /* @__PURE__ */ ((E) => (E[E.kMxCAD = 0] = "kMxCAD", E[E.kMxDraw = 1] = "kMxDraw", E[E.kInvalid = 2] = "kInvalid", E))(L || {});
417
+ class k {
401
418
  id;
402
419
  type;
403
- constructor(D, C) {
420
+ constructor(D = 0, C = 2) {
404
421
  this.id = D, D ? this.type = C : this.type = 2;
405
422
  }
406
423
  isValid() {
407
424
  return this.type != 2 && this.id != 0;
408
425
  }
409
426
  erase() {
410
- this.type == 1 ? h.getCurrentDraw().eraseMxEntity(this.id) : this.type == 0 && U.eraseEntity(this.id);
427
+ this.type == 1 ? h.getCurrentDraw().eraseMxEntity(this.id) : this.type == 0 && R.eraseEntity(this.id);
411
428
  }
412
429
  getMcDbObject() {
413
- return this.type == 0 ? n.App.ObjectIdToObject(this.id) : null;
430
+ return this.type == 0 ? s.App.ObjectIdToObject(this.id) : null;
414
431
  }
415
432
  getMcDbEntity() {
416
- return this.type == 0 && n.App.ObjectIdIsKindOf(this.id, "McDbEntity") ? n.App.ObjectIdToObject(this.id) : null;
433
+ return this.type == 0 && s.App.ObjectIdIsKindOf(this.id, "McDbEntity") ? s.App.ObjectIdToObject(this.id) : null;
417
434
  }
418
435
  getMcDbCurve() {
419
- return this.type == 0 && n.App.ObjectIdIsKindOf(this.id, "McDbCurve") ? n.App.ObjectIdToObject(this.id) : null;
436
+ return this.type == 0 && s.App.ObjectIdIsKindOf(this.id, "McDbCurve") ? s.App.ObjectIdToObject(this.id) : null;
420
437
  }
421
438
  clone() {
422
439
  if (this.type == 0) {
423
- let D = n.App.getImp().ObjectIdToMdObject(this.id);
440
+ let D = s.App.getImp().ObjectIdToMdObject(this.id);
424
441
  if (!D)
425
442
  return null;
426
443
  let C = D.Clone();
427
- return n.App.DestroyObject(D), n.App.CreateCloneObject(C);
444
+ return s.App.DestroyObject(D), s.App.CreateCloneObject(C);
428
445
  }
429
446
  return null;
430
447
  }
431
448
  getObjectName() {
432
449
  if (this.type == 0)
433
- return n.App.getImp().ObjectIdToObjectName(this.id);
450
+ return s.App.getImp().ObjectIdToObjectName(this.id);
434
451
  if (this.type == 1) {
435
452
  let D = h.getCurrentDraw().getMxEntity(this.id);
436
453
  if (D)
@@ -442,7 +459,7 @@ class R {
442
459
  return this.type == 1 ? h.getCurrentDraw().getMxEntity(this.id) : null;
443
460
  }
444
461
  }
445
- class j extends H {
462
+ class G extends _ {
446
463
  constructor(D) {
447
464
  super(D);
448
465
  }
@@ -454,28 +471,28 @@ class j extends H {
454
471
  }
455
472
  Clone() {
456
473
  let D = this.imp.Clone();
457
- return n.App.CreateCloneObject(D);
474
+ return s.App.CreateCloneObject(D);
458
475
  }
459
476
  GetHandle() {
460
477
  return this.imp.GetHandle();
461
478
  }
462
479
  GetDatabase() {
463
- return new hD(this.imp.GetDatabase());
480
+ return new fD(this.imp.GetDatabase());
464
481
  }
465
482
  GetOwnerID() {
466
483
  return this.imp.GetOwnerID();
467
484
  }
468
485
  }
469
- class aD {
486
+ class cD {
470
487
  aryVal = [];
471
488
  constructor(D) {
472
489
  if (D) {
473
490
  let C = 0, B = D.length();
474
491
  for (; C < B; C++) {
475
- let F = D.release(C), A = n.App.CreateCloneObject(F);
492
+ let F = D.release(C), A = s.App.CreateCloneObject(F);
476
493
  A != null && this.aryVal.push(A);
477
494
  }
478
- n.App.DestroyObject(D);
495
+ s.App.DestroyObject(D);
479
496
  }
480
497
  }
481
498
  forEach(D) {
@@ -490,7 +507,7 @@ class aD {
490
507
  return this.aryVal.length == 0;
491
508
  }
492
509
  }
493
- var uD;
510
+ var mD;
494
511
  ((E) => {
495
512
  ((D) => {
496
513
  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";
@@ -501,11 +518,11 @@ var uD;
501
518
  })(E.AttachmentPoint || (E.AttachmentPoint = {})), ((D) => {
502
519
  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";
503
520
  })(E.LineWeight || (E.LineWeight = {}));
504
- })(uD || (uD = {}));
505
- class N {
521
+ })(mD || (mD = {}));
522
+ class q {
506
523
  imp;
507
524
  constructor(D, C, B) {
508
- this.imp = new n.mxcadassemblyimp.MdCmColor(), D instanceof Object ? (this.imp.red = D.red, this.imp.green = D.green, this.imp.blue = D.blue, this.imp.method = D.method, this.imp.n = D.n, this.imp.colorIndex = D.colorIndex) : typeof D == "number" && typeof C == "number" && typeof B == "number" && this.imp.setRGB(D, C, B);
525
+ this.imp = new s.mxcadassemblyimp.MdCmColor(), D instanceof Object ? (this.imp.red = D.red, this.imp.green = D.green, this.imp.blue = D.blue, this.imp.method = D.method, this.imp.n = D.n, this.imp.colorIndex = D.colorIndex) : typeof D == "number" && typeof C == "number" && typeof B == "number" && this.imp.setRGB(D, C, B);
509
526
  }
510
527
  getImp() {
511
528
  return this.imp;
@@ -514,7 +531,7 @@ class N {
514
531
  return this.imp.red = D.imp.red, this.imp.green = D.imp.green, this.imp.blue = D.imp.blue, this.imp.method = D.imp.method, this.imp.n = D.imp.n, this.imp.colorIndex = D.imp.colorIndex, this;
515
532
  }
516
533
  clone() {
517
- return new N(this.imp);
534
+ return new q(this.imp);
518
535
  }
519
536
  setColorIndex(D) {
520
537
  this.imp.setColorIndex(D);
@@ -559,9 +576,9 @@ class N {
559
576
  this.imp.colorIndex = D;
560
577
  }
561
578
  }
562
- class hC extends j {
579
+ class yC extends G {
563
580
  constructor(D) {
564
- super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbLayerTableRecord());
581
+ super(D), D || this.initTempObject(new s.mxcadassemblyimp.MdDbLayerTableRecord());
565
582
  }
566
583
  get name() {
567
584
  return this.imp.getName();
@@ -588,13 +605,13 @@ class hC extends j {
588
605
  this.imp.setIsLocked(D);
589
606
  }
590
607
  get color() {
591
- return new N(this.imp.color());
608
+ return new q(this.imp.color());
592
609
  }
593
610
  set color(D) {
594
611
  this.imp.setColor(D.getImp());
595
612
  }
596
613
  get linetypeObjectId() {
597
- return new R(this.imp.linetypeObjectId(), k.kMxCAD);
614
+ return new k(this.imp.linetypeObjectId(), L.kMxCAD);
598
615
  }
599
616
  set linetypeObjectId(D) {
600
617
  this.imp.setLinetypeObjectId(D.id);
@@ -606,39 +623,39 @@ class hC extends j {
606
623
  this.imp.setLineWeight(D);
607
624
  }
608
625
  }
609
- class jD extends j {
626
+ class VD extends G {
610
627
  constructor(D) {
611
628
  super(D);
612
629
  }
613
630
  }
614
- class GD extends j {
631
+ class WD extends G {
615
632
  constructor(D) {
616
633
  super(D);
617
634
  }
618
635
  }
619
- class VD extends j {
636
+ class UD extends G {
620
637
  constructor(D) {
621
638
  super(D);
622
639
  }
623
640
  }
624
- class hD extends H {
641
+ class fD extends _ {
625
642
  constructor(D) {
626
643
  super(D);
627
644
  }
628
645
  GetLayerTable() {
629
- return new jD(this.imp.GetLayerTable());
646
+ return new VD(this.imp.GetLayerTable());
630
647
  }
631
648
  GetLinetypeTable() {
632
- return new GD(this.imp.GetLinetypeTable());
649
+ return new WD(this.imp.GetLinetypeTable());
633
650
  }
634
651
  GetTextStyleTable() {
635
- return new VD(this.imp.GetTextStyleTable());
652
+ return new UD(this.imp.GetTextStyleTable());
636
653
  }
637
654
  GetBlockTable() {
638
- return new zD(this.imp.GetBlockTable());
655
+ return new KD(this.imp.GetBlockTable());
639
656
  }
640
657
  CurrentSpace() {
641
- return new eD(this.imp.CurrentSpace());
658
+ return new rD(this.imp.CurrentSpace());
642
659
  }
643
660
  GetCurrentlyLineTypeScale() {
644
661
  return this.imp.GetCurrentlyLineTypeScale();
@@ -663,7 +680,7 @@ class hD extends H {
663
680
  this.imp.SetCurrentlyLayerName(C);
664
681
  }
665
682
  GetCurrentlyTrueColor() {
666
- return new N(this.imp.GetCurrentlyTrueColor());
683
+ return new q(this.imp.GetCurrentlyTrueColor());
667
684
  }
668
685
  GetCurrentlyDrawColor() {
669
686
  let D = this.imp.GetCurrentlyDrawColor(), C = new THREE.Color();
@@ -688,7 +705,7 @@ class hD extends H {
688
705
  }
689
706
  HandleToIdIndex(D) {
690
707
  let C = this.imp.HandleToIdIndex(D);
691
- return new R(C, k.kMxCAD);
708
+ return new k(C, L.kMxCAD);
692
709
  }
693
710
  IsModifyed() {
694
711
  return this.imp.IsModifyed();
@@ -697,7 +714,7 @@ class hD extends H {
697
714
  return this.imp.SetModifyed(!1);
698
715
  }
699
716
  }
700
- class UD extends H {
717
+ class zD extends _ {
701
718
  constructor(D) {
702
719
  super(D);
703
720
  }
@@ -708,25 +725,25 @@ class UD extends H {
708
725
  return this.imp.done();
709
726
  }
710
727
  getEntityId() {
711
- return new R(this.imp.getEntityId(), k.kMxCAD);
728
+ return new k(this.imp.getEntityId(), L.kMxCAD);
712
729
  }
713
730
  step(D = !0, C = !0) {
714
731
  return this.imp.step(D, C);
715
732
  }
716
733
  }
717
- class eD extends j {
734
+ class rD extends G {
718
735
  constructor(D) {
719
- super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbBlockTableRecord());
736
+ super(D), D || this.initTempObject(new s.mxcadassemblyimp.MdDbBlockTableRecord());
720
737
  }
721
738
  appendAcDbEntity(D) {
722
- return new R(
739
+ return new k(
723
740
  this.imp.appendAcDbEntity(D.getImp()),
724
- k.kMxCAD
741
+ L.kMxCAD
725
742
  );
726
743
  }
727
744
  newIterator(D = !0, C = !0) {
728
745
  let B = this.imp.newIterator(D, C);
729
- return new UD(B);
746
+ return new zD(B);
730
747
  }
731
748
  get origin() {
732
749
  return new o(this.imp.origin());
@@ -746,7 +763,7 @@ class eD extends j {
746
763
  this.imp.invalidBoundingBoxBuffer();
747
764
  }
748
765
  }
749
- class WD extends H {
766
+ class HD extends _ {
750
767
  constructor(D) {
751
768
  super(D);
752
769
  }
@@ -758,41 +775,41 @@ class WD extends H {
758
775
  }
759
776
  getRecord() {
760
777
  let D = this.imp.getRecord();
761
- return new eD(D);
778
+ return new rD(D);
762
779
  }
763
780
  step(D = !0, C = !0) {
764
781
  this.imp.start(D, C);
765
782
  }
766
783
  }
767
- class zD extends j {
784
+ class KD extends G {
768
785
  constructor(D) {
769
- super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbBlockTable());
786
+ super(D), D || this.initTempObject(new s.mxcadassemblyimp.MdDbBlockTable());
770
787
  }
771
788
  getAt(D) {
772
789
  let C = this.getAt(D);
773
- return C && new eD(C);
790
+ return C && new rD(C);
774
791
  }
775
792
  has(D) {
776
793
  return this.imp.has(D);
777
794
  }
778
795
  newIterator(D = !0, C = !0) {
779
796
  let B = this.imp.newIterator(D, C);
780
- return new WD(B);
797
+ return new HD(B);
781
798
  }
782
799
  add(D) {
783
800
  return this.imp.add(D.getImp());
784
801
  }
785
802
  }
786
- class V extends j {
803
+ class W extends G {
787
804
  constructor(D) {
788
805
  super(D);
789
806
  }
790
807
  explode() {
791
808
  let D = this.imp.explode();
792
- return new iD(D);
809
+ return new Z(D);
793
810
  }
794
811
  get trueColor() {
795
- return new N(this.imp.TrueColor());
812
+ return new q(this.imp.TrueColor());
796
813
  }
797
814
  set trueColor(D) {
798
815
  this.imp.SetTrueColor(D.getImp());
@@ -859,100 +876,100 @@ class V extends j {
859
876
  maxPt: new o(D.AtPoint(1)),
860
877
  ret: !0
861
878
  };
862
- return n.App.DestroyObject(D), C;
879
+ return s.App.DestroyObject(D), C;
863
880
  } else
864
881
  return { minPt: new o(), maxPt: new o(), ret: !1 };
865
882
  }
866
883
  }
867
- class z extends V {
884
+ class z extends W {
868
885
  constructor(D) {
869
886
  super(D);
870
887
  }
871
888
  getStartParam() {
872
- return { val: this.imp.getStartParam(), ret: n.getCallResult() };
889
+ return { val: this.imp.getStartParam(), ret: s.getCallResult() };
873
890
  }
874
891
  getEndParam() {
875
- return { val: this.imp.getEndParam(), ret: n.getCallResult() };
892
+ return { val: this.imp.getEndParam(), ret: s.getCallResult() };
876
893
  }
877
894
  getDistAtParam(D) {
878
- return { val: this.imp.getDistAtParam(D), ret: n.getCallResult() };
895
+ return { val: this.imp.getDistAtParam(D), ret: s.getCallResult() };
879
896
  }
880
897
  getParamAtDist(D) {
881
- return { val: this.imp.getParamAtDist(D), ret: n.getCallResult() };
898
+ return { val: this.imp.getParamAtDist(D), ret: s.getCallResult() };
882
899
  }
883
900
  getDistAtPoint(D) {
884
- return { val: this.imp.getDistAtPoint(D.imp), ret: n.getCallResult() };
901
+ return { val: this.imp.getDistAtPoint(D.imp), ret: s.getCallResult() };
885
902
  }
886
903
  getPointAtDist(D) {
887
904
  return {
888
905
  val: new o(this.imp.getPointAtDist(D)),
889
- ret: n.getCallResult()
906
+ ret: s.getCallResult()
890
907
  };
891
908
  }
892
909
  getStartPoint() {
893
910
  return {
894
911
  val: new o(this.imp.getStartPoint()),
895
- ret: n.getCallResult()
912
+ ret: s.getCallResult()
896
913
  };
897
914
  }
898
915
  getEndPoint() {
899
916
  return {
900
917
  val: new o(this.imp.getStartPoint()),
901
- ret: n.getCallResult()
918
+ ret: s.getCallResult()
902
919
  };
903
920
  }
904
921
  getPointAtParam(D) {
905
922
  return {
906
923
  val: new o(this.imp.getPointAtParam(D)),
907
- ret: n.getCallResult()
924
+ ret: s.getCallResult()
908
925
  };
909
926
  }
910
927
  getParamAtPoint(D) {
911
928
  return {
912
929
  val: this.imp.getParamAtPoint(D.imp),
913
- ret: n.getCallResult()
930
+ ret: s.getCallResult()
914
931
  };
915
932
  }
916
933
  getFirstDeriv(D) {
917
934
  return {
918
935
  val: new y(this.imp.getFirstDeriv(D)),
919
- ret: n.getCallResult()
936
+ ret: s.getCallResult()
920
937
  };
921
938
  }
922
939
  getFirstDerivEx(D) {
923
940
  return {
924
941
  val: new y(this.imp.getFirstDerivEx(D.imp)),
925
- ret: n.getCallResult()
942
+ ret: s.getCallResult()
926
943
  };
927
944
  }
928
945
  getClosestPointTo(D, C) {
929
946
  return {
930
947
  val: new o(this.imp.getClosestPointTo(D.imp, C)),
931
- ret: n.getCallResult()
948
+ ret: s.getCallResult()
932
949
  };
933
950
  }
934
951
  offsetCurves(D, C) {
935
952
  let B = this.imp.offsetCurves(D, C.imp);
936
- return new aD(B);
953
+ return new cD(B);
937
954
  }
938
955
  splitCurves(D) {
939
956
  let C = this.imp.splitCurves(D);
940
- return new aD(C);
957
+ return new cD(C);
941
958
  }
942
959
  getArea() {
943
- return { val: this.imp.getArea(), ret: n.getCallResult() };
960
+ return { val: this.imp.getArea(), ret: s.getCallResult() };
944
961
  }
945
962
  getSamplePoints(D) {
946
963
  let C = this.imp.getSamplePoints(D);
947
- return new iD(C);
964
+ return new Z(C);
948
965
  }
949
966
  getLength() {
950
- return { val: this.imp.getLength(), ret: n.getCallResult() };
967
+ return { val: this.imp.getLength(), ret: s.getCallResult() };
951
968
  }
952
969
  }
953
- class BD extends z {
954
- constructor(D, C, B, F, A, e) {
955
- D instanceof Object ? D instanceof o ? (super(), this.initTempObject(new n.mxcadassemblyimp.MdDbLine()), C instanceof o && (this.startPoint = D, this.endPoint = C)) : super(D) : (super(), this.initTempObject(new n.mxcadassemblyimp.MdDbLine()), this.startPoint = new o(D, C, B), this.endPoint = new o(F, A, e));
970
+ class AD extends z {
971
+ constructor(D, C, B, F, A, t) {
972
+ D instanceof Object ? D instanceof o ? (super(), this.initTempObject(new s.mxcadassemblyimp.MdDbLine()), C instanceof o && (this.startPoint = D, this.endPoint = C)) : super(D) : (super(), this.initTempObject(new s.mxcadassemblyimp.MdDbLine()), this.startPoint = new o(D, C, B), this.endPoint = new o(F, A, t));
956
973
  }
957
974
  get startPoint() {
958
975
  return new o(this.imp.startPoint());
@@ -967,9 +984,9 @@ class BD extends z {
967
984
  this.imp.setEndPoint(D.imp);
968
985
  }
969
986
  }
970
- class lD extends V {
987
+ class pD extends W {
971
988
  constructor(D) {
972
- super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbText());
989
+ super(D), D || this.initTempObject(new s.mxcadassemblyimp.MdDbText());
973
990
  }
974
991
  get position() {
975
992
  return new o(this.imp.position());
@@ -1026,9 +1043,9 @@ class lD extends V {
1026
1043
  this.imp.setVerticalMode(D);
1027
1044
  }
1028
1045
  }
1029
- class ED extends V {
1046
+ class tD extends W {
1030
1047
  constructor(D) {
1031
- super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbMText());
1048
+ super(D), D || this.initTempObject(new s.mxcadassemblyimp.MdDbMText());
1032
1049
  }
1033
1050
  get location() {
1034
1051
  return new o(this.imp.location());
@@ -1067,9 +1084,9 @@ class ED extends V {
1067
1084
  this.imp.setContents(P.encodeToGb2312(D));
1068
1085
  }
1069
1086
  }
1070
- class W extends z {
1087
+ class U extends z {
1071
1088
  constructor(D, C, B, F) {
1072
- D instanceof Object ? super(D) : (super(), this.initTempObject(new n.mxcadassemblyimp.MdDbCircle()), typeof D == "number" && (this.imp.setCenter(new o(D, C, B).imp), this.imp.setRadius(F)));
1089
+ D instanceof Object ? super(D) : (super(), this.initTempObject(new s.mxcadassemblyimp.MdDbCircle()), typeof D == "number" && (this.imp.setCenter(new o(D, C, B).imp), this.imp.setRadius(F)));
1073
1090
  }
1074
1091
  setCenter(D, C, B) {
1075
1092
  this.imp.setCenter(new o(D, C, B).imp);
@@ -1087,9 +1104,9 @@ class W extends z {
1087
1104
  this.imp.setRadius(D);
1088
1105
  }
1089
1106
  }
1090
- class FD extends z {
1107
+ class eD extends z {
1091
1108
  constructor(D) {
1092
- super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbPolyline());
1109
+ super(D), D || this.initTempObject(new s.mxcadassemblyimp.MdDbPolyline());
1093
1110
  }
1094
1111
  get isClosed() {
1095
1112
  return this.imp.isClosed();
@@ -1105,8 +1122,8 @@ class FD extends z {
1105
1122
  }
1106
1123
  addVertexAt(D, C = 0, B = 0, F = 0, A = 0) {
1107
1124
  if (D instanceof THREE.Vector3) {
1108
- let e = new n.mxcadassemblyimp.MdGePoint3d();
1109
- return e.x = D.x, e.y = D.y, e.z = D.z, this.imp.addVertexAt(A, e, C, B, F);
1125
+ let t = new s.mxcadassemblyimp.MdGePoint3d();
1126
+ return t.x = D.x, t.y = D.y, t.z = D.z, this.imp.addVertexAt(A, t, C, B, F);
1110
1127
  } else
1111
1128
  return this.imp.addVertexAt(A, D.imp, C, B, F);
1112
1129
  }
@@ -1117,7 +1134,7 @@ class FD extends z {
1117
1134
  return this.imp.numVerts();
1118
1135
  }
1119
1136
  getPointAt(D) {
1120
- return { val: this.imp.getPointAt(D), ret: n.getCallResult() };
1137
+ return { val: this.imp.getPointAt(D), ret: s.getCallResult() };
1121
1138
  }
1122
1139
  getBulgeAt(D) {
1123
1140
  return this.imp.getBulgeAt(D);
@@ -1126,7 +1143,7 @@ class FD extends z {
1126
1143
  return {
1127
1144
  val1: this.imp.getStartWidthsAt(D),
1128
1145
  val2: this.imp.getEndWidthsAt(D),
1129
- ret: n.getCallResult()
1146
+ ret: s.getCallResult()
1130
1147
  };
1131
1148
  }
1132
1149
  setPointAt(D, C) {
@@ -1136,12 +1153,12 @@ class FD extends z {
1136
1153
  return this.imp.setBulgeAt(D, C);
1137
1154
  }
1138
1155
  }
1139
- class cD extends V {
1156
+ class dD extends W {
1140
1157
  constructor(D) {
1141
- super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbBlockReference());
1158
+ super(D), D || this.initTempObject(new s.mxcadassemblyimp.MdDbBlockReference());
1142
1159
  }
1143
1160
  get blockTableRecordId() {
1144
- return new R(this.imp.blockTableRecord(), k.kMxCAD);
1161
+ return new k(this.imp.blockTableRecord(), L.kMxCAD);
1145
1162
  }
1146
1163
  set blockTableRecordId(D) {
1147
1164
  this.imp.setBlockTableRecordId(D.id);
@@ -1171,7 +1188,7 @@ class cD extends V {
1171
1188
  this.imp.setBlockTransform(D.imp);
1172
1189
  }
1173
1190
  }
1174
- class yD extends V {
1191
+ class xD extends W {
1175
1192
  constructor(D) {
1176
1193
  super(D);
1177
1194
  }
@@ -1209,7 +1226,7 @@ class yD extends V {
1209
1226
  this.imp.setTextRotation(D);
1210
1227
  }
1211
1228
  get dimensionStyle() {
1212
- return new R(this.imp.dimensionStyle(), k.kMxCAD);
1229
+ return new k(this.imp.dimensionStyle(), L.kMxCAD);
1213
1230
  }
1214
1231
  set dimensionStyle(D) {
1215
1232
  this.imp.setDimensionStyle(D.id);
@@ -1248,18 +1265,18 @@ class yD extends V {
1248
1265
  this.imp.SetDimVarString(D, C);
1249
1266
  }
1250
1267
  getDimVarObjectId(D) {
1251
- return new R(
1268
+ return new k(
1252
1269
  this.imp.GetDimVarObjectId(D),
1253
- k.kMxCAD
1270
+ L.kMxCAD
1254
1271
  );
1255
1272
  }
1256
1273
  setDimVarObjectId(D, C) {
1257
1274
  this.imp.SetDimVarObjectId(D, C.id);
1258
1275
  }
1259
1276
  }
1260
- class mD extends yD {
1277
+ class hD extends xD {
1261
1278
  constructor(D) {
1262
- super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbAlignedDimension());
1279
+ super(D), D || this.initTempObject(new s.mxcadassemblyimp.MdDbAlignedDimension());
1263
1280
  }
1264
1281
  get xLine1Point() {
1265
1282
  return new o(this.imp.xLine1Point());
@@ -1286,9 +1303,9 @@ class mD extends yD {
1286
1303
  this.imp.setOblique(D);
1287
1304
  }
1288
1305
  }
1289
- class pD extends yD {
1306
+ class yD extends xD {
1290
1307
  constructor(D) {
1291
- super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbRotatedDimension());
1308
+ super(D), D || this.initTempObject(new s.mxcadassemblyimp.MdDbRotatedDimension());
1292
1309
  }
1293
1310
  get xLine1Point() {
1294
1311
  return new o(this.imp.xLine1Point());
@@ -1321,9 +1338,9 @@ class pD extends yD {
1321
1338
  this.imp.setRotation(D);
1322
1339
  }
1323
1340
  }
1324
- class AD extends z {
1341
+ class iD extends z {
1325
1342
  constructor(D) {
1326
- super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbArc());
1343
+ super(D), D || this.initTempObject(new s.mxcadassemblyimp.MdDbArc());
1327
1344
  }
1328
1345
  setCenter(D, C, B) {
1329
1346
  this.imp.setCenter(new o(D, C, B).imp);
@@ -1352,20 +1369,20 @@ class AD extends z {
1352
1369
  set endAngle(D) {
1353
1370
  this.imp.setEndAngle(D);
1354
1371
  }
1355
- computeArc(D, C, B, F, A, e) {
1372
+ computeArc(D, C, B, F, A, t) {
1356
1373
  return this.imp.computeArc(
1357
1374
  D,
1358
1375
  C,
1359
1376
  B,
1360
1377
  F,
1361
1378
  A,
1362
- e
1379
+ t
1363
1380
  );
1364
1381
  }
1365
1382
  }
1366
- class tD extends z {
1367
- constructor(D, C, B, F, A, e, t, i, r) {
1368
- D instanceof Object ? super(D) : (super(), this.initTempObject(new n.mxcadassemblyimp.MdDbEllipse()), typeof D == "number" && (t || (t = 1), typeof i != "number" && (i = 0), typeof r != "number" && (r = 6.283185307179586), this.imp.InitData(new o(D, C, B).imp, new y(F, A, e).imp, t, i, r)));
1383
+ class sD extends z {
1384
+ constructor(D, C, B, F, A, t, e, i, r) {
1385
+ D instanceof Object ? super(D) : (super(), this.initTempObject(new s.mxcadassemblyimp.MdDbEllipse()), typeof D == "number" && (e || (e = 1), typeof i != "number" && (i = 0), typeof r != "number" && (r = 6.283185307179586), this.imp.InitData(new o(D, C, B).imp, new y(F, A, t).imp, e, i, r)));
1369
1386
  }
1370
1387
  setCenter(D, C, B) {
1371
1388
  this.imp.setCenter(new o(D, C, B).imp);
@@ -1413,9 +1430,9 @@ class tD extends z {
1413
1430
  this.imp.setEndAngle(D);
1414
1431
  }
1415
1432
  }
1416
- class wD extends V {
1433
+ class bD extends W {
1417
1434
  constructor(D, C, B) {
1418
- D instanceof Object ? D instanceof o ? (super(), this.initTempObject(new n.mxcadassemblyimp.MdDbPoint()), this.imp.setPosition(D.imp)) : super(D) : (super(), this.initTempObject(new n.mxcadassemblyimp.MdDbPoint()), typeof D == "number" && this.imp.setPosition(new o(D, C, B).imp));
1435
+ D instanceof Object ? D instanceof o ? (super(), this.initTempObject(new s.mxcadassemblyimp.MdDbPoint()), this.imp.setPosition(D.imp)) : super(D) : (super(), this.initTempObject(new s.mxcadassemblyimp.MdDbPoint()), typeof D == "number" && this.imp.setPosition(new o(D, C, B).imp));
1419
1436
  }
1420
1437
  setPosition(D, C, B) {
1421
1438
  this.imp.setPosition(new o(D, C, B).imp);
@@ -1427,13 +1444,13 @@ class wD extends V {
1427
1444
  this.imp.setPosition(D.imp);
1428
1445
  }
1429
1446
  }
1430
- function K(E = null) {
1447
+ function N(E = null) {
1431
1448
  let D;
1432
- return E == null ? D = new n.mxcadassemblyimp.McDrawResbuf() : D = E.getImp(), D;
1449
+ return E ? D = E.getImp() : D = new s.mxcadassemblyimp.McDrawResbuf(), D;
1433
1450
  }
1434
- class iD extends H {
1451
+ class Z extends _ {
1435
1452
  constructor(D) {
1436
- super(D), D || this.initTempObject(new n.mxcadassemblyimp.McDrawResbuf());
1453
+ super(D), D || this.initTempObject(new s.mxcadassemblyimp.McDrawResbuf());
1437
1454
  }
1438
1455
  Clear() {
1439
1456
  this.imp.Clear();
@@ -1442,16 +1459,16 @@ class iD extends H {
1442
1459
  return this.imp.GetCount();
1443
1460
  }
1444
1461
  AtDouble(D) {
1445
- return { val: this.imp.AtDouble(D), ret: n.getCallResult() };
1462
+ return { val: this.imp.AtDouble(D), ret: s.getCallResult() };
1446
1463
  }
1447
1464
  Atlong(D) {
1448
- return { val: this.imp.Atlong(D), ret: n.getCallResult() };
1465
+ return { val: this.imp.Atlong(D), ret: s.getCallResult() };
1449
1466
  }
1450
1467
  AtObject(D) {
1451
1468
  if (this.imp.AtObjectName(D) == "McDbMText") {
1452
1469
  let B = this.imp.AtObjectMdDbMText(D);
1453
1470
  if (B)
1454
- return { val: new ED(B), ret: n.getCallResult() };
1471
+ return { val: new tD(B), ret: s.getCallResult() };
1455
1472
  }
1456
1473
  return { val: void 0, ret: -1 };
1457
1474
  }
@@ -1459,13 +1476,13 @@ class iD extends H {
1459
1476
  this.imp.AddObject(D.getImp());
1460
1477
  }
1461
1478
  AtObjectId(D) {
1462
- return { val: new R(this.imp.AtObjectId(D), k.kMxCAD), ret: n.getCallResult() };
1479
+ return { val: new k(this.imp.AtObjectId(D), L.kMxCAD), ret: s.getCallResult() };
1463
1480
  }
1464
1481
  AtString(D, C = !0) {
1465
- return C ? { val: P.decodeFromGb2312(this.imp.AtString(D)), ret: n.getCallResult() } : { val: this.imp.AtString(D), ret: n.getCallResult() };
1482
+ return C ? { val: P.decodeFromGb2312(this.imp.AtString(D)), ret: s.getCallResult() } : { val: this.imp.AtString(D), ret: s.getCallResult() };
1466
1483
  }
1467
1484
  AtPoint(D) {
1468
- return { val: new o(this.imp.AtPoint(D)), ret: n.getCallResult() };
1485
+ return { val: new o(this.imp.AtPoint(D)), ret: s.getCallResult() };
1469
1486
  }
1470
1487
  ItemDataType() {
1471
1488
  return this.imp.ItemDataType();
@@ -1495,8 +1512,9 @@ class iD extends H {
1495
1512
  this.imp.Remove(D);
1496
1513
  }
1497
1514
  }
1498
- class KD {
1515
+ class ND {
1499
1516
  imp;
1517
+ MxCADAssist;
1500
1518
  constructor() {
1501
1519
  }
1502
1520
  eraseEntity(D) {
@@ -1507,60 +1525,60 @@ class KD {
1507
1525
  }
1508
1526
  findEntAtPoint(D, C, B, F = -1, A = null) {
1509
1527
  this.init();
1510
- let e = this.imp.findEntAtPoint(D, C, B, F, K(A));
1511
- return new R(e, k.kMxCAD);
1528
+ let t = this.imp.findEntAtPoint(D, C, B, F, N(A));
1529
+ return new k(t, L.kMxCAD);
1512
1530
  }
1513
1531
  selectEnt(D, C = null, B = !0) {
1514
1532
  return this.init(), new Promise(async (F) => {
1515
1533
  const A = new O();
1516
- D && A.setMessage(D), A.setCursorType(MD.kRect), A.setDisableOsnap(!0);
1517
- let e = await A.go();
1518
- if (!e) {
1534
+ D && A.setMessage(D), A.setCursorType(gD.kRect), A.setDisableOsnap(!0);
1535
+ let t = await A.go();
1536
+ if (!t) {
1519
1537
  F([]);
1520
1538
  return;
1521
1539
  }
1522
1540
  if (B)
1523
- oD.findEntAtPoint(e).then((t) => {
1541
+ lD.findEntAtPoint(t).then((e) => {
1524
1542
  let i = [];
1525
- t.forEach((s) => {
1526
- i.push(new R(s, k.kMxDraw));
1543
+ e.forEach((n) => {
1544
+ i.push(new k(n, L.kMxDraw));
1527
1545
  });
1528
- let r = this.findEntAtPoint(e.x, e.y, e.z, -1, C);
1546
+ let r = this.findEntAtPoint(t.x, t.y, t.z, -1, C);
1529
1547
  r.isValid() && i.push(r), F(i);
1530
1548
  });
1531
1549
  else {
1532
- let t = [], i = this.findEntAtPoint(e.x, e.y, e.z, -1, C);
1533
- i.isValid() && t.push(i), F(t);
1550
+ let e = [], i = this.findEntAtPoint(t.x, t.y, t.z, -1, C);
1551
+ i.isValid() && e.push(i), F(e);
1534
1552
  }
1535
1553
  });
1536
1554
  }
1537
1555
  getCurrentSelect(D = null) {
1538
1556
  let C = [];
1539
1557
  h.getCurrentDraw().getMxCurrentSelect().forEach((A) => {
1540
- C.push(new R(A, k.kMxDraw));
1558
+ C.push(new k(A, L.kMxDraw));
1541
1559
  });
1542
1560
  let F = h.getCurrentDraw().getMxCADCurrentSelect();
1543
1561
  if (F.length <= 0)
1544
1562
  return C;
1545
1563
  if (D) {
1546
- let A = new SD();
1564
+ let A = new wD();
1547
1565
  F.forEach((r) => {
1548
1566
  A.append(r);
1549
1567
  });
1550
- let e = new n.mxcadassemblyimp.McDrawSelSet(), t = e.getFilterEntity(A.imp, K(D));
1551
- n.App.DestroyObject(e), F = [];
1552
- let i = t.length();
1568
+ let t = new s.mxcadassemblyimp.McDrawSelSet(), e = t.getFilterEntity(A.imp, N(D));
1569
+ s.App.DestroyObject(t), F = [];
1570
+ let i = e.length();
1553
1571
  for (let r = 0; r < i; r++)
1554
- F.push(t.at(r));
1572
+ F.push(e.at(r));
1555
1573
  }
1556
1574
  return F.forEach((A) => {
1557
- C.push(new R(A, k.kMxCAD));
1575
+ C.push(new k(A, L.kMxCAD));
1558
1576
  }), C;
1559
1577
  }
1560
1578
  async userSelect(D, C = null) {
1561
1579
  let B = this.getCurrentSelect(C);
1562
1580
  if (B.length == 0) {
1563
- let F = new _();
1581
+ let F = new H();
1564
1582
  await F.userSelect(D, C) && F.forEach((A) => {
1565
1583
  B.push(A);
1566
1584
  });
@@ -1570,25 +1588,25 @@ class KD {
1570
1588
  });
1571
1589
  }
1572
1590
  init() {
1573
- this.imp || (this.imp = new n.mxcadassemblyimp.McDrawUtility());
1591
+ this.imp || (this.imp = new s.mxcadassemblyimp.McDrawUtility());
1574
1592
  }
1575
1593
  async getCorner(D, C, B, F = !1) {
1576
- let A = 0, e;
1594
+ let A = 0, t;
1577
1595
  for (; ; ) {
1578
1596
  if (!C) {
1579
- let i = new G();
1580
- D && i.setMessage(D), i.setDynamicInputType(dD.kDynTip), C = await i.go(), A = i.getDetailedResult();
1597
+ let i = new V();
1598
+ D && i.setMessage(D), i.setDynamicInputType(CD.kDynTip), C = await i.go(), A = i.getDetailedResult();
1581
1599
  }
1582
1600
  if (!C)
1583
1601
  break;
1584
- let t = await oD.getCorner(C.toVector3(), D, F, (i) => {
1602
+ let e = await lD.getCorner(C.toVector3(), D, F, (i) => {
1585
1603
  A = i.detailedResult;
1586
1604
  });
1587
- t && (e = new o(t));
1605
+ e && (t = new o(e));
1588
1606
  break;
1589
1607
  }
1590
- return B && B(A), new Promise((t) => {
1591
- A == Z.kEcsIn || A == Z.kNewCommadIn || A == Z.kUnknown ? t(null) : t(C && e ? { pt1: C, pt2: e } : null);
1608
+ return B && B(A), new Promise((e) => {
1609
+ A == $.kEcsIn || A == $.kNewCommadIn || A == $.kUnknown ? e(null) : e(C && t ? { pt1: C, pt2: t } : null);
1592
1610
  });
1593
1611
  }
1594
1612
  getMcDbEntitysBoundingBox(D) {
@@ -1597,32 +1615,39 @@ class KD {
1597
1615
  let A = F.getMcDbEntity();
1598
1616
  if (A == null)
1599
1617
  return;
1600
- let e = A.GetBoundingBox();
1601
- !e.ret || (!C || !B ? (C = new THREE.Vector3(e.minPt.x, e.minPt.y, 0), B = new THREE.Vector3(e.maxPt.x, e.maxPt.y, 0)) : (C.x > e.minPt.x && (C.x = e.minPt.x), C.y > e.minPt.y && (C.y = e.minPt.y), B.x < e.maxPt.x && (B.x = e.maxPt.x), B.y < e.maxPt.y && (B.y = e.maxPt.y)));
1618
+ let t = A.GetBoundingBox();
1619
+ !t.ret || (!C || !B ? (C = new THREE.Vector3(t.minPt.x, t.minPt.y, 0), B = new THREE.Vector3(t.maxPt.x, t.maxPt.y, 0)) : (C.x > t.minPt.x && (C.x = t.minPt.x), C.y > t.minPt.y && (C.y = t.minPt.y), B.x < t.maxPt.x && (B.x = t.maxPt.x), B.y < t.maxPt.y && (B.y = t.maxPt.y)));
1602
1620
  }), C && B)
1603
1621
  return { minPt: new o(C), maxPt: new o(B) };
1604
1622
  }
1605
1623
  }
1606
- let U = new KD();
1607
- var HD = /* @__PURE__ */ ((E) => (E[E.kSelected = 0] = "kSelected", E[E.kNone = 1] = "kNone", E[E.kCanceled = 2] = "kCanceled", E[E.kRejected = 3] = "kRejected", E[E.kKeyword = 4] = "kKeyword", E))(HD || {});
1608
- class _ extends H {
1624
+ let R = new ND();
1625
+ var _D = /* @__PURE__ */ ((E) => (E[E.kSelected = 0] = "kSelected", E[E.kNone = 1] = "kNone", E[E.kCanceled = 2] = "kCanceled", E[E.kRejected = 3] = "kRejected", E[E.kKeyword = 4] = "kKeyword", E))(_D || {});
1626
+ class H extends _ {
1627
+ isWhileSelect = !0;
1628
+ isSelectHighlight = !0;
1629
+ selectPt1 = new o();
1630
+ selectPt2 = new o();
1609
1631
  constructor() {
1610
- super(), this.initTempObject(new n.mxcadassemblyimp.McDrawSelSet());
1632
+ super(), this.initTempObject(new s.mxcadassemblyimp.McDrawSelSet());
1633
+ }
1634
+ getSelectPoint() {
1635
+ return { pt1: this.selectPt1, pt2: this.selectPt2 };
1611
1636
  }
1612
1637
  allSelect(D = null) {
1613
- return this.imp.allSelect(K(D));
1638
+ return this.imp.allSelect(N(D));
1614
1639
  }
1615
1640
  pointSelect(D, C, B = null, F = -1) {
1616
- return this.imp.pointSelect(D, C, K(B), F);
1641
+ return this.imp.pointSelect(D, C, N(B), F);
1617
1642
  }
1618
1643
  crossingSelect(D, C, B, F, A = null) {
1619
- return this.imp.crossingSelect(D, C, B, F, K(A));
1644
+ return this.imp.crossingSelect(D, C, B, F, N(A));
1620
1645
  }
1621
1646
  count() {
1622
1647
  return this.imp.count();
1623
1648
  }
1624
1649
  item(D) {
1625
- return new R(this.imp.item(D), k.kMxCAD);
1650
+ return new k(this.imp.item(D), L.kMxCAD);
1626
1651
  }
1627
1652
  forEach(D) {
1628
1653
  let C = this.imp.count();
@@ -1636,30 +1661,33 @@ class _ extends H {
1636
1661
  return D;
1637
1662
  }
1638
1663
  async userSelect(D, C = null) {
1664
+ this.selectPt1 = new o(), this.selectPt2 = new o();
1639
1665
  let B = new O();
1640
- D && B.setMessage(D), B.setCursorType(MD.kRect), B.setDynamicInputType(dD.kDynTip), B.setDisableOsnap(!0);
1641
- let F = 0, A = K(C);
1666
+ D && B.setMessage(D), B.setCursorType(gD.kRect), B.setDynamicInputType(CD.kDynTip), B.setDisableOsnap(!0);
1667
+ let F = 0, A = N(C);
1642
1668
  for (; ; ) {
1643
- let e = await B.go();
1644
- if (F = B.getDetailedResult(), !e)
1669
+ let t = await B.go();
1670
+ if (F = B.getDetailedResult(), !t)
1645
1671
  break;
1646
- if (this.imp.userPointSelect(e.x, e.y, A) == 0)
1647
- continue;
1648
- let t = await oD.getCorner(e, D, !0, (i) => {
1672
+ if (this.imp.userPointSelect(t.x, t.y, A, this.isSelectHighlight) == 0) {
1673
+ if (this.selectPt1.setFromVector3(t), this.selectPt2.setFromVector3(t), this.isWhileSelect)
1674
+ continue;
1675
+ break;
1676
+ }
1677
+ let e = await lD.getCorner(t, D, !0, (i) => {
1649
1678
  F = i.detailedResult;
1650
1679
  });
1651
- if (!t)
1680
+ if (!e || (this.imp.userSelect(t.x, t.y, e.x, e.y, A, this.isSelectHighlight), this.selectPt1.setFromVector3(t), this.selectPt2.setFromVector3(e), !this.isWhileSelect))
1652
1681
  break;
1653
- this.imp.userSelect(e.x, e.y, t.x, t.y, A);
1654
1682
  }
1655
- return this.imp.highlightEntity(!1), F == Z.kEcsIn || F == Z.kNewCommadIn || F == Z.kUnknown ? new Promise((e) => {
1656
- e(!1);
1657
- }) : new Promise((e) => {
1658
- e(!0);
1683
+ return this.isSelectHighlight && this.imp.highlightEntity(!1), F == $.kEcsIn || F == $.kNewCommadIn || F == $.kUnknown ? new Promise((t) => {
1684
+ t(!1);
1685
+ }) : new Promise((t) => {
1686
+ t(!0);
1659
1687
  });
1660
1688
  }
1661
1689
  }
1662
- class q {
1690
+ class K {
1663
1691
  imp;
1664
1692
  constructor(D) {
1665
1693
  this.imp = D;
@@ -1733,7 +1761,7 @@ class q {
1733
1761
  this.imp.setUserInputControls(D);
1734
1762
  }
1735
1763
  }
1736
- class G extends q {
1764
+ class V extends K {
1737
1765
  constructor() {
1738
1766
  super(new O());
1739
1767
  }
@@ -1748,7 +1776,7 @@ class G extends q {
1748
1776
  return new o(this.imp.value());
1749
1777
  }
1750
1778
  getCADValue() {
1751
- return this.imp.getCADValue();
1779
+ return new o(this.imp.getCADValue());
1752
1780
  }
1753
1781
  basePt() {
1754
1782
  return new o(this.imp.basePt());
@@ -1760,9 +1788,9 @@ class G extends q {
1760
1788
  this.imp.setUseBasePt(D);
1761
1789
  }
1762
1790
  }
1763
- class ND extends q {
1791
+ class nD extends K {
1764
1792
  constructor() {
1765
- super(new AC());
1793
+ super(new tC());
1766
1794
  }
1767
1795
  value() {
1768
1796
  return this.imp.value();
@@ -1780,7 +1808,7 @@ class ND extends q {
1780
1808
  return this.imp.go();
1781
1809
  }
1782
1810
  }
1783
- class yC extends q {
1811
+ class gC extends K {
1784
1812
  constructor() {
1785
1813
  super(new eC());
1786
1814
  }
@@ -1800,9 +1828,9 @@ class yC extends q {
1800
1828
  return this.imp.go();
1801
1829
  }
1802
1830
  }
1803
- class wC extends q {
1831
+ class wC extends K {
1804
1832
  constructor() {
1805
- super(new tC());
1833
+ super(new iC());
1806
1834
  }
1807
1835
  value() {
1808
1836
  return this.imp.value();
@@ -1811,17 +1839,17 @@ class wC extends q {
1811
1839
  return this.imp.go();
1812
1840
  }
1813
1841
  }
1814
- class gC extends q {
1842
+ class fC extends K {
1815
1843
  constructor() {
1816
- super(new iC());
1844
+ super(new rC());
1817
1845
  }
1818
1846
  go() {
1819
1847
  return this.imp.go();
1820
1848
  }
1821
1849
  }
1822
- class fC extends q {
1850
+ class xC extends K {
1823
1851
  constructor() {
1824
- super(new rC());
1852
+ super(new sC()), this.setDynamicInputType(CD.kNoInput), this.setDisableOsnap(!0);
1825
1853
  }
1826
1854
  value() {
1827
1855
  return this.imp.value();
@@ -1830,7 +1858,42 @@ class fC extends q {
1830
1858
  return this.imp.go();
1831
1859
  }
1832
1860
  }
1833
- class $ {
1861
+ class DD extends K {
1862
+ filter;
1863
+ id = new k();
1864
+ constructor() {
1865
+ super(new O()), this.setCursorType(gD.kRect), this.setDynamicInputType(CD.kDynTip), this.setDisableOsnap(!0);
1866
+ }
1867
+ setFilter(D) {
1868
+ this.filter = D;
1869
+ }
1870
+ getFilter() {
1871
+ return this.filter;
1872
+ }
1873
+ go() {
1874
+ return new Promise((D) => {
1875
+ let C = this;
1876
+ this.imp.go((B) => {
1877
+ if (B != 0)
1878
+ D(new k());
1879
+ else {
1880
+ let F = this.imp.value();
1881
+ C.id = R.findEntAtPoint(F.x, F.y, F.z, -1, C.filter), D(C.id);
1882
+ }
1883
+ });
1884
+ });
1885
+ }
1886
+ pickPoint() {
1887
+ return new o(this.imp.value());
1888
+ }
1889
+ value() {
1890
+ return this.id;
1891
+ }
1892
+ getCADPickPoint() {
1893
+ return new o(this.imp.getCADValue());
1894
+ }
1895
+ }
1896
+ class J {
1834
1897
  imp;
1835
1898
  static currentFileName;
1836
1899
  constructor(D) {
@@ -1846,19 +1909,19 @@ class $ {
1846
1909
  return this.imp;
1847
1910
  }
1848
1911
  openWebFile(D, C, B = !0, F) {
1849
- let A = this.imp.mxdrawObject, e = Math.round(Math.random() * 1e7);
1912
+ let A = this.imp.mxdrawObject, t = Math.round(Math.random() * 1e7);
1850
1913
  if (C) {
1851
- let i = (r, s) => {
1852
- A.removeEventFuction("openFileComplete", i), e == s && C(r);
1914
+ let i = (r, n) => {
1915
+ A.removeEventFuction("openFileComplete", i), t == n && C(r);
1853
1916
  };
1854
1917
  A.addEvent("openFileComplete", i);
1855
1918
  }
1856
- $.currentFileName = D.split("/").pop();
1857
- let t = "";
1858
- return F && (t = JSON.stringify(F)), this.imp.openWebFile(D, B, e, t);
1919
+ J.currentFileName = D.split("/").pop();
1920
+ let e = "";
1921
+ return F && (e = JSON.stringify(F)), this.imp.openWebFile(D, B, t, e);
1859
1922
  }
1860
1923
  getCurrentFileName() {
1861
- return $.currentFileName;
1924
+ return J.currentFileName;
1862
1925
  }
1863
1926
  saveFileToUrl(D, C) {
1864
1927
  const B = window;
@@ -1868,8 +1931,8 @@ class $ {
1868
1931
  }
1869
1932
  saveFile(D, C, B = !0, F = !0, A) {
1870
1933
  D || (D = this.getCurrentFileName()), D.indexOf(".") == -1 && (D += ".mxweb");
1871
- const e = window;
1872
- e.mx_saveFile_call = (i) => {
1934
+ const t = window;
1935
+ t.mx_saveFile_call = (i) => {
1873
1936
  if (C && C(i), !!i) {
1874
1937
  if (B) {
1875
1938
  let r;
@@ -1884,14 +1947,14 @@ class $ {
1884
1947
  }]
1885
1948
  }) : Q.downloadFile(r, D);
1886
1949
  }
1887
- e.mx_saveFile_call = null;
1950
+ t.mx_saveFile_call = null;
1888
1951
  }
1889
1952
  };
1890
- let t = "";
1891
- return A && (t = JSON.stringify(A)), this.imp.saveFile(D, t);
1953
+ let e = "";
1954
+ return A && (e = JSON.stringify(A)), this.imp.saveFile(D, e);
1892
1955
  }
1893
1956
  GetDatabase() {
1894
- return this.imp.McDbDatabase || (this.imp.McDbDatabase = new hD(this.imp.GetDatabase())), this.imp.McDbDatabase;
1957
+ return this.imp.McDbDatabase || (this.imp.McDbDatabase = new fD(this.imp.GetDatabase())), this.imp.McDbDatabase;
1895
1958
  }
1896
1959
  GetSysVarString(D) {
1897
1960
  return this.imp.GetSysVarString(D);
@@ -1912,7 +1975,7 @@ class $ {
1912
1975
  return this.imp.SetSysVarLong(D, C);
1913
1976
  }
1914
1977
  get DrawColor() {
1915
- return new N(this.imp.GetDrawColor());
1978
+ return new q(this.imp.GetDrawColor());
1916
1979
  }
1917
1980
  set DrawColor(D) {
1918
1981
  this.imp.SetDrawColor(D.getImp());
@@ -1959,8 +2022,8 @@ class $ {
1959
2022
  AddLinetypeEx(D, C, B) {
1960
2023
  this.imp.AddLinetypeEx(D, C, B);
1961
2024
  }
1962
- DrawLine(D, C, B, F, A, e) {
1963
- return this.imp.DrawLine(D, C, B, F, A, e);
2025
+ DrawLine(D, C, B, F, A, t) {
2026
+ return this.imp.DrawLine(D, C, B, F, A, t);
1964
2027
  }
1965
2028
  AddDimStyle(D, C, B, F, A) {
1966
2029
  return this.imp.AddDimStyle(D, C, B, F, A);
@@ -1986,8 +2049,8 @@ class $ {
1986
2049
  DrawArc(D, C, B, F, A) {
1987
2050
  return this.imp.DrawArc(D, C, B, F, A);
1988
2051
  }
1989
- DrawArc2(D, C, B, F, A, e) {
1990
- return this.imp.DrawArc2(D, C, B, F, A, e);
2052
+ DrawArc2(D, C, B, F, A, t) {
2053
+ return this.imp.DrawArc2(D, C, B, F, A, t);
1991
2054
  }
1992
2055
  DrawCircle(D, C, B) {
1993
2056
  return this.imp.DrawCircle(D, C, B);
@@ -1995,35 +2058,35 @@ class $ {
1995
2058
  DrawEllipse(D, C, B, F, A) {
1996
2059
  return this.imp.DrawEllipse(D, C, B, F, A);
1997
2060
  }
1998
- DrawEllipseArc(D, C, B, F, A, e, t) {
1999
- return this.imp.DrawEllipseArc(D, C, B, F, A, e, t);
2061
+ DrawEllipseArc(D, C, B, F, A, t, e) {
2062
+ return this.imp.DrawEllipseArc(D, C, B, F, A, t, e);
2000
2063
  }
2001
2064
  DrawPoint(D, C) {
2002
2065
  return this.imp.DrawPoint(D, C);
2003
2066
  }
2004
- DrawSolid(D, C, B, F, A, e, t, i) {
2005
- return this.imp.DrawSolid(D, C, B, F, A, e, t, i);
2067
+ DrawSolid(D, C, B, F, A, t, e, i) {
2068
+ return this.imp.DrawSolid(D, C, B, F, A, t, e, i);
2006
2069
  }
2007
- DrawMText(D, C, B, F, A, e, t) {
2008
- return this.imp.DrawMText(D, C, B, F, A, e, t);
2070
+ DrawMText(D, C, B, F, A, t, e) {
2071
+ return this.imp.DrawMText(D, C, B, F, A, t, e);
2009
2072
  }
2010
- DrawText(D, C, B, F, A, e, t) {
2011
- return this.imp.DrawTextDrawText(D, C, B, F, A, e, t);
2073
+ DrawText(D, C, B, F, A, t, e) {
2074
+ return this.imp.DrawTextDrawText(D, C, B, F, A, t, e);
2012
2075
  }
2013
2076
  DrawBlockReference(D, C, B, F, A) {
2014
2077
  return this.imp.DrawBlockReference(D, C, B, F, A);
2015
2078
  }
2016
- DrawDimAligned(D, C, B, F, A, e) {
2017
- return this.imp.DrawDimAligned(D, C, B, F, A, e);
2079
+ DrawDimAligned(D, C, B, F, A, t) {
2080
+ return this.imp.DrawDimAligned(D, C, B, F, A, t);
2018
2081
  }
2019
- DrawDimAngular(D, C, B, F, A, e, t, i) {
2020
- return this.imp.DrawDimAngular(D, C, B, F, A, e, t, i);
2082
+ DrawDimAngular(D, C, B, F, A, t, e, i) {
2083
+ return this.imp.DrawDimAngular(D, C, B, F, A, t, e, i);
2021
2084
  }
2022
2085
  DrawDimDiametric(D, C, B, F, A) {
2023
2086
  return this.imp.DrawDimDiametric(D, C, B, F, A);
2024
2087
  }
2025
- DrawDimRotated(D, C, B, F, A, e, t) {
2026
- return this.imp.DrawDimRotated(D, C, B, F, A, e, t);
2088
+ DrawDimRotated(D, C, B, F, A, t, e) {
2089
+ return this.imp.DrawDimRotated(D, C, B, F, A, t, e);
2027
2090
  }
2028
2091
  DrawDimOrdinate(D, C, B, F, A) {
2029
2092
  return this.imp.DrawDimOrdinate(D, C, B, F, A);
@@ -2059,28 +2122,31 @@ class $ {
2059
2122
  return this.imp.DrawEntity(D.getImp());
2060
2123
  }
2061
2124
  ObjectIdToObject(D) {
2062
- return n.App.ObjectIdToObject(D);
2125
+ return s.App.ObjectIdToObject(D);
2063
2126
  }
2064
2127
  DestroyObject(D) {
2065
- !D || n.App.getImp().DestroyObject(D);
2128
+ !D || s.App.getImp().DestroyObject(D);
2066
2129
  }
2067
2130
  GetAllLayoutName() {
2068
- return new ID(this.imp.GetAllLayoutName());
2131
+ return new GD(this.imp.GetAllLayoutName());
2069
2132
  }
2070
2133
  SetCurrentLayout(D) {
2071
2134
  this.imp.SetCurrentLayout(P.encodeToGb2312(D));
2072
2135
  }
2073
2136
  GetMxCpp() {
2074
- return n;
2137
+ return s;
2075
2138
  }
2076
- docCoord2Cad(D) {
2139
+ DocCoord2Cad(D) {
2077
2140
  return new o(this.imp.mxdrawObject.docCoord2Cad(D.x, D.y, D.z));
2078
2141
  }
2142
+ CadCoord2Doc(D) {
2143
+ return new o(this.imp.mxdrawObject.cadCoord2Doc(D.x, D.y, D.z));
2144
+ }
2079
2145
  }
2080
- class _D {
2146
+ class qD {
2081
2147
  imp;
2082
2148
  init(D) {
2083
- this.imp = D, y.kZAxis = new y(0, 0, 1), y.kNegateZAxis = new y(0, 0, -1), y.kXAxis = new y(1, 0, 0), y.kYAxis = new y(0, 1, 0), o.kOrigin = new o(0, 0, 0), v.kIdentity = new v();
2149
+ this.imp = D, y.kZAxis = new y(0, 0, 1), y.kNegateZAxis = new y(0, 0, -1), y.kXAxis = new y(1, 0, 0), y.kYAxis = new y(0, 1, 0), o.kOrigin = new o(0, 0, 0), v.kIdentity = new v(), R.MxCADAssist = new s.mxcadassemblyimp.MxDrawAssist();
2084
2150
  }
2085
2151
  getImp() {
2086
2152
  return this.imp;
@@ -2089,15 +2155,15 @@ class _D {
2089
2155
  return this.imp.getLastCallResult();
2090
2156
  }
2091
2157
  CreateMxCAD(D, C, B, F, A) {
2092
- let e = this.imp.CreateMxDraw(D, C, B, F, A);
2093
- return new $(e);
2158
+ let t = this.imp.CreateMxDraw(D, C, B, F, A);
2159
+ return new J(t);
2094
2160
  }
2095
2161
  DestroyObject(D) {
2096
2162
  this.imp.DestroyObject(D);
2097
2163
  }
2098
2164
  GetCurrentMxCAD() {
2099
2165
  let D = this.imp.GetCurrentMxDraw();
2100
- return D.McObject || (D.McObject = new $(this.imp.GetCurrentMxDraw())), D.McObject;
2166
+ return D.McObject || (D.McObject = new J(this.imp.GetCurrentMxDraw())), D.McObject;
2101
2167
  }
2102
2168
  mcedRGB2Index(D, C, B, F = !0) {
2103
2169
  return this.imp.mcedRGB2Index(D, C, B, F);
@@ -2111,53 +2177,53 @@ class _D {
2111
2177
  let C = this.imp.ObjectIdToObjectName(D);
2112
2178
  if (C == "McDbLine") {
2113
2179
  let B = this.imp.ObjectIdToMdDbLine(D);
2114
- return new BD(B);
2180
+ return new AD(B);
2115
2181
  } else if (C == "McDbText") {
2116
2182
  let B = this.imp.ObjectIdToMdDbText(D);
2117
- return new lD(B);
2183
+ return new pD(B);
2118
2184
  } else if (C == "McDbPolyline") {
2119
2185
  let B = this.imp.ObjectIdToMdDbPolyline(D);
2120
- return new FD(B);
2186
+ return new eD(B);
2121
2187
  } else if (C == "McDbCircle") {
2122
2188
  let B = this.imp.ObjectIdToMdDbCircle(D);
2123
- return new W(B);
2189
+ return new U(B);
2124
2190
  } else if (C == "McDbArc") {
2125
2191
  let B = this.imp.ObjectIdToMdDbArc(D);
2126
- return new AD(B);
2192
+ return new iD(B);
2127
2193
  } else if (C == "McDbBlockReference") {
2128
2194
  let B = this.imp.ObjectIdToMdDbBlockReference(D);
2129
- return new cD(B);
2195
+ return new dD(B);
2130
2196
  } else if (C == "McDbAlignedDimension") {
2131
2197
  let B = this.imp.ObjectIdToMdDbAlignedDimension(D);
2132
- return new mD(B);
2198
+ return new hD(B);
2133
2199
  } else if (C == "McDbRotatedDimension") {
2134
2200
  let B = this.imp.ObjectIdToMdDbRotatedDimension(D);
2135
- return new pD(B);
2201
+ return new yD(B);
2136
2202
  } else if (C == "McDbMText") {
2137
2203
  let B = this.imp.ObjectIdToMdDbMText(D);
2138
- return new ED(B);
2204
+ return new tD(B);
2139
2205
  } else if (C == "McDbEllipse") {
2140
2206
  let B = this.imp.ObjectIdToMdDbEllipse(D);
2141
- return new tD(B);
2207
+ return new sD(B);
2142
2208
  } else if (C == "McDbPoint") {
2143
2209
  let B = this.imp.ObjectIdToMdDbPoint(D);
2144
- return new wD(B);
2210
+ return new bD(B);
2145
2211
  } else if (this.imp.ObjectIdIsKindOf(D, "McDbCurve")) {
2146
2212
  let B = this.imp.ObjectIdToMdDbCurve(D);
2147
2213
  return new z(B);
2148
2214
  } else if (this.imp.ObjectIdIsKindOf(D, "McDbEntity")) {
2149
2215
  let B = this.imp.ObjectIdToMdDbEntity(D);
2150
- return new V(B);
2216
+ return new W(B);
2151
2217
  } else {
2152
2218
  let B = this.imp.ObjectIdToMdObject(D);
2153
- return new j(B);
2219
+ return new G(B);
2154
2220
  }
2155
2221
  }
2156
2222
  CreateCloneObject(D) {
2157
2223
  if (!D)
2158
2224
  return null;
2159
2225
  let C = D.getObjectName(), B = null;
2160
- return C == "McDbLine" ? B = new BD() : C == "McDbText" ? B = new lD() : C == "McDbPolyline" ? B = new FD() : C == "McDbCircle" ? B = new W() : C == "McDbArc" ? B = new AD() : C == "McDbBlockReference" ? B = new cD() : C == "McDbAlignedDimension" ? B = new mD() : C == "McDbRotatedDimension" ? B = new pD() : C == "McDbMText" ? B = new ED() : D.isKindOf("McDbCurve") ? (B = new z(), B.initTempObject(new n.mxcadassemblyimp.MdDbCurve())) : D.isKindOf("McDbEntity") && (B = new V(), B.initTempObject(new n.mxcadassemblyimp.MdDbEntity())), B ? (B.getImp().ConnectionTempObject(D), n.App.DestroyObject(D), B) : new j(D);
2226
+ return C == "McDbLine" ? B = new AD() : C == "McDbText" ? B = new pD() : C == "McDbPolyline" ? B = new eD() : C == "McDbCircle" ? B = new U() : C == "McDbArc" ? B = new iD() : C == "McDbBlockReference" ? B = new dD() : C == "McDbAlignedDimension" ? B = new hD() : C == "McDbRotatedDimension" ? B = new yD() : C == "McDbMText" ? B = new tD() : D.isKindOf("McDbCurve") ? (B = new z(), B.initTempObject(new s.mxcadassemblyimp.MdDbCurve())) : D.isKindOf("McDbEntity") && (B = new W(), B.initTempObject(new s.mxcadassemblyimp.MdDbEntity())), B ? (B.getImp().ConnectionTempObject(D), s.App.DestroyObject(D), B) : new G(D);
2161
2227
  }
2162
2228
  setFontFilePath(D) {
2163
2229
  this.imp.setFontFilePath(D);
@@ -2168,19 +2234,15 @@ class _D {
2168
2234
  });
2169
2235
  }
2170
2236
  }
2171
- class qD {
2237
+ class ZD {
2172
2238
  mxcadassemblyimp;
2173
- App = new _D();
2239
+ App = new qD();
2174
2240
  getCallResult() {
2175
2241
  return this.App.getLastCallResult();
2176
2242
  }
2177
- NewMcGePoint3d(D, C) {
2178
- if (C && D && D.x && D.y) {
2179
- let F = D.z || 0;
2180
- D = h.getCurrentDraw().docCoord2Cad(D.x, D.y, F);
2181
- }
2182
- let B = new o();
2183
- return D && D.x && D.y && (B.x = D.x, B.y = D.y, D.z && (B.y = D.z)), B;
2243
+ NewMcGePoint3d(D) {
2244
+ let C = new o();
2245
+ return D && D.x && D.y && (C.x = D.x, C.y = D.y, D.z && (C.y = D.z)), C;
2184
2246
  }
2185
2247
  GetCurrentMxCAD() {
2186
2248
  return this.App.GetCurrentMxCAD();
@@ -2189,43 +2251,43 @@ class qD {
2189
2251
  return this.App.GetCurrentMxCAD().GetDatabase();
2190
2252
  }
2191
2253
  }
2192
- const gD = "1.0.82", xC = "SharedArrayBuffer" in window, rD = document.currentScript && /unpkg\.com\/mxcad/.test(document.currentScript.src), bC = (E, D = self.location.href) => rD ? `https://unpkg.com/mxcad@${gD}/dist/wasm/2d-st/${E}` : D + E, MC = (E, D = self.location.href) => rD ? `https://unpkg.com/mxcad@${gD}/dist/wasm/2d/${E}` : D + E, PC = (E, D = self.location.href) => rD ? `https://unpkg.com/mxcad@${gD}/dist/wasm/3d/${E}` : D + E, ZD = (E) => new Promise((D, C) => {
2254
+ const MD = "1.0.84", bC = "SharedArrayBuffer" in window, oD = document.currentScript && /unpkg\.com\/mxcad/.test(document.currentScript.src), MC = (E, D = self.location.href) => oD ? `https://unpkg.com/mxcad@${MD}/dist/wasm/2d-st/${E}` : D + E, PC = (E, D = self.location.href) => oD ? `https://unpkg.com/mxcad@${MD}/dist/wasm/2d/${E}` : D + E, TC = (E, D = self.location.href) => oD ? `https://unpkg.com/mxcad@${MD}/dist/wasm/3d/${E}` : D + E, $D = (E) => new Promise((D, C) => {
2193
2255
  const B = document.createElement("script");
2194
2256
  B.src = E, B.type = "text/javascript", B.crossOrigin = "anonymous", document.body.appendChild(B), B.onload = () => {
2195
2257
  D();
2196
2258
  }, B.onerror = (F) => {
2197
2259
  C(F);
2198
2260
  };
2199
- }), TC = async (E, D, C) => {
2261
+ }), kC = async (E, D, C) => {
2200
2262
  const { locateFile: B } = C, F = B(E + ".js");
2201
- return await ZD(F), await globalThis[D](C);
2263
+ return await $D(F), await globalThis[D](C);
2202
2264
  };
2203
- let n;
2204
- async function $D(E, D = xC || !rD ? bC : MC, C, B, F) {
2205
- return new Promise(async (A, e) => {
2265
+ let s;
2266
+ async function JD(E, D = bC || !oD ? MC : PC, C, B, F) {
2267
+ return new Promise(async (A, t) => {
2206
2268
  try {
2207
- if (n || (n = new qD()), n.mxcadassemblyimp)
2208
- return E && E(n), A(n);
2209
- const i = await TC("mxdrawassembly_min", "mxdrawassembly", {
2269
+ if (s || (s = new ZD()), s.mxcadassemblyimp)
2270
+ return E && E(s), A(s);
2271
+ const i = await kC("mxdrawassembly_min", "mxdrawassembly", {
2210
2272
  locateFile: D,
2211
2273
  wasmBinary: C
2212
2274
  });
2213
- n.mxcadassemblyimp = i;
2275
+ s.mxcadassemblyimp = i;
2214
2276
  let r = new i.McApp();
2215
- B && r.setFontFilePath(B), r.Init(), n.App.init(r), F && n.App.addNetworkLoadingFont(F), E && E(n), A(n);
2216
- } catch (t) {
2217
- e(t);
2277
+ B && r.setFontFilePath(B), r.Init(), s.App.init(r), F && s.App.addNetworkLoadingFont(F), E && E(s), A(s);
2278
+ } catch (e) {
2279
+ t(e);
2218
2280
  }
2219
2281
  });
2220
2282
  }
2221
- const kC = (E) => {
2283
+ const LC = (E) => {
2222
2284
  let D = null;
2223
2285
  if (typeof E == "string" ? D = document.querySelector(E) : E instanceof HTMLCanvasElement && (D = E), !!D)
2224
2286
  return D.id || (D.id = Math.random().toString(16).slice(2)), D.id;
2225
2287
  }, RC = (E, D) => new Promise((C, B) => {
2226
2288
  try {
2227
2289
  h.createMxObject({
2228
- canvasId: kC(E),
2290
+ canvasId: LC(E),
2229
2291
  isCPPMxCAD: !0,
2230
2292
  userIdentitySign: D,
2231
2293
  callback(F) {
@@ -2238,26 +2300,26 @@ const kC = (E) => {
2238
2300
  B(F);
2239
2301
  }
2240
2302
  }), OC = async (E) => {
2241
- PD.state.MxFun || await nC();
2242
- const { multipleSelect: D, openParameter: C, networkFonts: B, fontspath: F, locateFile: A, wasmBinary: e, canvas: t, userIdentitySign: i, onOpenFileComplete: r, fileUrl: s, onInit: u = () => {
2303
+ LD.state.MxFun || await nC();
2304
+ const { multipleSelect: D, openParameter: C, networkFonts: B, fontspath: F, locateFile: A, wasmBinary: t, canvas: e, userIdentitySign: i, onOpenFileComplete: r, fileUrl: n, onInit: u = () => {
2243
2305
  h.setIniset({
2244
2306
  EnableIntelliSelect: !0,
2245
2307
  IntelliSelectType: 1,
2246
2308
  multipleSelect: !!D
2247
2309
  });
2248
2310
  } } = E || {};
2249
- await $D(() => {
2250
- }, A, e, F, B), u();
2251
- let l = await RC(t, i);
2311
+ await JD(() => {
2312
+ }, A, t, F, B), h.initMxCpp(s), u();
2313
+ let l = await RC(e, i);
2252
2314
  const c = h.getMxFunTHREE();
2253
2315
  let a = new c.Vector2();
2254
2316
  l.getRenderer().getSize(a);
2255
- const m = n.App.CreateMxCAD(a.width, a.height, l.getCanvas().id, l.isWebgl2(), l.getId());
2317
+ const m = s.App.CreateMxCAD(a.width, a.height, l.getCanvas().id, l.isWebgl2(), l.getId());
2256
2318
  return l.initMxCpp(m), l.addEvent("openFileComplete", () => {
2257
2319
  r && r();
2258
- }), s && m.openWebFile(s, void 0, !0, C), m;
2320
+ }), n && m.openWebFile(n, void 0, !0, C), m;
2259
2321
  };
2260
- async function LC() {
2322
+ async function SC() {
2261
2323
  const E = new O();
2262
2324
  E.setMessage(`
2263
2325
  \u6307\u5B9A\u63D2\u5165\u4F4D\u7F6E:`);
@@ -2277,43 +2339,43 @@ async function LC() {
2277
2339
  };
2278
2340
  h.call("Mx_Text", F);
2279
2341
  }
2280
- class vC extends TD {
2342
+ class vC extends RD {
2281
2343
  getGripPoints() {
2282
2344
  const { x: D, y: C, z: B } = this.center;
2283
- let F = new THREE.Vector3(D, C + this.radius, B), A = new THREE.Vector3(D, C - this.radius, B), e = new THREE.Vector3(D - this.radius, C, B), t = new THREE.Vector3(D + this.radius, C, B);
2284
- return [this.center, F, A, e, t];
2345
+ let F = new THREE.Vector3(D, C + this.radius, B), A = new THREE.Vector3(D, C - this.radius, B), t = new THREE.Vector3(D - this.radius, C, B), e = new THREE.Vector3(D + this.radius, C, B);
2346
+ return [this.center, F, A, t, e];
2285
2347
  }
2286
2348
  moveGripPointsAt(D, C) {
2287
- const [B, F, A, e, t] = this.getGripPoints();
2288
- return D === 0 && (this.center = B.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 = t.add(C).distanceTo(this.center)), !0;
2349
+ const [B, F, A, t, e] = this.getGripPoints();
2350
+ return D === 0 && (this.center = B.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 = t.add(C).distanceTo(this.center)), D === 4 && (this.radius = e.add(C).distanceTo(this.center)), !0;
2289
2351
  }
2290
2352
  }
2291
- const xD = (E) => {
2292
- const [D, C, B] = E, { x: F, y: A, z: e } = D, { x: t, y: i, z: r } = C, { x: s, y: u, z: l } = B, c = A * r - i * e - A * l + u * e + i * l - u * r, a = -(F * r - t * e - F * l + s * e + t * l - s * r), m = F * i - t * A - F * u + s * A + t * u - s * i, w = -(F * i * l - F * u * r - t * A * l + t * u * e + s * A * r - s * i * e), f = 2 * (t - F), p = 2 * (i - A), d = 2 * (r - e), b = F * F + A * A + e * e - t * t - i * i - r * r, x = 2 * (s - F), g = 2 * (u - A), M = 2 * (l - e), S = F * F + A * A + e * e - s * s - u * u - l * l, Y = -(a * d * S - a * M * b - p * m * S + p * M * w + g * m * b - g * d * w) / (c * p * M - c * g * d - f * a * M + f * g * m + x * a * d - x * p * m), EC = (c * d * S - c * M * b - f * m * S + f * M * w + x * m * b - x * d * w) / (c * p * M - c * g * d - f * a * M + f * g * m + x * a * d - x * p * m), FC = -(c * p * S - c * g * b - f * a * S + f * g * w + x * a * b - x * p * w) / (c * p * M - c * g * d - f * a * M + f * g * m + x * a * d - x * p * m);
2293
- return new THREE.Vector3(Y, EC, FC);
2353
+ const TD = (E) => {
2354
+ const [D, C, B] = E, { x: F, y: A, z: t } = D, { x: e, y: i, z: r } = C, { x: n, y: u, z: l } = B, c = A * r - i * t - A * l + u * t + i * l - u * r, a = -(F * r - e * t - F * l + n * t + e * l - n * r), m = F * i - e * A - F * u + n * A + e * u - n * i, g = -(F * i * l - F * u * r - e * A * l + e * u * t + n * A * r - n * i * t), f = 2 * (e - F), p = 2 * (i - A), d = 2 * (r - t), b = F * F + A * A + t * t - e * e - i * i - r * r, x = 2 * (n - F), w = 2 * (u - A), M = 2 * (l - t), I = F * F + A * A + t * t - n * n - u * u - l * l, X = -(a * d * I - a * M * b - p * m * I + p * M * g + w * m * b - w * d * g) / (c * p * M - c * w * d - f * a * M + f * w * m + x * a * d - x * p * m), FC = (c * d * I - c * M * b - f * m * I + f * M * g + x * m * b - x * d * g) / (c * p * M - c * w * d - f * a * M + f * w * m + x * a * d - x * p * m), AC = -(c * p * I - c * w * b - f * a * I + f * w * g + x * a * b - x * p * g) / (c * p * M - c * w * d - f * a * M + f * w * m + x * a * d - x * p * m);
2355
+ return new THREE.Vector3(X, FC, AC);
2294
2356
  };
2295
- function JD() {
2357
+ function YD() {
2296
2358
  const E = new O();
2297
- let D = new vC(), C = n.GetCurrentDatabase().GetCurrentlyDrawColor();
2298
- I.use(D), D.closed = !1, D.setColor(C);
2359
+ let D = new vC(), C = s.GetCurrentDatabase().GetCurrentlyDrawColor();
2360
+ j.use(D), D.closed = !1, D.setColor(C);
2299
2361
  let B = 0, F = "default", A = !0;
2300
- const e = () => {
2362
+ const t = () => {
2301
2363
  E.setUserDraw(
2302
2364
  (a, m) => {
2303
2365
  D.radius = A ? D.center.distanceTo(a) : D.center.distanceTo(a) / 2, m.drawCustomEntity(D), m.drawLine(D.center, a);
2304
2366
  }
2305
2367
  );
2306
- }, t = (a) => {
2368
+ }, e = (a) => {
2307
2369
  if (F === "default") {
2308
2370
  if (a === T.kOk) {
2309
2371
  if (B === 0)
2310
2372
  E.setMessage(`
2311
- \u6307\u5B9A\u5706\u7684\u534A\u5F84:`), E.setKeyWords("[\u76F4\u5F84(D)]"), D.center = E.value(), e();
2373
+ \u6307\u5B9A\u5706\u7684\u534A\u5F84:`), E.setKeyWords("[\u76F4\u5F84(D)]"), D.center = E.value(), t();
2312
2374
  else if (B === 1)
2313
- return n.GetCurrentMxCAD().DrawEntity(new W(D.center.x, D.center.y, 0, D.radius)), !0;
2375
+ return s.GetCurrentMxCAD().DrawEntity(new U(D.center.x, D.center.y, 0, D.radius)), !0;
2314
2376
  B++;
2315
2377
  }
2316
- a === T.kKeyWord && E.isKeyWordPicked("D") && (A = !1, e(), E.setMessage(`
2378
+ a === T.kKeyWord && E.isKeyWordPicked("D") && (A = !1, t(), E.setMessage(`
2317
2379
  \u6307\u5B9A\u5706\u7684\u76F4\u5F84:`), E.setKeyWords(""));
2318
2380
  }
2319
2381
  };
@@ -2321,33 +2383,33 @@ function JD() {
2321
2383
  const r = (a) => {
2322
2384
  if (F === "3P" && (E.setMessage(`
2323
2385
  \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E00\u4E2A\u70B9:`), a === T.kOk)) {
2324
- if (B === 0 && (i.push(E.value()), E.setUserDraw((m, w) => {
2325
- w.drawLine(i[0], m);
2386
+ if (B === 0 && (i.push(E.value()), E.setUserDraw((m, g) => {
2387
+ g.drawLine(i[0], m);
2326
2388
  }), E.setMessage(`
2327
- \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E8C\u4E2A\u70B9:`)), B === 1 && (i.push(E.value()), E.setUserDraw((m, w) => {
2389
+ \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E8C\u4E2A\u70B9:`)), B === 1 && (i.push(E.value()), E.setUserDraw((m, g) => {
2328
2390
  const [f, p] = i, d = m;
2329
- D.center = xD([
2391
+ D.center = TD([
2330
2392
  f,
2331
2393
  p,
2332
2394
  d
2333
- ]), D.radius = D.center.distanceTo(f), w.drawCustomEntity(D);
2395
+ ]), D.radius = D.center.distanceTo(f), g.drawCustomEntity(D);
2334
2396
  }), E.setMessage(`
2335
2397
  \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E09\u4E2A\u70B9:`)), B === 2)
2336
- return i.push(E.value()), D.center = xD(i), D.radius = D.center.distanceTo(i[0]), n.GetCurrentMxCAD().DrawEntity(new W(D.center.x, D.center.y, 0, D.radius)), !0;
2398
+ return i.push(E.value()), D.center = TD(i), D.radius = D.center.distanceTo(i[0]), s.GetCurrentMxCAD().DrawEntity(new U(D.center.x, D.center.y, 0, D.radius)), !0;
2337
2399
  B++;
2338
2400
  }
2339
2401
  };
2340
- let s;
2402
+ let n;
2341
2403
  const u = (a, m) => {
2342
2404
  new THREE.Line3(a, m).getCenter(D.center), D.radius = m.distanceTo(a) / 2;
2343
2405
  }, l = (a) => {
2344
2406
  if (F === "2P" && (E.setMessage(`
2345
2407
  \u6307\u5B9A\u5706\u76F4\u5F84\u7684\u7B2C\u4E00\u4E2A\u7AEF\u70B9:`), a === T.kOk)) {
2346
- if (B === 0 && (s = E.value(), E.setUserDraw((m, w) => {
2347
- u(s, m), w.drawCustomEntity(D), w.drawLine(s, m);
2408
+ if (B === 0 && (n = E.value(), E.setUserDraw((m, g) => {
2409
+ u(n, m), g.drawCustomEntity(D), g.drawLine(n, m);
2348
2410
  }), E.setMessage(`
2349
2411
  \u6307\u5B9A\u5706\u76F4\u5F84\u7684\u7B2C\u4E8C\u4E2A\u7AEF\u70B9:`)), B === 1)
2350
- return u(s, E.value()), n.GetCurrentMxCAD().DrawEntity(new W(D.center.x, D.center.y, 0, D.radius)), !0;
2412
+ return u(n, E.value()), s.GetCurrentMxCAD().DrawEntity(new U(D.center.x, D.center.y, 0, D.radius)), !0;
2351
2413
  B++;
2352
2414
  }
2353
2415
  }, c = (a) => {
@@ -2368,7 +2430,7 @@ function JD() {
2368
2430
  \u6307\u5B9A\u5706\u7684\u5706\u5FC3\u6216[\u4E09\u70B9(3P)/\u4E24\u70B9(2P)/\u5207\u70B9\u3001\u5207\u70B9\u3001\u534A\u5F84(T)]:`
2369
2431
  ), E.setKeyWords("3P 2P T"), E.goWhile(
2370
2432
  (a) => {
2371
- if (a === T.kKeyWord && (E.isKeyWordPicked("3P") ? F = "3P" : E.isKeyWordPicked("2P") ? F = "2P" : E.isKeyWordPicked("T") && (F = "T")), t(a))
2433
+ if (a === T.kKeyWord && (E.isKeyWordPicked("3P") ? F = "3P" : E.isKeyWordPicked("2P") ? F = "2P" : E.isKeyWordPicked("T") && (F = "T")), e(a))
2372
2434
  return { exit: !0 };
2373
2435
  if (r(a))
2374
2436
  return { exit: !0 };
@@ -2378,20 +2440,20 @@ function JD() {
2378
2440
  return { exit: !0 };
2379
2441
  },
2380
2442
  (a) => {
2381
- a === T.kCancel && n.GetCurrentMxCAD().DrawEntity(new W(D.center.x, D.center.y, 0, D.radius));
2443
+ a === T.kCancel && s.GetCurrentMxCAD().DrawEntity(new U(D.center.x, D.center.y, 0, D.radius));
2382
2444
  }
2383
2445
  );
2384
2446
  }
2385
2447
  h.on("init", () => {
2386
- h.addCommand("Mx_Circle", JD);
2448
+ h.addCommand("Mx_Circle", YD);
2387
2449
  });
2388
- const bD = () => PD.state.MxFun.stopRunCommand();
2389
- function nD(E, D, C, B) {
2450
+ const kD = () => LD.state.MxFun.stopRunCommand();
2451
+ function aD(E, D, C, B) {
2390
2452
  const F = E - C, A = D - B;
2391
- let e = 0;
2392
- 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;
2453
+ let t = 0;
2454
+ return F == 0 ? t = Math.PI / 2 : t = Math.atan(Math.abs(A / F)), F < 0 && A >= 0 ? t = Math.PI - t : F < 0 && A < 0 ? t = Math.PI + t : F >= 0 && A < 0 && (t = Math.PI * 2 - t), t;
2393
2455
  }
2394
- const L = (E, D, C) => {
2456
+ const S = (E, D, C) => {
2395
2457
  const B = () => {
2396
2458
  E.go((F) => {
2397
2459
  if (F === T.kKeyWord && C() && B(), F === T.kOk && D() && B(), F === T.kNone && B(), F === T.kCancel)
@@ -2400,55 +2462,55 @@ const L = (E, D, C) => {
2400
2462
  };
2401
2463
  return B;
2402
2464
  };
2403
- async function YD() {
2465
+ async function XD() {
2404
2466
  const E = new O();
2405
- let D = new CD(), C = n.GetCurrentDatabase().GetCurrentlyDrawColor(), B = [];
2467
+ let D = new FD(), C = s.GetCurrentDatabase().GetCurrentlyDrawColor(), B = [];
2406
2468
  E.setMessage(`
2407
2469
  \u6307\u5B9A\u7B2C\u4E00\u70B9:`);
2408
2470
  let F = await E.go();
2409
2471
  if (!F)
2410
2472
  return;
2411
- E.setUserDraw((e, t) => {
2412
- t.setColor(C), B.forEach((i) => {
2413
- i.color = C, t.drawCustomEntity(i);
2414
- }), t.drawLine(F, e);
2473
+ E.setUserDraw((t, e) => {
2474
+ e.setColor(C), B.forEach((i) => {
2475
+ i.color = C, e.drawCustomEntity(i);
2476
+ }), e.drawLine(F, t);
2415
2477
  });
2416
2478
  const A = () => {
2417
2479
  E.setMessage(`
2418
2480
  \u6307\u5B9A\u4E0B\u4E00\u4E2A\u70B9:`), B.length > 1 ? E.setKeyWords("[\u9000\u51FA(E)/\u95ED\u5408(C)/\u653E\u5F03(U)]") : E.setKeyWords("[\u9000\u51FA(E)/\u653E\u5F03(U)]");
2419
2481
  };
2420
2482
  A(), E.goWhile(
2421
- (e) => {
2422
- if (e === T.kOk && (D = new CD(), I.use(D), D.pt1 = F, D.pt2 = E.value(), F = D.pt2.clone(), B.push(D), A()), e === T.kKeyWord) {
2483
+ (t) => {
2484
+ if (t === T.kOk && (D = new FD(), j.use(D), D.pt1 = F, D.pt2 = E.value(), F = D.pt2.clone(), B.push(D), A()), t === T.kKeyWord) {
2423
2485
  if (E.isKeyWordPicked("E"))
2424
- bD();
2486
+ kD();
2425
2487
  else if (E.isKeyWordPicked("C")) {
2426
- const t = new CD();
2427
- return t.pt1 = F.clone(), t.pt2 = B[0].pt1.clone(), I.use(t), B.push(t), F = t.pt2.clone(), bD(), { exit: !0 };
2488
+ const e = new FD();
2489
+ return e.pt1 = F.clone(), e.pt2 = B[0].pt1.clone(), j.use(e), B.push(e), F = e.pt2.clone(), kD(), { exit: !0 };
2428
2490
  } else if (E.isKeyWordPicked("U")) {
2429
- const t = B.pop();
2430
- t && (F = t.pt1);
2491
+ const e = B.pop();
2492
+ e && (F = e.pt1);
2431
2493
  }
2432
2494
  }
2433
2495
  },
2434
- (e) => (e != T.kCancel && B.forEach((t) => {
2435
- n.GetCurrentMxCAD().DrawEntity(new BD(t.pt1.x, t.pt1.y, 0, t.pt2.x, t.pt2.y, 0));
2496
+ (t) => (t != T.kCancel && B.forEach((e) => {
2497
+ s.GetCurrentMxCAD().DrawEntity(new AD(e.pt1.x, e.pt1.y, 0, e.pt2.x, e.pt2.y, 0));
2436
2498
  }), { exit: !0 })
2437
2499
  );
2438
2500
  }
2439
- async function SC() {
2440
- let E = new G();
2501
+ async function IC() {
2502
+ let E = new V();
2441
2503
  for (E.setMessage("\u6307\u5B9A\u70B9"); ; ) {
2442
2504
  let D = await E.go();
2443
2505
  if (D == null)
2444
2506
  break;
2445
- n.GetCurrentMxCAD().DrawEntity(new wD(D));
2507
+ s.GetCurrentMxCAD().DrawEntity(new bD(D));
2446
2508
  }
2447
2509
  }
2448
2510
  h.on("init", () => {
2449
- h.addCommand("Mx_Line", YD), h.addCommand("Mx_Point", SC);
2511
+ h.addCommand("Mx_Line", XD), h.addCommand("Mx_Point", IC);
2450
2512
  });
2451
- async function IC() {
2513
+ async function jC() {
2452
2514
  const E = new O();
2453
2515
  E.setMessage(`
2454
2516
  \u6307\u5B9A\u63D2\u5165\u4F4D\u7F6E:`);
@@ -2471,9 +2533,9 @@ async function IC() {
2471
2533
  }
2472
2534
  async function QD() {
2473
2535
  const E = new O();
2474
- let D = n.GetCurrentDatabase().GetCurrentlyDrawColor();
2475
- const C = new sC();
2476
- I.use(C), C.color = D, E.setMessage(`
2536
+ let D = s.GetCurrentDatabase().GetCurrentlyDrawColor();
2537
+ const C = new oC();
2538
+ j.use(C), C.color = D, E.setMessage(`
2477
2539
  \u6307\u5B9A\u8D77\u70B9:`);
2478
2540
  let B;
2479
2541
  E.setUserDraw((F, A) => {
@@ -2489,10 +2551,10 @@ async function QD() {
2489
2551
  },
2490
2552
  (F) => {
2491
2553
  if (F != T.kCancel) {
2492
- let A = n.GetCurrentMxCAD(), e = new FD();
2493
- for (let t = 0; t < C.points.length; t++)
2494
- e.addVertexAt(C.points[t]);
2495
- A.DrawEntity(e);
2554
+ let A = s.GetCurrentMxCAD(), t = new eD();
2555
+ for (let e = 0; e < C.points.length; e++)
2556
+ t.addVertexAt(C.points[e]);
2557
+ A.DrawEntity(t);
2496
2558
  }
2497
2559
  }
2498
2560
  );
@@ -2500,48 +2562,48 @@ async function QD() {
2500
2562
  h.on("init", () => {
2501
2563
  h.addCommand("Mx_Pline", QD);
2502
2564
  });
2503
- async function XD() {
2565
+ async function DC() {
2504
2566
  const E = new O();
2505
2567
  E.setMessage(`
2506
2568
  \u6307\u5B9A\u4E00\u70B9:`);
2507
- let D = await E.go(), C = new W();
2569
+ let D = await E.go(), C = new U();
2508
2570
  C.setCenter(D.x, D.y, D.z);
2509
- let B = 5, F = n.GetCurrentDatabase().GetCurrentlyDrawColor();
2510
- E.setUserDraw((A, e) => {
2511
- e.setColor(F), C.radius = D.distanceTo(A);
2512
- let t = C.getEndParam().val, r = C.getDistAtParam(t).val / B, s = 0, u = new THREE.Vector3(), l = new THREE.Vector3();
2571
+ let B = 5, F = s.GetCurrentDatabase().GetCurrentlyDrawColor();
2572
+ E.setUserDraw((A, t) => {
2573
+ t.setColor(F), C.radius = D.distanceTo(A);
2574
+ let e = C.getEndParam().val, r = C.getDistAtParam(e).val / B, n = 0, u = new THREE.Vector3(), l = new THREE.Vector3();
2513
2575
  for (let c = 0; c < B; c++) {
2514
- let a = C.getPointAtDist(s).val;
2515
- s += r, c > 0 ? e.drawMcDbLine(a.x, a.y, a.z, u.x, u.y, u.z) : l = new THREE.Vector3(a.x, a.y, a.z), c == B - 1 && e.drawMcDbLine(a.x, a.y, a.z, l.x, l.y, l.z), u = new THREE.Vector3(a.x, a.y, a.z);
2576
+ let a = C.getPointAtDist(n).val;
2577
+ n += r, c > 0 ? t.drawMcDbLine(a.x, a.y, a.z, u.x, u.y, u.z) : l = new THREE.Vector3(a.x, a.y, a.z), c == B - 1 && t.drawMcDbLine(a.x, a.y, a.z, l.x, l.y, l.z), u = new THREE.Vector3(a.x, a.y, a.z);
2516
2578
  }
2517
2579
  }), E.setMessage(`
2518
2580
  \u6307\u5B9A\u4E8C\u70B9:`), await E.go(), E.drawReserve();
2519
2581
  }
2520
- h.addCommand("Mx_Polygon", XD);
2521
- function jC(E, D, C) {
2522
- const B = E.x, F = D.x, A = C.x, e = E.y, t = D.y, i = C.y, r = B - F, s = e - t, u = B - A, l = e - i, c = (B * B - F * F + (e * e - t * t)) / 2, a = (B * B - A * A + (e * e - i * i)) / 2, m = s * u - r * l, w = -(l * c - s * a) / m, f = -(r * a - u * c) / m;
2523
- return new THREE.Vector3(w, f, 0);
2582
+ h.addCommand("Mx_Polygon", DC);
2583
+ function GC(E, D, C) {
2584
+ const B = E.x, F = D.x, A = C.x, t = E.y, e = D.y, i = C.y, r = B - F, n = t - e, u = B - A, l = t - i, c = (B * B - F * F + (t * t - e * e)) / 2, a = (B * B - A * A + (t * t - i * i)) / 2, m = n * u - r * l, g = -(l * c - n * a) / m, f = -(r * a - u * c) / m;
2585
+ return new THREE.Vector3(g, f, 0);
2524
2586
  }
2525
- function GC(E, D) {
2587
+ function VC(E, D) {
2526
2588
  const C = E.x, B = E.y, F = D.x, A = D.y;
2527
2589
  return Math.sqrt((C - F) * (C - F) + (B - A) * (B - A));
2528
2590
  }
2529
- function VC(E, D, C) {
2591
+ function WC(E, D, C) {
2530
2592
  let B;
2531
2593
  E < C ? B = C - E : B = C - E + 360;
2532
2594
  let F;
2533
2595
  return E < D ? F = D - E : F = D - E + 360, F > B;
2534
2596
  }
2535
- function sD(E, D, C) {
2536
- const B = E.x, F = D.x, A = E.y, e = D.y;
2537
- let t, i, r;
2538
- return t = (A - e) / C, i = (B - F) / C, i >= 0.99999 && (i = 0.99999), i <= -0.99999 && (i = -0.99999), r = Math.acos(i), r = r / Math.PI * 180, t < -0.05 && (r = 360 - r), {
2539
- sin: t,
2597
+ function uD(E, D, C) {
2598
+ const B = E.x, F = D.x, A = E.y, t = D.y;
2599
+ let e, i, r;
2600
+ return e = (A - t) / C, i = (B - F) / C, i >= 0.99999 && (i = 0.99999), i <= -0.99999 && (i = -0.99999), r = Math.acos(i), r = r / Math.PI * 180, e < -0.05 && (r = 360 - r), {
2601
+ sin: e,
2540
2602
  cos: i,
2541
2603
  angle: r
2542
2604
  };
2543
2605
  }
2544
- class fD extends TD {
2606
+ class PD extends RD {
2545
2607
  constructor() {
2546
2608
  super(), this._propertyDbKeys = [...this._propertyDbKeys, "bulge"];
2547
2609
  }
@@ -2549,24 +2611,24 @@ class fD extends TD {
2549
2611
  return "MxDbCircle";
2550
2612
  }
2551
2613
  create() {
2552
- return new fD();
2614
+ return new PD();
2553
2615
  }
2554
2616
  getArcBulge(D, C, B) {
2555
2617
  const F = D.distanceTo(C);
2556
- let t = 2 * new THREE.Line3(D, C).getCenter(
2618
+ let e = 2 * new THREE.Line3(D, C).getCenter(
2557
2619
  new THREE.Vector3()
2558
2620
  ).distanceTo(B) / F;
2559
- return t > 0.9999 && t < 1.0001 ? t = 1 : t < -0.9999 && t > -1.0001 ? t = -1 : Math.abs(t) < 1e-10 && (t = 0), t;
2621
+ return e > 0.9999 && e < 1.0001 ? e = 1 : e < -0.9999 && e > -1.0001 ? e = -1 : Math.abs(e) < 1e-10 && (e = 0), e;
2560
2622
  }
2561
2623
  getArcMidPoint(D, C, B, F, A) {
2562
- const e = D, t = B * Math.PI / 180;
2624
+ const t = D, e = B * Math.PI / 180;
2563
2625
  let i = F * Math.PI / 180;
2564
- const r = new THREE.Vector3(), s = new THREE.Vector3();
2565
- r.x = e.x + C * Math.cos(t), r.y = e.y + C * Math.sin(t), s.x = e.x + C * Math.cos(i), s.y = e.y + C * Math.sin(i);
2626
+ const r = new THREE.Vector3(), n = new THREE.Vector3();
2627
+ r.x = t.x + C * Math.cos(e), r.y = t.y + C * Math.sin(e), n.x = t.x + C * Math.cos(i), n.y = t.y + C * Math.sin(i);
2566
2628
  const u = C;
2567
2629
  (A ? B < F : B > F) && (i += Math.PI * 2);
2568
2630
  const l = new THREE.Vector3();
2569
- return l.x = e.x + u * Math.cos((t + i) / 2), l.y = e.y + u * Math.sin((t + i) / 2), [r, l, s, this.center];
2631
+ return l.x = t.x + u * Math.cos((e + i) / 2), l.y = t.y + u * Math.sin((e + i) / 2), [r, l, n, this.center];
2570
2632
  }
2571
2633
  getGripPoints() {
2572
2634
  return this.getArcMidPoint(
@@ -2585,25 +2647,25 @@ class fD extends TD {
2585
2647
  }
2586
2648
  upDatePoints(D, C, B) {
2587
2649
  D[C].add(B);
2588
- const [F, A, e] = D;
2589
- this.center = jC(F, e, A), this.radius = GC(A, this.center);
2590
- const t = sD(F, this.center, this.radius), i = sD(e, this.center, this.radius), r = sD(A, this.center, this.radius);
2591
- this.clockwise = VC(
2650
+ const [F, A, t] = D;
2651
+ this.center = GC(F, t, A), this.radius = VC(A, this.center);
2652
+ const e = uD(F, this.center, this.radius), i = uD(t, this.center, this.radius), r = uD(A, this.center, this.radius);
2653
+ this.clockwise = WC(
2592
2654
  i.angle,
2593
- t.angle,
2655
+ e.angle,
2594
2656
  r.angle
2595
- ), this.startAngle = THREE.MathUtils.degToRad(t.angle), this.endAngle = THREE.MathUtils.degToRad(i.angle);
2657
+ ), this.startAngle = THREE.MathUtils.degToRad(e.angle), this.endAngle = THREE.MathUtils.degToRad(i.angle);
2596
2658
  }
2597
2659
  }
2598
- async function DC() {
2599
- let E = n.GetCurrentDatabase().GetCurrentlyDrawColor();
2660
+ async function CC() {
2661
+ let E = s.GetCurrentDatabase().GetCurrentlyDrawColor();
2600
2662
  const D = new O();
2601
2663
  D.setMessage(`
2602
2664
  \u6307\u5B9A\u5706\u5F27\u7684\u8D77\u70B9:`), D.setKeyWords("[\u5706\u5FC3(C)]");
2603
- let C = new fD();
2604
- C.closed = !1, I.use(C);
2665
+ let C = new PD();
2666
+ C.closed = !1, j.use(C);
2605
2667
  let B, F, A;
2606
- const e = L(
2668
+ const t = S(
2607
2669
  D,
2608
2670
  () => {
2609
2671
  B = D.value(), D.setMessage(`
@@ -2613,44 +2675,44 @@ async function DC() {
2613
2675
  },
2614
2676
  () => {
2615
2677
  if (D.isKeyWordPicked("C")) {
2616
- const p = new DD();
2678
+ const p = new ED();
2617
2679
  p.color = E, C.center = D.value(), p.center = D.value(), D.setMessage(`
2618
2680
  \u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3:`), D.setKeyWords(""), i();
2619
2681
  } else
2620
2682
  return !0;
2621
2683
  }
2622
2684
  );
2623
- let t;
2624
- const i = L(
2685
+ let e;
2686
+ const i = S(
2625
2687
  D,
2626
2688
  () => {
2627
- t = D.value(), A = new DD(), A.closed = !1, I.use(A), A.color = E, A.center = t, C.center = t, D.setMessage(`
2689
+ e = D.value(), A = new ED(), A.closed = !1, j.use(A), A.color = E, A.center = e, C.center = e, D.setMessage(`
2628
2690
  \u6307\u5B9A\u5706\u5F27\u7684\u8D77\u70B9:`), D.setUserDraw((p, d) => {
2629
- d.drawCustomEntity(A), d.setColor(E), d.drawLine(t, p);
2691
+ d.drawCustomEntity(A), d.setColor(E), d.drawLine(e, p);
2630
2692
  }), u();
2631
2693
  },
2632
2694
  () => {
2633
2695
  }
2634
2696
  );
2635
- let r, s;
2636
- const u = L(
2697
+ let r, n;
2698
+ const u = S(
2637
2699
  D,
2638
2700
  () => {
2639
2701
  r = D.value(), A.endPoint = r, D.setMessage(
2640
2702
  `
2641
2703
  \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)]:`
2642
- ), D.setKeyWords("A L R"), s = new CD(), s.setDashLineDisplay(!0), s.setDashArray(0.05), s.setLineWidth(2), s.setColor("#ffd30d"), s.pt1 = A.center, D.setUserDraw((p, d) => {
2643
- A.startPoint = p, s.pt2 = p, d.drawCustomEntity(A), d.drawCustomEntity(s);
2704
+ ), D.setKeyWords("A L R"), n = new FD(), n.setDashLineDisplay(!0), n.setDashArray(0.05), n.setLineWidth(2), n.setColor("#ffd30d"), n.pt1 = A.center, D.setUserDraw((p, d) => {
2705
+ A.startPoint = p, n.pt2 = p, d.drawCustomEntity(A), d.drawCustomEntity(n);
2644
2706
  }), c();
2645
2707
  },
2646
2708
  () => {
2647
2709
  }
2648
2710
  );
2649
2711
  let l;
2650
- const c = L(
2712
+ const c = S(
2651
2713
  D,
2652
2714
  () => {
2653
- l = D.value(), A.startPoint = l, A.endPoint = r, w.DrawArc(A.center.x, A.center.y, A.radius, A.startAngle, A.endAngle);
2715
+ l = D.value(), A.startPoint = l, A.endPoint = r, g.DrawArc(A.center.x, A.center.y, A.radius, A.startAngle, A.endAngle);
2654
2716
  },
2655
2717
  () => {
2656
2718
  if (D.isKeyWordPicked("A"))
@@ -2658,14 +2720,14 @@ async function DC() {
2658
2720
  `
2659
2721
  \u6307\u5B9A\u5706\u5F27\u7684\u5939\u89D2(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u4FEE\u6539\u534A\u5F84(R)]:`
2660
2722
  ), D.setKeyWords("R"), D.setUserDraw((p, d) => {
2661
- A.startPoint = p, d.drawCustomEntity(A), d.drawCustomEntity(s);
2723
+ A.startPoint = p, d.drawCustomEntity(A), d.drawCustomEntity(n);
2662
2724
  }), !0;
2663
2725
  if (D.isKeyWordPicked("L"))
2664
2726
  return D.setMessage(
2665
2727
  `
2666
2728
  \u6307\u5B9A\u5706\u5F27\u7684\u5939\u89D2(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u4FEE\u6539\u534A\u5F84(R)]:`
2667
2729
  ), D.setKeyWords("R"), D.setUserDraw((p, d) => {
2668
- A.startPoint = p, d.drawCustomEntity(A), d.drawCustomEntity(s);
2730
+ A.startPoint = p, d.drawCustomEntity(A), d.drawCustomEntity(n);
2669
2731
  }), !0;
2670
2732
  if (D.isKeyWordPicked("R"))
2671
2733
  D.setMessage(
@@ -2679,22 +2741,22 @@ async function DC() {
2679
2741
  }
2680
2742
  );
2681
2743
  let a;
2682
- const m = L(
2744
+ const m = S(
2683
2745
  D,
2684
2746
  () => {
2685
2747
  a = D.value(), D.setMessage(`
2686
- \u6307\u5B9A\u5706\u5F27\u7684\u7AEF\u70B9:`), F = new oC(), F.color = E, F.autoClockwise = !0, F.closed = !1, I.use(F), D.setUserDraw((p, d) => {
2748
+ \u6307\u5B9A\u5706\u5F27\u7684\u7AEF\u70B9:`), F = new aC(), F.color = E, F.autoClockwise = !0, F.closed = !1, j.use(F), D.setUserDraw((p, d) => {
2687
2749
  F.point1 = B, F.point3 = a, F.point2 = p, d.drawCustomEntity(F);
2688
2750
  }), f();
2689
2751
  },
2690
2752
  () => {
2691
2753
  if (D.isKeyWordPicked("C"))
2692
- A = new DD(), A.closed = !1, I.use(A), A.color = E, D.setMessage(`
2754
+ A = new ED(), A.closed = !1, j.use(A), A.color = E, D.setMessage(`
2693
2755
  \u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3`), D.setKeyWords(""), D.setUserDraw((p, d) => {
2694
2756
  A.startPoint = B, d.drawLine(p, A.startPoint);
2695
2757
  }), i();
2696
2758
  else if (D.isKeyWordPicked("E"))
2697
- A = new DD(), A.closed = !1, I.use(A), A.color = E, D.setMessage(`
2759
+ A = new ED(), A.closed = !1, j.use(A), A.color = E, D.setMessage(`
2698
2760
  \u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3`), D.setKeyWords(""), D.setUserDraw((p, d) => {
2699
2761
  A.startPoint = B, d.drawLine(p, A.startPoint);
2700
2762
  }), i();
@@ -2702,13 +2764,13 @@ async function DC() {
2702
2764
  return !0;
2703
2765
  }
2704
2766
  );
2705
- let w = n.GetCurrentMxCAD();
2706
- const f = L(
2767
+ let g = s.GetCurrentMxCAD();
2768
+ const f = S(
2707
2769
  D,
2708
2770
  () => {
2709
2771
  F.point1 = B, F.point2 = D.value(), F.point3 = a;
2710
- let p = new AD();
2711
- p.computeArc(F.point1.x, F.point1.y, F.point3.x, F.point3.y, F.point2.x, F.point2.y), w.DrawEntity(p);
2772
+ let p = new iD();
2773
+ p.computeArc(F.point1.x, F.point1.y, F.point3.x, F.point3.y, F.point2.x, F.point2.y), g.DrawEntity(p);
2712
2774
  },
2713
2775
  () => {
2714
2776
  if (D.isKeyWordPicked("C"))
@@ -2719,99 +2781,99 @@ async function DC() {
2719
2781
  return !0;
2720
2782
  }
2721
2783
  );
2722
- e();
2784
+ t();
2723
2785
  }
2724
2786
  h.on("init", () => {
2725
- h.addCommand("Mx_Arc", DC);
2787
+ h.addCommand("Mx_Arc", CC);
2726
2788
  });
2727
- function CC() {
2728
- const E = new O(), D = new aC();
2729
- D.closed = !1, I.use(D), E.setMessage(`
2789
+ function BC() {
2790
+ const E = new O(), D = new uC();
2791
+ D.closed = !1, j.use(D), E.setMessage(`
2730
2792
  \u6307\u5B9A\u692D\u5706\u7684\u8F74\u7AEF\u70B9`), E.setKeyWords("[\u4E2D\u5FC3\u70B9(C)]");
2731
2793
  let C, B = new THREE.Vector3();
2732
- L(
2794
+ S(
2733
2795
  E,
2734
2796
  () => {
2735
- C = E.value(), E.setUserDraw((r, s) => {
2797
+ C = E.value(), E.setUserDraw((r, n) => {
2736
2798
  const u = new THREE.Line3(C, r);
2737
- u.getCenter(B), D.center = B, D.xRadius = u.distance() / 2, D.yRadius = D.xRadius, D.rotation = nD(r.x, r.y, B.x, B.y), s.drawLine(r, C);
2799
+ u.getCenter(B), D.center = B, D.xRadius = u.distance() / 2, D.yRadius = D.xRadius, D.rotation = aD(r.x, r.y, B.x, B.y), n.drawLine(r, C);
2738
2800
  }), E.setMessage(`
2739
2801
  \u6307\u5B9A\u692D\u5706\u5F27\u8F74\u7684\u53E6\u4E00\u4E2A\u7AEF\u70B9:`), E.setKeyWords(""), A();
2740
2802
  },
2741
2803
  () => {
2742
2804
  }
2743
2805
  )();
2744
- const A = L(
2806
+ const A = S(
2745
2807
  E,
2746
2808
  () => {
2747
- E.setUserDraw((r, s) => {
2748
- D.yRadius = B.distanceTo(r), s.drawLine(B, r), s.drawCustomEntity(D);
2809
+ E.setUserDraw((r, n) => {
2810
+ D.yRadius = B.distanceTo(r), n.drawLine(B, r), n.drawCustomEntity(D);
2749
2811
  }), E.setMessage(`
2750
- \u6307\u5B9A\u53E6\u4E00\u6761\u534A\u8F74\u957F\u5EA6`), E.setKeyWords(""), e();
2812
+ \u6307\u5B9A\u53E6\u4E00\u6761\u534A\u8F74\u957F\u5EA6`), E.setKeyWords(""), t();
2751
2813
  },
2752
2814
  () => {
2753
2815
  }
2754
- ), e = L(
2816
+ ), t = S(
2755
2817
  E,
2756
2818
  () => {
2757
2819
  E.setMessage(`
2758
- \u6307\u5B9A\u8D77\u59CB\u89D2\u5EA6`), E.setKeyWords(""), E.setUserDraw((r, s) => {
2759
- D.startAngle = nD(r.x, r.y, B.x, B.y) - D.rotation, s.drawLine(B, r), s.drawCustomEntity(D);
2760
- }), t();
2820
+ \u6307\u5B9A\u8D77\u59CB\u89D2\u5EA6`), E.setKeyWords(""), E.setUserDraw((r, n) => {
2821
+ D.startAngle = aD(r.x, r.y, B.x, B.y) - D.rotation, n.drawLine(B, r), n.drawCustomEntity(D);
2822
+ }), e();
2761
2823
  },
2762
2824
  () => {
2763
2825
  }
2764
- ), t = L(
2826
+ ), e = S(
2765
2827
  E,
2766
2828
  () => {
2767
- E.setUserDraw((r, s) => {
2768
- D.endAngle = nD(r.x, r.y, B.x, B.y) - D.rotation, s.drawLine(B, r), s.drawCustomEntity(D);
2829
+ E.setUserDraw((r, n) => {
2830
+ D.endAngle = aD(r.x, r.y, B.x, B.y) - D.rotation, n.drawLine(B, r), n.drawCustomEntity(D);
2769
2831
  }), E.setMessage(`
2770
2832
  \u6307\u5B9A\u7EC8\u6B62\u89D2\u5EA6`), E.setKeyWords(""), i();
2771
2833
  },
2772
2834
  () => {
2773
2835
  }
2774
- ), i = L(
2836
+ ), i = S(
2775
2837
  E,
2776
2838
  () => {
2777
2839
  let r = new y(D.xRadius, 0, 0);
2778
- r.rotateBy(D.rotation, y.kZAxis), n.GetCurrentMxCAD().DrawEntity(new tD(D.center.x, D.center.y, 0, r.x, r.y, 0, D.yRadius / D.xRadius, D.startAngle, D.endAngle));
2840
+ r.rotateBy(D.rotation, y.kZAxis), s.GetCurrentMxCAD().DrawEntity(new sD(D.center.x, D.center.y, 0, r.x, r.y, 0, D.yRadius / D.xRadius, D.startAngle, D.endAngle));
2779
2841
  },
2780
2842
  () => {
2781
2843
  }
2782
2844
  );
2783
2845
  }
2784
2846
  function UC() {
2785
- const E = new O(), D = new uC(), C = new lC();
2786
- let B = n.GetCurrentDatabase().GetCurrentlyDrawColor();
2847
+ const E = new O(), D = new lC(), C = new cC();
2848
+ let B = s.GetCurrentDatabase().GetCurrentlyDrawColor();
2787
2849
  C.setColor(B), E.setMessage(`
2788
2850
  \u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u692D\u5706:`), E.go(() => {
2789
2851
  C.point1 = E.value(), D.setDraw((F) => {
2790
2852
  C.point2 = F, D.drawCustomEntity(C);
2791
2853
  }), E.setUserDraw(D), E.setMessage(`
2792
2854
  \u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\u692D\u5706:`), E.go(() => {
2793
- n.GetCurrentMxCAD().DrawEntity(new tD(C.center.x, C.center.y, 0, C.xRadius, 0, 0, C.yRadius / C.xRadius));
2855
+ s.GetCurrentMxCAD().DrawEntity(new sD(C.center.x, C.center.y, 0, C.xRadius, 0, 0, C.yRadius / C.xRadius));
2794
2856
  });
2795
2857
  });
2796
2858
  }
2797
2859
  h.on("init", () => {
2798
- h.addCommand("Mx_EllipseArc", CC), h.addCommand("Mx_Ellipse", UC);
2860
+ h.addCommand("Mx_EllipseArc", BC), h.addCommand("Mx_Ellipse", UC);
2799
2861
  });
2800
- async function BC() {
2801
- let E = U.getCurrentSelect();
2862
+ async function EC() {
2863
+ let E = R.getCurrentSelect();
2802
2864
  if (E.length > 0) {
2803
2865
  E.forEach((C) => {
2804
2866
  C.erase();
2805
2867
  });
2806
2868
  return;
2807
2869
  }
2808
- let D = new _();
2870
+ let D = new H();
2809
2871
  !await D.userSelect(`
2810
2872
  \u9009\u62E9\u5220\u9664\u5BF9\u8C61`) || D.forEach((C) => {
2811
2873
  C.erase();
2812
2874
  });
2813
2875
  }
2814
- function X(E) {
2876
+ function BD(E) {
2815
2877
  let D, C;
2816
2878
  if (E.forEach((B) => {
2817
2879
  let F = B.getMcDbEntity();
@@ -2822,90 +2884,90 @@ function X(E) {
2822
2884
  }), D && C)
2823
2885
  return { minPt: D, maxPt: C };
2824
2886
  }
2825
- async function WC() {
2887
+ async function zC() {
2826
2888
  let E;
2827
- for (; E = U.getCurrentSelect(), !(E.length > 0); ) {
2828
- let e = new _();
2829
- if (!await e.userSelect(`
2830
- \u9009\u62E9\u590D\u5236\u5BF9\u8C61`) || (E = e.getIds(), E.length == 0))
2889
+ for (; E = R.getCurrentSelect(), !(E.length > 0); ) {
2890
+ let t = new H();
2891
+ if (!await t.userSelect(`
2892
+ \u9009\u62E9\u590D\u5236\u5BF9\u8C61`) || (E = t.getIds(), E.length == 0))
2831
2893
  return;
2832
2894
  break;
2833
2895
  }
2834
2896
  let D, C;
2835
2897
  if (E.length >= 10) {
2836
- let e = X(E);
2837
- e && (D = e.minPt, C = e.maxPt);
2898
+ let t = BD(E);
2899
+ t && (D = t.minPt, C = t.maxPt);
2838
2900
  }
2839
- let B = new G();
2901
+ let B = new V();
2840
2902
  B.setMessage("\u6307\u5B9A\u57FA\u70B9");
2841
2903
  let F = await B.go();
2842
2904
  if (!F)
2843
2905
  return;
2844
- B.setMessage("\u6307\u5B9A\u79FB\u52A8\u5230\u70B9"), B.setBasePt(F), B.setUseBasePt(!0), B.setUserDraw((e, t) => {
2906
+ B.setMessage("\u6307\u5B9A\u79FB\u52A8\u5230\u70B9"), B.setBasePt(F), B.setUseBasePt(!0), B.setUserDraw((t, e) => {
2845
2907
  if (D && C) {
2846
- let i = e.x - F.x, r = e.y - F.y, s = new THREE.Vector3(D.x + i, C.y + r, 0), u = new THREE.Vector3(C.x + i, D.y + r, 0), l = new THREE.Vector3(s.x, u.y, 0), c = new THREE.Vector3(u.x, s.y, 0);
2847
- t.drawLine(c, s), t.drawLine(s, l), t.drawLine(l, u), t.drawLine(u, c);
2908
+ let i = t.x - F.x, r = t.y - F.y, n = new THREE.Vector3(D.x + i, C.y + r, 0), u = new THREE.Vector3(C.x + i, D.y + r, 0), l = new THREE.Vector3(n.x, u.y, 0), c = new THREE.Vector3(u.x, n.y, 0);
2909
+ e.drawLine(c, n), e.drawLine(n, l), e.drawLine(l, u), e.drawLine(u, c);
2848
2910
  }
2849
2911
  for (let i = 0; i < E.length && i < 10; i++) {
2850
2912
  let r = E[i].clone();
2851
- !r || (r.Move(F, e), t.drawMcDbEntity(r));
2913
+ !r || (r.Move(F, t), e.drawMcDbEntity(r));
2852
2914
  }
2853
2915
  });
2854
2916
  let A = await B.go();
2855
2917
  if (!!A)
2856
- for (let e = 0; e < E.length; e++) {
2857
- let t = E[e].clone();
2858
- !t || (t.Move(F, A), n.GetCurrentMxCAD().DrawEntity(t));
2918
+ for (let t = 0; t < E.length; t++) {
2919
+ let e = E[t].clone();
2920
+ !e || (e.Move(F, A), s.GetCurrentMxCAD().DrawEntity(e));
2859
2921
  }
2860
2922
  }
2861
- async function zC() {
2923
+ async function HC() {
2862
2924
  let E;
2863
- for (; E = U.getCurrentSelect(), !(E.length > 0); ) {
2864
- let e = new _();
2865
- if (!await e.userSelect(`
2866
- \u9009\u62E9\u79FB\u52A8\u5BF9\u8C61`) || (E = e.getIds(), E.length == 0))
2925
+ for (; E = R.getCurrentSelect(), !(E.length > 0); ) {
2926
+ let t = new H();
2927
+ if (!await t.userSelect(`
2928
+ \u9009\u62E9\u79FB\u52A8\u5BF9\u8C61`) || (E = t.getIds(), E.length == 0))
2867
2929
  return;
2868
2930
  break;
2869
2931
  }
2870
2932
  let D, C;
2871
2933
  if (E.length >= 10) {
2872
- let e = X(E);
2873
- e && (D = e.minPt, C = e.maxPt);
2934
+ let t = BD(E);
2935
+ t && (D = t.minPt, C = t.maxPt);
2874
2936
  }
2875
- let B = new G();
2937
+ let B = new V();
2876
2938
  B.setMessage("\u6307\u5B9A\u57FA\u70B9");
2877
2939
  let F = await B.go();
2878
2940
  if (!F)
2879
2941
  return;
2880
- B.setMessage("\u6307\u5B9A\u79FB\u52A8\u5230\u70B9"), B.setBasePt(F), B.setUseBasePt(!0), B.setUserDraw((e, t) => {
2942
+ B.setMessage("\u6307\u5B9A\u79FB\u52A8\u5230\u70B9"), B.setBasePt(F), B.setUseBasePt(!0), B.setUserDraw((t, e) => {
2881
2943
  if (D && C) {
2882
- let i = e.x - F.x, r = e.y - F.y, s = new THREE.Vector3(D.x + i, C.y + r, 0), u = new THREE.Vector3(C.x + i, D.y + r, 0), l = new THREE.Vector3(s.x, u.y, 0), c = new THREE.Vector3(u.x, s.y, 0);
2883
- t.drawLine(c, s), t.drawLine(s, l), t.drawLine(l, u), t.drawLine(u, c);
2944
+ let i = t.x - F.x, r = t.y - F.y, n = new THREE.Vector3(D.x + i, C.y + r, 0), u = new THREE.Vector3(C.x + i, D.y + r, 0), l = new THREE.Vector3(n.x, u.y, 0), c = new THREE.Vector3(u.x, n.y, 0);
2945
+ e.drawLine(c, n), e.drawLine(n, l), e.drawLine(l, u), e.drawLine(u, c);
2884
2946
  }
2885
2947
  for (let i = 0; i < E.length && i < 10; i++) {
2886
2948
  let r = E[i].clone();
2887
- !r || (r.Move(F, e), t.drawMcDbEntity(r));
2949
+ !r || (r.Move(F, t), e.drawMcDbEntity(r));
2888
2950
  }
2889
2951
  });
2890
2952
  let A = await B.go();
2891
2953
  if (!!A)
2892
- for (let e = 0; e < E.length; e++) {
2893
- let t = E[e].getMcDbObject();
2894
- !t || t.Move(F, A);
2954
+ for (let t = 0; t < E.length; t++) {
2955
+ let e = E[t].getMcDbObject();
2956
+ !e || e.Move(F, A);
2895
2957
  }
2896
2958
  }
2897
2959
  async function KC() {
2898
2960
  let E;
2899
- for (; E = U.getCurrentSelect(), !(E.length > 0); ) {
2900
- let l = new _();
2961
+ for (; E = R.getCurrentSelect(), !(E.length > 0); ) {
2962
+ let l = new H();
2901
2963
  if (!await l.userSelect(`
2902
2964
  \u9009\u62E9\u65CB\u8F6C\u5BF9\u8C61`) || (E = l.getIds(), E.length == 0))
2903
2965
  return;
2904
2966
  break;
2905
2967
  }
2906
- let D, C, B = X(E);
2968
+ let D, C, B = BD(E);
2907
2969
  B && (D = B.minPt, C = B.maxPt);
2908
- let F = new G();
2970
+ let F = new V();
2909
2971
  F.setMessage("\u6307\u5B9A\u57FA\u70B9");
2910
2972
  let A = await F.go();
2911
2973
  if (A == null)
@@ -2913,80 +2975,80 @@ async function KC() {
2913
2975
  F.setMessage("\u6307\u5B9A\u65CB\u8F6C\u89D2\u5EA6"), F.setBasePt(A), F.setUseBasePt(!0), F.setUserDraw((l, c) => {
2914
2976
  let a = l, m = A, f = a.sub(m).angleTo2(y.kXAxis, y.kNegateZAxis), p = new v();
2915
2977
  if (p.setToRotation(f, y.kZAxis, m), D && C) {
2916
- let d = new o(D.x, C.y, 0), b = new o(C.x, D.y, 0), x = new o(d.x, b.y, 0), g = new o(b.x, d.y, 0);
2917
- d.transformBy(p), b.transformBy(p), x.transformBy(p), g.transformBy(p), c.drawLine(g.toVector3(), d.toVector3()), c.drawLine(d.toVector3(), x.toVector3()), c.drawLine(x.toVector3(), b.toVector3()), c.drawLine(b.toVector3(), g.toVector3());
2978
+ let d = new o(D.x, C.y, 0), b = new o(C.x, D.y, 0), x = new o(d.x, b.y, 0), w = new o(b.x, d.y, 0);
2979
+ d.transformBy(p), b.transformBy(p), x.transformBy(p), w.transformBy(p), c.drawLine(w.toVector3(), d.toVector3()), c.drawLine(d.toVector3(), x.toVector3()), c.drawLine(x.toVector3(), b.toVector3()), c.drawLine(b.toVector3(), w.toVector3());
2918
2980
  }
2919
- m = n.GetCurrentMxCAD().docCoord2Cad(m), p.setToRotation(f, y.kZAxis, m);
2981
+ m = s.GetCurrentMxCAD().DocCoord2Cad(m), p.setToRotation(f, y.kZAxis, m);
2920
2982
  for (let d = 0; d < E.length && d < 10; d++) {
2921
2983
  let b = E[d].clone();
2922
2984
  !b || (b.TransformBy(p), c.drawMcDbEntity(b));
2923
2985
  }
2924
2986
  });
2925
- let e = await F.go();
2926
- if (!e)
2987
+ let t = await F.go();
2988
+ if (!t)
2927
2989
  return;
2928
- let t = e, i = A, s = t.sub(i).angleTo2(y.kXAxis, y.kNegateZAxis), u = new v();
2929
- i = n.GetCurrentMxCAD().docCoord2Cad(i), u.setToRotation(s, y.kZAxis, i);
2990
+ let e = t, i = A, n = e.sub(i).angleTo2(y.kXAxis, y.kNegateZAxis), u = new v();
2991
+ i = s.GetCurrentMxCAD().DocCoord2Cad(i), u.setToRotation(n, y.kZAxis, i);
2930
2992
  for (let l = 0; l < E.length; l++) {
2931
2993
  let c = E[l].getMcDbObject();
2932
2994
  !c || c.TransformBy(u);
2933
2995
  }
2934
2996
  }
2935
- async function HC() {
2997
+ async function NC() {
2936
2998
  let E;
2937
- for (; E = U.getCurrentSelect(), !(E.length > 0); ) {
2938
- let m = new _();
2999
+ for (; E = R.getCurrentSelect(), !(E.length > 0); ) {
3000
+ let m = new H();
2939
3001
  if (!await m.userSelect(`
2940
3002
  \u9009\u62E9\u7F29\u653E\u5BF9\u8C61`) || (E = m.getIds(), E.length == 0))
2941
3003
  return;
2942
3004
  break;
2943
3005
  }
2944
- let D, C, B = X(E);
3006
+ let D, C, B = BD(E);
2945
3007
  if (!B)
2946
3008
  return;
2947
3009
  D = B.minPt, C = B.maxPt;
2948
- let F = C.x - D.x, A = C.y - D.y, e = (F + A) / 3;
2949
- e < 1e-5 && (e = 1);
2950
- let t = new G();
2951
- t.setMessage("\u6307\u5B9A\u57FA\u70B9");
2952
- let i = await t.go();
3010
+ let F = C.x - D.x, A = C.y - D.y, t = (F + A) / 3;
3011
+ t < 1e-5 && (t = 1);
3012
+ let e = new V();
3013
+ e.setMessage("\u6307\u5B9A\u57FA\u70B9");
3014
+ let i = await e.go();
2953
3015
  if (i == null)
2954
3016
  return;
2955
- t.setMessage("\u6307\u5B9A\u6BD4\u4F8B\u56E0\u5B50"), t.setBasePt(i), t.setUseBasePt(!0), t.setUserDraw((m, w) => {
3017
+ e.setMessage("\u6307\u5B9A\u6BD4\u4F8B\u56E0\u5B50"), e.setBasePt(i), e.setUseBasePt(!0), e.setUserDraw((m, g) => {
2956
3018
  let f = new o(m), p = new o(i), d = f.distanceTo(p);
2957
3019
  if (d < 1e-5)
2958
3020
  return;
2959
- let b = d / e;
3021
+ let b = d / t;
2960
3022
  b > 1e5 && (b = 1e5);
2961
3023
  let x = new v();
2962
3024
  if (x.setToScaling(b, p), D && C) {
2963
- let g = new o(D.x, C.y, 0), M = new o(C.x, D.y, 0), S = new o(g.x, M.y, 0), Y = new o(M.x, g.y, 0);
2964
- g.transformBy(x), M.transformBy(x), S.transformBy(x), Y.transformBy(x), w.drawLine(Y.toVector3(), g.toVector3()), w.drawLine(g.toVector3(), S.toVector3()), w.drawLine(S.toVector3(), M.toVector3()), w.drawLine(M.toVector3(), Y.toVector3());
3025
+ let w = new o(D.x, C.y, 0), M = new o(C.x, D.y, 0), I = new o(w.x, M.y, 0), X = new o(M.x, w.y, 0);
3026
+ w.transformBy(x), M.transformBy(x), I.transformBy(x), X.transformBy(x), g.drawLine(X.toVector3(), w.toVector3()), g.drawLine(w.toVector3(), I.toVector3()), g.drawLine(I.toVector3(), M.toVector3()), g.drawLine(M.toVector3(), X.toVector3());
2965
3027
  }
2966
- p = n.GetCurrentMxCAD().docCoord2Cad(p), x.setToScaling(b, p);
2967
- for (let g = 0; g < E.length && g < 10; g++) {
2968
- let M = E[g].clone();
2969
- !M || (M.TransformBy(x), w.drawMcDbEntity(M));
3028
+ p = s.GetCurrentMxCAD().DocCoord2Cad(p), x.setToScaling(b, p);
3029
+ for (let w = 0; w < E.length && w < 10; w++) {
3030
+ let M = E[w].clone();
3031
+ !M || (M.TransformBy(x), g.drawMcDbEntity(M));
2970
3032
  }
2971
3033
  });
2972
- let r = await t.go();
3034
+ let r = await e.go();
2973
3035
  if (!r)
2974
3036
  return;
2975
- let s = r, u = i, l = s.distanceTo(u);
3037
+ let n = r, u = i, l = n.distanceTo(u);
2976
3038
  if (l < 1e-5)
2977
3039
  return;
2978
- let c = l / e;
3040
+ let c = l / t;
2979
3041
  c > 1e5 && (c = 1e5);
2980
3042
  let a = new v();
2981
- u = n.GetCurrentMxCAD().docCoord2Cad(u), a.setToScaling(c, u);
3043
+ u = s.GetCurrentMxCAD().DocCoord2Cad(u), a.setToScaling(c, u);
2982
3044
  for (let m = 0; m < E.length; m++) {
2983
- let w = E[m].getMcDbObject();
2984
- !w || w.TransformBy(a);
3045
+ let g = E[m].getMcDbObject();
3046
+ !g || g.TransformBy(a);
2985
3047
  }
2986
3048
  }
2987
- async function NC() {
2988
- let E = new G();
2989
- E.setDisableOsnap(!0), E.setMessage("\u70B9\u53D6\u7F29\u653E\u533A\u57DF"), E.setDynamicInputType(dD.kDynTip);
3049
+ async function _C() {
3050
+ let E = new V();
3051
+ E.setDisableOsnap(!0), E.setMessage("\u70B9\u53D6\u7F29\u653E\u533A\u57DF"), E.setDynamicInputType(CD.kDynTip);
2990
3052
  let D = await E.go();
2991
3053
  if (D == null)
2992
3054
  return;
@@ -2996,86 +3058,151 @@ async function NC() {
2996
3058
  let C = await E.go();
2997
3059
  C != null && h.getCurrentDraw().zoomW(D.toVector3(), C.toVector3());
2998
3060
  }
2999
- async function _C() {
3000
- let E = n.GetCurrentDatabase().CurrentSpace().getBoundingBox();
3061
+ async function qC() {
3062
+ let E = s.GetCurrentDatabase().CurrentSpace().getBoundingBox();
3001
3063
  !E.ret || h.getCurrentDraw().zoomW(E.minPt.toVector3(), E.maxPt.toVector3());
3002
3064
  }
3003
- async function qC() {
3004
- const E = new ND();
3065
+ async function ZC() {
3066
+ const E = new nD();
3005
3067
  E.setMessage(`
3006
3068
  \u6307\u5B9A\u504F\u79FB\u8DDD\u79BB\u6216:`);
3007
3069
  let D = await E.go();
3008
3070
  if (D == null)
3009
3071
  return;
3010
- let C = new iD();
3072
+ let C = new Z();
3011
3073
  C.AddMcDbEntityTypes("LINE,CIRCLE,LWPOLYLINE,ARC");
3012
- let B = await U.selectEnt(`
3074
+ let B = await R.selectEnt(`
3013
3075
  \u9009\u62E9\u504F\u79FB\u5BF9\u8C61`, C, !1);
3014
3076
  if (B.length == 0)
3015
3077
  return;
3016
- const F = new G();
3078
+ const F = new V();
3017
3079
  F.setMessage(`
3018
3080
  \u6307\u5B9A\u8981\u504F\u79FB\u90A3\u4E00\u4FA7\u4E0A\u7684\u70B9:`), F.setDisableOsnap(!0);
3019
3081
  let A = await F.go();
3020
3082
  if (A == null)
3021
3083
  return;
3022
- let e = B[0].getMcDbCurve();
3023
- if (!e)
3084
+ let t = B[0].getMcDbCurve();
3085
+ if (!t)
3024
3086
  return;
3025
- let t = e.offsetCurves(D, A);
3026
- t.empty() || t.forEach((i) => {
3027
- n.GetCurrentMxCAD().DrawEntity(i);
3087
+ let e = t.offsetCurves(D, A);
3088
+ e.empty() || e.forEach((i) => {
3089
+ s.GetCurrentMxCAD().DrawEntity(i);
3028
3090
  });
3029
3091
  }
3030
- function ZC() {
3031
- n.GetCurrentMxCAD().getImp().regen();
3092
+ function $C() {
3093
+ s.GetCurrentMxCAD().getImp().regen();
3032
3094
  }
3033
- async function $C() {
3034
- let E = await U.userSelect("\u9009\u62E9\u955C\u50CF\u5BF9\u8C61");
3095
+ async function JC() {
3096
+ let E = await R.userSelect("\u9009\u62E9\u955C\u50CF\u5BF9\u8C61");
3035
3097
  if (E.length == 0) {
3036
3098
  h.acutPrintf(`
3037
3099
  \u6CA1\u6709\u80FD\u955C\u50CF\u7684\u5BF9\u8C61`);
3038
3100
  return;
3039
3101
  }
3040
- let D, C, B = X(E);
3102
+ let D, C, B = BD(E);
3041
3103
  B && (D = B.minPt, C = B.maxPt);
3042
- let F = new G();
3104
+ let F = new V();
3043
3105
  F.setMessage("\u6307\u5B9A\u57FA\u70B9");
3044
3106
  let A = await F.go();
3045
3107
  if (A == null)
3046
3108
  return;
3047
- F.setMessage("\u6307\u5B9A\u955C\u5411\u70B9"), F.setBasePt(A), F.setUseBasePt(!0), F.setUserDraw((t, i) => {
3109
+ F.setMessage("\u6307\u5B9A\u955C\u5411\u70B9"), F.setBasePt(A), F.setUseBasePt(!0), F.setUserDraw((e, i) => {
3048
3110
  if (D && C) {
3049
3111
  let r = new v();
3050
- r.setMirror(A, t);
3051
- let s = new o(D.x, C.y, 0), u = new o(C.x, D.y, 0), l = new o(s.x, u.y, 0), c = new o(u.x, s.y, 0);
3052
- s.transformBy(r), u.transformBy(r), l.transformBy(r), c.transformBy(r), i.drawLine(c.toVector3(), s.toVector3()), i.drawLine(s.toVector3(), l.toVector3()), i.drawLine(l.toVector3(), u.toVector3()), i.drawLine(u.toVector3(), c.toVector3());
3112
+ r.setMirror(A, e);
3113
+ let n = new o(D.x, C.y, 0), u = new o(C.x, D.y, 0), l = new o(n.x, u.y, 0), c = new o(u.x, n.y, 0);
3114
+ n.transformBy(r), u.transformBy(r), l.transformBy(r), c.transformBy(r), i.drawLine(c.toVector3(), n.toVector3()), i.drawLine(n.toVector3(), l.toVector3()), i.drawLine(l.toVector3(), u.toVector3()), i.drawLine(u.toVector3(), c.toVector3());
3053
3115
  }
3054
3116
  for (let r = 0; r < E.length && r < 10; r++) {
3055
- let s = E[r].clone();
3056
- !s || (s.Mirror(A, t), i.drawMcDbEntity(s));
3117
+ let n = E[r].clone();
3118
+ !n || (n.Mirror(A, e), i.drawMcDbEntity(n));
3057
3119
  }
3058
3120
  });
3059
- let e = await F.go();
3060
- if (!!e)
3061
- for (let t = 0; t < E.length; t++) {
3062
- let i = E[t].clone();
3063
- !i || (i.Mirror(A, e), n.GetCurrentMxCAD().DrawEntity(i));
3121
+ let t = await F.go();
3122
+ if (!!t)
3123
+ for (let e = 0; e < E.length; e++) {
3124
+ let i = E[e].clone();
3125
+ !i || (i.Mirror(A, t), s.GetCurrentMxCAD().DrawEntity(i));
3064
3126
  }
3065
3127
  }
3128
+ async function YC() {
3129
+ let E = new nD();
3130
+ E.setMessage("\u6307\u5B9A\u7B2C\u4E00\u4E2A\u5012\u89D2\u8DDD\u79BB");
3131
+ let D = await E.go();
3132
+ if (!D)
3133
+ return;
3134
+ E.setMessage("\u6307\u5B9A\u7B2C\u4E8C\u4E2A\u5012\u89D2\u8DDD\u79BB");
3135
+ let C = await E.go();
3136
+ if (!C)
3137
+ return;
3138
+ let B = new Z();
3139
+ B.AddMcDbEntityTypes("LINE,LWPOLYLINE");
3140
+ let F = new DD();
3141
+ F.setFilter(B), F.setMessage("\u9009\u62E9\u7B2C\u4E00\u6761\u76F4\u7EBF");
3142
+ let A = await F.go(), t = F.pickPoint();
3143
+ if (!A.isValid())
3144
+ return;
3145
+ A.getMcDbEntity()?.highlight(!0);
3146
+ let e = new DD();
3147
+ e.setFilter(B), e.setMessage("\u9009\u62E9\u7B2C\u4E8C\u6761\u76F4\u7EBF");
3148
+ let i = await e.go(), r = e.pickPoint();
3149
+ !i.isValid() || (A.getMcDbEntity()?.highlight(!1), R.MxCADAssist.MxChamfer(A.id, i.id, t.x, t.y, r.x, r.y, D, C, !0));
3150
+ }
3151
+ async function XC() {
3152
+ let E = new nD();
3153
+ E.setMessage("\u6307\u5B9A\u5012\u5706\u89D2\u534A\u5F84");
3154
+ let D = await E.go();
3155
+ if (!D)
3156
+ return;
3157
+ let C = new Z();
3158
+ C.AddMcDbEntityTypes("LINE,LWPOLYLINE");
3159
+ let B = new DD();
3160
+ B.setFilter(C), B.setMessage("\u9009\u62E9\u7B2C\u4E00\u6761\u76F4\u7EBF");
3161
+ let F = await B.go(), A = B.pickPoint();
3162
+ if (!F.isValid())
3163
+ return;
3164
+ F.getMcDbEntity()?.highlight(!0);
3165
+ let t = new DD();
3166
+ t.setFilter(C), t.setMessage("\u9009\u62E9\u7B2C\u4E8C\u6761\u76F4\u7EBF");
3167
+ let e = await t.go(), i = t.pickPoint();
3168
+ !e.isValid() || (F.getMcDbEntity()?.highlight(!1), R.MxCADAssist.MxFillet(F.id, e.id, A.x, A.y, i.x, i.y, D, !0));
3169
+ }
3170
+ async function QC() {
3171
+ let E = new Z();
3172
+ E.AddMcDbEntityTypes("LINE,LWPOLYLINE,ELLIPSE,ARC,CIRCLE,SPLINE,XLINE");
3173
+ let D = await R.userSelect("\u9009\u62E9\u5BF9\u8C61", E);
3174
+ if (D.length == 0)
3175
+ return;
3176
+ let C = new wD();
3177
+ C.copyFormAryId(D);
3178
+ let B = new s.mxcadassemblyimp.MxDrawTrimAssist();
3179
+ if (!!B.Init(C.imp)) {
3180
+ for (; ; ) {
3181
+ let F = new H();
3182
+ if (F.isWhileSelect = !1, F.isSelectHighlight = !1, !await F.userSelect("\u9009\u62E9\u526A\u5207\u5BF9\u8C61", E))
3183
+ break;
3184
+ let A = F.getIds();
3185
+ if (A.length == 0)
3186
+ continue;
3187
+ let t = F.getSelectPoint();
3188
+ C.copyFormAryId(A), B.DoTrim(C.imp, t.pt1.x, t.pt1.y, t.pt2.x, t.pt2.y);
3189
+ }
3190
+ B.UnInit();
3191
+ }
3192
+ }
3066
3193
  h.on("init", () => {
3067
- h.addCommand("Mx_Erase", BC), h.addCommand("Mx_Copy", WC), h.addCommand("Mx_Move", zC), h.addCommand("Mx_Rotate", KC), h.addCommand("Mx_Scale", HC), h.addCommand("Mx_WindowZoom", NC), h.addCommand("Mx_ZoomE", _C), h.addCommand("Mx_Offset", qC), h.addCommand("Mx_Regen", ZC), h.addCommand("Mx_Mirror", $C);
3194
+ h.addCommand("Mx_Erase", EC), h.addCommand("Mx_Copy", zC), h.addCommand("Mx_Move", HC), h.addCommand("Mx_Rotate", KC), h.addCommand("Mx_Scale", NC), h.addCommand("Mx_WindowZoom", _C), h.addCommand("Mx_ZoomE", qC), h.addCommand("Mx_Offset", ZC), h.addCommand("Mx_Regen", $C), h.addCommand("Mx_Mirror", JC), h.addCommand("Mx_Chamfer", YC), h.addCommand("Mx_Fillet", XC), h.addCommand("Mx_Trim", QC);
3068
3195
  });
3069
- const JC = async (E, D, C) => {
3196
+ const D9 = async (E, D, C) => {
3070
3197
  const { locateFile: B } = C, F = B(E + ".js");
3071
- return await ZD(F), await globalThis[D](C);
3198
+ return await $D(F), await globalThis[D](C);
3072
3199
  };
3073
- function YC(E) {
3200
+ function C9(E) {
3074
3201
  return typeof ResizeObserver == "function" ? new ResizeObserver(E) : null;
3075
3202
  }
3076
- function QC(E, D) {
3203
+ function B9(E, D) {
3077
3204
  const C = () => requestAnimationFrame(D);
3078
- let B = YC(C);
3205
+ let B = C9(C);
3079
3206
  if (B) {
3080
3207
  B.observe(E);
3081
3208
  return;
@@ -3085,7 +3212,7 @@ function QC(E, D) {
3085
3212
  return;
3086
3213
  }
3087
3214
  }
3088
- function XC(E, D) {
3215
+ function E9(E, D) {
3089
3216
  let C = null;
3090
3217
  return function(...B) {
3091
3218
  C || (C = setTimeout(() => {
@@ -3093,34 +3220,34 @@ function XC(E, D) {
3093
3220
  }, D));
3094
3221
  };
3095
3222
  }
3096
- class J {
3223
+ class Y {
3097
3224
  static onloadWasmMxDraw3dModel;
3098
3225
  canvas;
3099
3226
  constructor(D) {
3100
3227
  const C = () => {
3101
3228
  const u = this.canvas.parentElement?.clientWidth || window.innerWidth, l = this.canvas.parentElement?.clientHeight || window.innerHeight;
3102
3229
  let c = Math.min(u, window.screen.availWidth), a = Math.min(l, window.screen.availHeight);
3103
- c = Math.max(A, c), a = Math.max(e, a), this.canvas.style.width = c + 1 + "px", this.canvas.style.height = a + "px";
3230
+ c = Math.max(A, c), a = Math.max(t, a), this.canvas.style.width = c + 1 + "px", this.canvas.style.height = a + "px";
3104
3231
  const m = window.devicePixelRatio || 1;
3105
3232
  this.canvas.width = c * m, this.canvas.height = a * m;
3106
- }, B = XC(C, 50), {
3233
+ }, B = E9(C, 50), {
3107
3234
  canvas: F,
3108
3235
  minWidth: A = 300,
3109
- minHeight: e = 300,
3110
- updateCanvasSize: t = B,
3236
+ minHeight: t = 300,
3237
+ updateCanvasSize: e = B,
3111
3238
  ...i
3112
3239
  } = D;
3113
- let r = typeof F == "string" ? document.querySelectorAll(F)[0] : F, s = r.getContext("webgl2", { alpha: !1, depth: !0, antialias: !1, preserveDrawingBuffer: !0 });
3114
- s == null && (s = r.getContext("webgl", { alpha: !1, depth: !0, antialias: !1, preserveDrawingBuffer: !0 })), this.canvas = r, this.ctx = s, i.canvas = this.canvas;
3240
+ let r = typeof F == "string" ? document.querySelectorAll(F)[0] : F, n = r.getContext("webgl2", { alpha: !1, depth: !0, antialias: !1, preserveDrawingBuffer: !0 });
3241
+ n == null && (n = r.getContext("webgl", { alpha: !1, depth: !0, antialias: !1, preserveDrawingBuffer: !0 })), this.canvas = r, this.ctx = n, i.canvas = this.canvas;
3115
3242
  for (let u in i)
3116
3243
  this[u] = i[u];
3117
3244
  if (this.canvas instanceof HTMLCanvasElement) {
3118
3245
  const u = this.canvas.parentElement || document.body;
3119
- QC(u, t);
3246
+ B9(u, e);
3120
3247
  } else
3121
3248
  console.error("createMxDraw3d canvas \u53C2\u6570\u4E0D\u6B63\u786E \u65E0\u6CD5\u83B7\u53D6\u5230canvas\u5143\u7D20");
3122
- window.onresize = C, C(), JC("mxdraw3d_min", "mxdraw3d", this).then(() => {
3123
- J.onloadWasmMxDraw3dModel && J.onloadWasmMxDraw3dModel(this), this.updateCanvasSize = t, this.open3DFile = (u) => {
3249
+ window.onresize = C, C(), D9("mxdraw3d_min", "mxdraw3d", this).then(() => {
3250
+ Y.onloadWasmMxDraw3dModel && Y.onloadWasmMxDraw3dModel(this), this.updateCanvasSize = e, this.open3DFile = (u) => {
3124
3251
  const l = new FileReader();
3125
3252
  l.onload = () => {
3126
3253
  if (!!l.result && l.result instanceof ArrayBuffer) {
@@ -3133,12 +3260,12 @@ class J {
3133
3260
  });
3134
3261
  }
3135
3262
  }
3136
- function D9(E, D) {
3263
+ function F9(E, D) {
3137
3264
  return new Promise(async (C, B) => {
3138
3265
  try {
3139
- E.locateFile || (E.locateFile = PC);
3140
- const F = new J(E);
3141
- J.onloadWasmMxDraw3dModel = () => {
3266
+ E.locateFile || (E.locateFile = TC);
3267
+ const F = new Y(E);
3268
+ Y.onloadWasmMxDraw3dModel = () => {
3142
3269
  C(F), D && D(F);
3143
3270
  };
3144
3271
  } catch (F) {
@@ -3146,157 +3273,159 @@ function D9(E, D) {
3146
3273
  }
3147
3274
  });
3148
3275
  }
3149
- const B9 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3276
+ const t9 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3150
3277
  __proto__: null,
3151
- b64Encode: kD,
3152
- b64Decode: RD,
3153
- saveAsFileDialog: OD,
3154
- downloadFile: LD,
3155
- downloadFileFromUrl: vD,
3278
+ b64Encode: OD,
3279
+ b64Decode: SD,
3280
+ saveAsFileDialog: vD,
3281
+ downloadFile: ID,
3282
+ downloadFileFromUrl: jD,
3156
3283
  MxTools: Q,
3157
3284
  McGePoint3d: o,
3158
3285
  McGeVector3d: y,
3159
3286
  McGeMatrix3d: v,
3160
- McGeLongArray: SD,
3161
- McGeStringArray: ID,
3162
- McGePoint3dArray: mC,
3163
- getFilterImp: K,
3164
- MxCADResbuf: iD,
3165
- MxCADUtilityClass: KD,
3166
- MxCADUtility: U,
3167
- MxCADSelectionSetStatus: HD,
3168
- MxCADSelectionSet: _,
3169
- MxCADUiPrBase: q,
3170
- MxCADUiPrPoint: G,
3171
- MxCADUiPrDist: ND,
3172
- MxCADUiPrAngle: yC,
3287
+ McGeLongArray: wD,
3288
+ McGeStringArray: GD,
3289
+ McGePoint3dArray: pC,
3290
+ getFilterImp: N,
3291
+ MxCADResbuf: Z,
3292
+ MxCADUtilityClass: ND,
3293
+ MxCADUtility: R,
3294
+ MxCADSelectionSetStatus: _D,
3295
+ MxCADSelectionSet: H,
3296
+ MxCADUiPrBase: K,
3297
+ MxCADUiPrPoint: V,
3298
+ MxCADUiPrDist: nD,
3299
+ MxCADUiPrAngle: gC,
3173
3300
  MxCADUiPrInt: wC,
3174
- MxCADUiPrKeyWord: gC,
3175
- MxCADUiPrString: fC,
3176
- McRxObject: H,
3177
- McObjectIdType: k,
3178
- McObjectId: R,
3179
- McDbObject: j,
3180
- McDbObjectArray: aD,
3301
+ MxCADUiPrKeyWord: fC,
3302
+ MxCADUiPrString: xC,
3303
+ MxCADUiPrEntity: DD,
3304
+ McRxObject: _,
3305
+ McObjectIdType: L,
3306
+ McObjectId: k,
3307
+ McDbObject: G,
3308
+ McDbObjectArray: cD,
3181
3309
  get McDb() {
3182
- return uD;
3310
+ return mD;
3183
3311
  },
3184
- McCmColor: N,
3185
- McDbLayerTableRecord: hC,
3186
- McDbLayerTable: jD,
3187
- McDbLinetypeTable: GD,
3188
- McDbTextStyleTable: VD,
3189
- McDbDatabase: hD,
3190
- McDbBlockTableRecordIterator: UD,
3191
- McDbBlockTableRecord: eD,
3192
- McDbBlockTableIterator: WD,
3193
- McDbBlockTable: zD,
3194
- McDbEntity: V,
3312
+ McCmColor: q,
3313
+ McDbLayerTableRecord: yC,
3314
+ McDbLayerTable: VD,
3315
+ McDbLinetypeTable: WD,
3316
+ McDbTextStyleTable: UD,
3317
+ McDbDatabase: fD,
3318
+ McDbBlockTableRecordIterator: zD,
3319
+ McDbBlockTableRecord: rD,
3320
+ McDbBlockTableIterator: HD,
3321
+ McDbBlockTable: KD,
3322
+ McDbEntity: W,
3195
3323
  McDbCurve: z,
3196
- McDbLine: BD,
3197
- McDbText: lD,
3198
- McDbMText: ED,
3199
- McDbCircle: W,
3200
- McDbPolyline: FD,
3201
- McDbBlockReference: cD,
3202
- McDbDimension: yD,
3203
- McDbAlignedDimension: mD,
3204
- McDbRotatedDimension: pD,
3205
- McDbArc: AD,
3206
- McDbEllipse: tD,
3207
- McDbPoint: wD,
3208
- McObject: $,
3209
- McAppType: _D,
3210
- MxCppType: qD,
3324
+ McDbLine: AD,
3325
+ McDbText: pD,
3326
+ McDbMText: tD,
3327
+ McDbCircle: U,
3328
+ McDbPolyline: eD,
3329
+ McDbBlockReference: dD,
3330
+ McDbDimension: xD,
3331
+ McDbAlignedDimension: hD,
3332
+ McDbRotatedDimension: yD,
3333
+ McDbArc: iD,
3334
+ McDbEllipse: sD,
3335
+ McDbPoint: bD,
3336
+ McObject: J,
3337
+ McAppType: qD,
3338
+ MxCppType: ZD,
3211
3339
  get MxCpp() {
3212
- return n;
3340
+ return s;
3213
3341
  },
3214
- loadMxCADassembly: $D,
3342
+ loadMxCADassembly: JD,
3215
3343
  createMxCad: OC,
3216
- drawText: LC,
3217
- drawCircle: JD,
3218
- drawLine: YD,
3219
- drawMText: IC,
3344
+ drawText: SC,
3345
+ drawCircle: YD,
3346
+ drawLine: XD,
3347
+ drawMText: jC,
3220
3348
  drawPolyLine: QD,
3221
- drawPolygon: XD,
3222
- drawArc: DC,
3223
- drawEllipticalArc: CC,
3224
- Mx_Erase: BC,
3225
- MxDraw3d: J,
3226
- loadMxCADassembly3d: D9
3349
+ drawPolygon: DC,
3350
+ drawArc: CC,
3351
+ drawEllipticalArc: BC,
3352
+ Mx_Erase: EC,
3353
+ MxDraw3d: Y,
3354
+ loadMxCADassembly3d: F9
3227
3355
  }, Symbol.toStringTag, { value: "Module" }));
3228
3356
  export {
3229
- _D as McAppType,
3230
- N as McCmColor,
3231
- uD as McDb,
3232
- mD as McDbAlignedDimension,
3233
- AD as McDbArc,
3234
- cD as McDbBlockReference,
3235
- zD as McDbBlockTable,
3236
- WD as McDbBlockTableIterator,
3237
- eD as McDbBlockTableRecord,
3238
- UD as McDbBlockTableRecordIterator,
3239
- W as McDbCircle,
3357
+ qD as McAppType,
3358
+ q as McCmColor,
3359
+ mD as McDb,
3360
+ hD as McDbAlignedDimension,
3361
+ iD as McDbArc,
3362
+ dD as McDbBlockReference,
3363
+ KD as McDbBlockTable,
3364
+ HD as McDbBlockTableIterator,
3365
+ rD as McDbBlockTableRecord,
3366
+ zD as McDbBlockTableRecordIterator,
3367
+ U as McDbCircle,
3240
3368
  z as McDbCurve,
3241
- hD as McDbDatabase,
3242
- yD as McDbDimension,
3243
- tD as McDbEllipse,
3244
- V as McDbEntity,
3245
- jD as McDbLayerTable,
3246
- hC as McDbLayerTableRecord,
3247
- BD as McDbLine,
3248
- GD as McDbLinetypeTable,
3249
- ED as McDbMText,
3250
- j as McDbObject,
3251
- aD as McDbObjectArray,
3252
- wD as McDbPoint,
3253
- FD as McDbPolyline,
3254
- pD as McDbRotatedDimension,
3255
- lD as McDbText,
3256
- VD as McDbTextStyleTable,
3257
- SD as McGeLongArray,
3369
+ fD as McDbDatabase,
3370
+ xD as McDbDimension,
3371
+ sD as McDbEllipse,
3372
+ W as McDbEntity,
3373
+ VD as McDbLayerTable,
3374
+ yC as McDbLayerTableRecord,
3375
+ AD as McDbLine,
3376
+ WD as McDbLinetypeTable,
3377
+ tD as McDbMText,
3378
+ G as McDbObject,
3379
+ cD as McDbObjectArray,
3380
+ bD as McDbPoint,
3381
+ eD as McDbPolyline,
3382
+ yD as McDbRotatedDimension,
3383
+ pD as McDbText,
3384
+ UD as McDbTextStyleTable,
3385
+ wD as McGeLongArray,
3258
3386
  v as McGeMatrix3d,
3259
3387
  o as McGePoint3d,
3260
- mC as McGePoint3dArray,
3261
- ID as McGeStringArray,
3388
+ pC as McGePoint3dArray,
3389
+ GD as McGeStringArray,
3262
3390
  y as McGeVector3d,
3263
- $ as McObject,
3264
- R as McObjectId,
3265
- k as McObjectIdType,
3266
- H as McRxObject,
3267
- iD as MxCADResbuf,
3268
- _ as MxCADSelectionSet,
3269
- HD as MxCADSelectionSetStatus,
3270
- yC as MxCADUiPrAngle,
3271
- q as MxCADUiPrBase,
3272
- ND as MxCADUiPrDist,
3391
+ J as McObject,
3392
+ k as McObjectId,
3393
+ L as McObjectIdType,
3394
+ _ as McRxObject,
3395
+ Z as MxCADResbuf,
3396
+ H as MxCADSelectionSet,
3397
+ _D as MxCADSelectionSetStatus,
3398
+ gC as MxCADUiPrAngle,
3399
+ K as MxCADUiPrBase,
3400
+ nD as MxCADUiPrDist,
3401
+ DD as MxCADUiPrEntity,
3273
3402
  wC as MxCADUiPrInt,
3274
- gC as MxCADUiPrKeyWord,
3275
- G as MxCADUiPrPoint,
3276
- fC as MxCADUiPrString,
3277
- U as MxCADUtility,
3278
- KD as MxCADUtilityClass,
3279
- n as MxCpp,
3280
- qD as MxCppType,
3281
- J as MxDraw3d,
3403
+ fC as MxCADUiPrKeyWord,
3404
+ V as MxCADUiPrPoint,
3405
+ xC as MxCADUiPrString,
3406
+ R as MxCADUtility,
3407
+ ND as MxCADUtilityClass,
3408
+ s as MxCpp,
3409
+ ZD as MxCppType,
3410
+ Y as MxDraw3d,
3282
3411
  Q as MxTools,
3283
- BC as Mx_Erase,
3284
- RD as b64Decode,
3285
- kD as b64Encode,
3412
+ EC as Mx_Erase,
3413
+ SD as b64Decode,
3414
+ OD as b64Encode,
3286
3415
  OC as createMxCad,
3287
- B9 as default,
3288
- LD as downloadFile,
3289
- vD as downloadFileFromUrl,
3290
- DC as drawArc,
3291
- JD as drawCircle,
3292
- CC as drawEllipticalArc,
3293
- YD as drawLine,
3294
- IC as drawMText,
3416
+ t9 as default,
3417
+ ID as downloadFile,
3418
+ jD as downloadFileFromUrl,
3419
+ CC as drawArc,
3420
+ YD as drawCircle,
3421
+ BC as drawEllipticalArc,
3422
+ XD as drawLine,
3423
+ jC as drawMText,
3295
3424
  QD as drawPolyLine,
3296
- XD as drawPolygon,
3297
- LC as drawText,
3298
- K as getFilterImp,
3299
- $D as loadMxCADassembly,
3300
- D9 as loadMxCADassembly3d,
3301
- OD as saveAsFileDialog
3425
+ DC as drawPolygon,
3426
+ SC as drawText,
3427
+ N as getFilterImp,
3428
+ JD as loadMxCADassembly,
3429
+ F9 as loadMxCADassembly3d,
3430
+ vD as saveAsFileDialog
3302
3431
  };