Changeset 186


Ignore:
Timestamp:
Jan 14, 2025, 11:42:22 AM (9 days ago)
Author:
chronos
Message:

Merged revision(s) 180-185 from trunk:

  • Added: Ruby target.
  • Added: Lua target.
  • Modified: Renamed Target directory to Targets.
  • Modified: Improved flatpak packaging files.
  • Fixed: Data directories detection on Linux.
  • Fixed: Copy examples in flatpak.
Location:
tags/1.3.0
Files:
3 deleted
9 edited
4 copied

Legend:

Unmodified
Added
Removed
  • tags/1.3.0

  • tags/1.3.0/Core.lfm

    r179 r186  
    544544  end
    545545  object Translator: TTranslator
    546     POFilesFolder = 'Languages'
     546    POFilesFolder = 'Languages;Packages/Common/Languages'
    547547    OnTranslate = TranslatorTranslate
    548548    Left = 108
     
    564564    Top = 24
    565565    Bitmap = {
    566       4C7A2100000010000000100000007E1C00000000000078DAED9D075C9447FAC7
    567       B9E47F77897749CEC45C8A7A3131D1688C898A623B831D5139A3891A1323F6DE
    568       4510154456B162C30228C58205452C68D42060C1861A1116902A1DA4EFC22EB0
    569       F0FBCF0CEF8B2F2FEF368831C9C7F1F3F37DDF99F9CEF3CC33F3F6DDC5C4E457
    570       4968A09EF23219CBD397F83A8DE11B6B9FAFFBA7E39FE66B57DD7AF57943D550
    571       FB0DF4BFB1FD7FC6BC4923F79FDF5742237D03F7AFB17C43DB80E85F637963DB
    572       80967F8DE50D6DE359D87F5EF17F5EF3EF0F920E2CB700D57EFBC1D8BF6C107C
    573       ED06C2C776007C96F687B74D3F782DE90BAFC5E6D8B7E82BEC5DD8077B17FC17
    574       9EF37BC3635E2F78CCEDC9D8CBFB1D71D9D701C1BE2B11ECB302C1DE2BF0B3F7
    575       725CF2B2C7A57D54CB7071AF1D2E781279D8E2278FA5F8C9DD06EE737A30BB7C
    576       AAAEAE66AAAAAA22D240A3A984A6B212959515A8AC28470555B91AE5E52A94AB
    577       55D833DB0CBEC4679A5C5C5C307EFC78F8F8F8A04AA383259C9A4A5586DDB3BA
    578       91FE0E6036274C98003737378C1A358AB1CB972FC7B265CB60636383458B1661
    579       DEBC7998356B26A64D9B8649932641A52AC5AE995D599CAA89BF9B366DC2C891
    580       2371F0E0C11A9B444FFDE5ED9631BB94559529B16BBA298B714D5F6B7CAEF157
    581       075B56C396952AB1735A17363E940D0A0A828C9C572E0707D78B530D5B2A6015
    582       4C6E533B611F195B1A272727275CBB760D5BB66C61ECF2E5F65CFF9760D1C285
    583       983B772E66CEA4FD9F4AFA3F11A5CA12EC98F22599177D98CFDEDE5E70747444
    584       40C0893A31567176CB38BBA54A0563958A626C9FF4059B4F35FE960BFA2A624B
    585       EBB34A4511B64FECC8E622F5F7F2E5606CDFBE1D3FFF7CA94E8C9FB2254FD992
    586       222888B6597FCEE631B5BB62C50AD67F3A8FA84D7B7B7BD8D9D961C9922558B8
    587       7001E9FF1CD2FF19983A752A264E9C8892E2426C9DF019DCC93E407DDEB9D38D
    588       B19E1E1E7562FCD4DF6266535152C8D892E2026CF9B13DD907BA337FD5E238E9
    589       628B0A505C940FD7F1EDD83E40E7319D8B743ED139E136B5331B5B3A3E34C634
    590       4EB4AF5BAD3B309FB78C6F0FD71FDA61F3F79FE2995F0934EC3A8571AB4C5631
    591       19D1461D4E283D6D68E50C6803A1A1A17A591D6DB0FC46B4519BDFC036EAE41B
    592       DA86F03A545CA6AB8D5A66D52AC93E686B43C8D124E2B5B621E4E8364DC27C5D
    593       6D08ED19C0D66B83BFEEE75923F6873AF61BB81FFD66F709EFBE1B0A2A2E3646
    594       D76DD5EA2684D2D68EAEF2366DEE4128711D6DF9E2D4AEDD03F0E2EB0AD70D49
    595       1D3A44412C63789ABEF82206BC8C653B777E04B10C6DA36BD744F0E219F1B6B6
    596       D4BD7B0A7889EB6ACBE753CF9EA9E0A5AB4E637843DA3036D60D49BF959DDFF4
    597       8EBF71CF29B43EBB3298D7F2FC4B8A97493D7B113CBFD1C55356272F6A43C8F3
    598       AC5086F252AC317C63ED1BDC7FA9E75DC6C45F8F7DAD73AFFEB34563E7A3B667
    599       93C6ED078DE31B73CD2C6EE3B9A4EBB201B8E2DC0FB17BE742BE6B06A2DC26B3
    600       E5E965BD71CAAE1774B3FD90B0DF168A4737A05115D307024C1A653E8AE5A1B8
    601       B1633CFCE677916CE39AAC3F322EB8B3BA959161A838E2822A9731A8927D03F5
    602       A1D550DD23F7C5C559883C6C8F03B3DAA32E3B90D9A56C45881F60DF1FB8E405
    603       942998FDEAFC0C54B82F80E2DC5EA88B327169E368EC99D2A6B68D6BCE7D51F4
    604       E82A2A1E90EBBC65E6C09E7935BEDF3A8DAA6D5350117E12D5A5C528B5FD2FF2
    605       AF9F46FA9D33D83AFEC35AFE81F330D6DF0AE22716F704645640C00654CFF91C
    606       AAE96D51BC7D066B2FC7F91BC4ACB186BA380F4EDF7E50CBDFA5F5699C9C8601
    607       0B3A01B33BA06AE6A7504F6D0DE5F6A9A822B69551D7113EE25D5CFCAE2DA95A
    608       0567CB164F79A7C18C57DB0F42F98C76289BFA098AAD5BA178ED28965F147204
    609       D7C77D8C73C3DEC6F9311F33DED1E2FDA7BCE34016BBBCDD8B906DFD2152C6B5
    610       44FCD8F7907F6C3DE36F5ABD890BC39AE2CCB0B77063F9289415E59110BF57CB
    611       9F5DD61385F230169BC471EF237AF43B881CF51662570E479ADF5A5CA2ACE59B
    612       3867F92F245DF043C2AD9F30BAF76BB5FC395B53C8DD67A3BC280B8907D7E1C6
    613       88B7106AD514097EEB98FDA0214D191BEDB51A8ABC2C782C1E8921A6AFD59903
    614       A7177C8678FF5550176621F5921F221C46236C6C6B848EF908B71C4723E9E261
    615       943CC9C2991D4B61D1E915C939E83BB30342D78D45CAADB3509131AAAED23095
    616       92FE529FBDECC660B016964FDBA6B4C31A12EB7523DEC66ACB967018FC1E960D
    617       7807637BBF5ECFE73FE8F541638F65F8158E71F5DFDF1879AD52C70FFE5C55FF
    618       FDA241E71D9ED5B9D475DED2C7EAE1B5D4355C62D6B8F77F8D616BFBDF4056FA
    619       FAC170D6D8F7762FD2334C5DDCA7D5C6785A843B4CDCBBD44A58A635F1F5049C
    620       90D7DB8688613E88FC11E6E9E2A56CD5F6C940FB06F5F9B71813713C75F82F15
    621       9F7A6D6849523116CF039DF6395BBAE6803E5ECA5FA13FBF8731794ECF00F4DE
    622       C719F8B99D06F3C1C1C17ACF83067E6E083A79BA2E9461CF34606832DABEC88F
    623       17F69FB1FD06F22FAE257E178731E8D60BFECFCDBF48CF2B256DB50D79B46101
    624       629DA7237AC544E8CB17A7B8B573429E04EE43D1257F442E19037DF9E244DA0E
    625       C93EBC03F9E70EE0EE8C21D0972F4EA4ED900CDF8D7872D203B77EEC037DF9E2
    626       44DA0E79BCC709D4D6B56F3A435FBE38DD9C353C24EBD056505B21966DA12F5F
    627       9C2E7CD33524D55D86548F3508326F097DF9E244DA0E8D5B331BC93B1D70ACE7
    628       BBD0972F4EA4ED103ABE64BCE16EDA0CFAF2C589B41DF2D0662C12362EC4860E
    629       6F405F7EBDDB0FD36621F7E78FC0A37573E1D8F61FD0972F4EA4ED1059FBD7B1
    630       A2CD3F60FF4913E8CBFF7D9CEDF0BB9089C941223FA2A3ADC88839109D26BAC9
    631       2D1D6AF2FD583D1D7CDF264D02C2BEFA2A3ACBDA3A5F3D6B96A2DADA3A4FDDA7
    632       4F5456932627C268B976FE40AB264DFCC3BEFD364D316E5C2A468F4EAAD577DF
    633       3DC68811498A575F3D1646EB49F35E0E3D7A44645A5A4662E0C0BBF56461F10B
    634       3A75BA9A49EB49F31EA72D2DA3D4666621A0EAD4E922DAB60D448B167EF8F7BF
    635       7DF0E69B7BD1BA75809AD693E677DE2436AA3B76FC092D5B9E20F50FA169D383
    636       75D4BCF9896A5A4F9ADF72DAD4F4AABA59B3D3A4EE2949356B16A8A6F5A4F9F5
    637       0EEFBE7B32B359B330523744524D9AF865D27AD2BCACD5CB2FAF0F7BFBED10C5
    638       9B6FDE25F523EAE8F5D77F56BCF4D2BA305A4F9A7722B2EBFBD24B2BC39A3439
    639       92F5C61BB7D54D9B4657D325DDA6F9B49CD6D3CEDB104D21F3CC9ACC376B32EF
    640       AC6F724B879A7C1B136DFC0BFDB145D264A2F3826DFE3E4B2A6FA3883517D615
    641       B64597DC36D546A2565CDD565C792B295B82B6374AD8A3FF990BF8F35C3D29BE
    642       8EBF62FB223BE725F26A6D896DEBE2C53191F069B21E1E527E4AF549CC73B1AE
    643       63831F1341FF27EBE0378AEEB5370AC652B24F2FA45D313131C32222227CC4A2
    644       F986F0B4AED433109ACF8DCB2B447FD367FFF2E5CBD194A34BA17D923E25B335
    645       DEA4A3C9325DEDF07EF0760573E7539339C4A715445F9B3C34E9646227D58E5E
    646       7E15A7954423593BB6C2760CE685ED8C3289E4DBF9CDF886FADF98F8356EFC1A
    647       357F1A3B7F9FF5FEF3C738FFFA0F23D7F90F882052A8613C658F746FB8FD6368
    648       9CFF75797DCF6F9FB57D7D7E3C03FB2CFE641CC94D9AFFF764FB6FC6D9AF37FE
    649       F144CD1B308F1A64FF195C4F1A35FE2FF4FB8C5F23E66F6843F69FE7B8FF3EEF
    650       E3C7F33E7ED68BBFF858D2C0F3D7AF762C7B71FE7E71FE7D61FFC5F1E3D73C7E
    651       FC469F0532FEB343BA3F8B5AEF3B1732E16734851CB7CE97CB243E3F2A93CEAF
    652       E7A34CC76FD7C80CF8DE894C877D611FF42DB5DA172EB57C5F4826F1D967293B
    653       322D9F6791F8FE8F56FBDA787E69887DD13E2BDD1723EC8B7D31C6BE942FDAE6
    654       AF11F62593AEF193F8FED69FF5B38346BCC634FAF3827A7963BE7F28B4C9AF1B
    655       31663AF7153DFB5F3DFBBAE6A0C4FEA7D7BE9EFDCF28FB5AE6BF41F68DD9FF8C
    656       B4AF751F34D0BE4EBE31F69FF5FEFFACEE99756DFF11789E69E8F30621DFD8E7
    657       0EBFD63818A355B5BFEDD1B036786E15D786A1ED88EB0B397D6D48D57DDEBCB0
    658       4FC6F4FFB7BA6F0FA5BF8BF227534C4C4CAD1ACAD3B96F282FB627E4856D48F9
    659       C5D7E5C5971B9A27B6C5AF1B9AF77BE1A5FA2AC5EBEBBF30AEE2B86BAB67C858
    660       6BAB67E85C6BEC9C7C56121F0F3E6E91FA1FA27944278942387913FDA8EF58F2
    661       59EB34A70E1FA7812C316C503636AF2FC2C4EF73F169AB9ABCCF3F494BEED42E
    662       BD9F14DBFEA3B4102252371593C7E7E25E4439BB46CACAD460856D013E6F9386
    663       B61FA482D6E9D8366D92902536B7D1FC2E9FA5C37D67314A95D5A8ACAC465959
    664       35D4EA6A6834C0B933A5E8DF3B13A41FAC8D2F3FADF1836C77A43EB7F94F2A2B
    665       D3275AEF9396A9B43FC91CEFDDEEC33456F62457A3F79E8FF2AD9BA792BEA4D1
    666       6547C2DD6FDBAAA6EDDE5D335058508529139EE0BFDDC87A6115ABBB755311A2
    667       22CBD93A2F5A9F2C1DE892C6852E077E95C9F8B933F260D1378BF134EEBB7714
    668       431E555187E7C4F8361FD46C0FEC6308FF58280792974CFB347C4639663A5542
    669       A104D6ECD1609A43CDBAD5AC0A1C09AA42626A355BA7EAF7AD42C87BD3580C99
    670       A8C2FD183A6E407A763512526BD6E589D5C82BAA4645057037BAA68D3EC38B89
    671       CF8CEF486348C7B3D7E042FCB0B402BB0E6BB0FF9406074E6BB0F7B80687CE68
    672       E01BA881D7090D6C375532BE93690EE9576A729DF9F371065233AB91995B8D8C
    673       1C69653FA986F9D7256C8E9A7DF9741E131F5E2771BADFA15D06FA8E52D4F653
    674       A8E1332B988FED5AD3795A77FEF2FABC4DEA36E217BEEC9C855E1685E83F5A89
    675       BE234BD0630099FF9F65A0C3C7A9C95D3BA67DA36B1F1C3124AB8DE9E7694B3E
    676       6EF13884C487E993968FBD89BF530CBE2EB8025C27727672C641DF836C9D8AAE
    677       D33C43D8DABAC252419BBA582ABE2E9509277EDB1096E69A98F7AD61E939835B
    678       822F17B110B257B87B3E9E178AE611D56943645B2B2B90D13CDF07312FF09D97
    679       946D983C6DF7BAA8AF62BEB61D419FF9685D17C75907AF4F523C7F7E37645B18
    680       03BEECBAA82D5DDBDA78F1522B2F317E86FA2F35078D8A9B9E7D4067BC054C4E
    681       6A1C1E5E3B839B41DE46893294FD252C10498FA2515A5A0A954A2529A5525967
    682       9BD6A50C65438EEF427E7E3EFB0DDB9ADFFD7D2A9A47D96B7145E4F85F51279F
    683       3294BD78782BF2F2F2C8B9A2B28E687D8542814D97F2D1C3358FD914965386B2
    684       41BEEB9193938372F6FBB34F55545484F53FE5A2ED9A27E43C58888B0F9EB036
    685       F872CA50F6A4E76A646565916B8DB25A51BB6EC1D968EE98C3CA569FCD465B59
    686       2ECBE7EBD07CCA1E715B81F4F47456C68BDA6EB63CA776C9AF53F1752843D9FD
    687       9B6DF0F8F1E3DA722ADA37D30D392CFFB5A5D96C9B2A2D2D0D99999928282860
    688       6594F574998BA4A424164FDAA7C4C444269AF7C9EA743805A6B075CA1EDA6A8B
    689       00AFF5484D4D4542420263DD9CA6B2F5DCDC5CD6B6DBF271D8EDF023F6AD9D89
    690       9D2B7E60DB74FDE271CFDAF2935EEB101B1BCB5857FB1F111717C7E2416D50DD
    691       BE721EB7AE9C630A0F0EC40DA2C4F858C6EC76B426FC7A44474733D665F118C8
    692       E572160FAA94941478CA666087FD7744E3D8926ED3FC5D0E1310B0CF85AD4745
    693       4531D669EE08C4C7C733FBC9C9C9AC2FD41F6DCAC8C860752943D995D387302E
    694       3B3B1B372EF9E3AC8F0BFC36CFD72A1A273A1694A1ECBA25DF2128F018E369BB
    695       8688B64119CA86079F32D9B2722A168FEF63942843D9F65DDF7FEE92071D8250
    696       E127F44BC8D64BE418534F85597534D9B21384BC7CAF0C723719C2DD1643BE89
    697       6A32C26544CB47227C713F84CFAE917C793F499E724892D7481E0EDC0BAA51F8
    698       A11A05B911C990A58F17FA598775836AEFE27A3C8D05ED1FE3A95DDEB680551D
    699       923196F18BF5F042FB59F2A77D22CA2231613CC997E4A5EC72B6192BE3F8241D
    700       BC845DBE5F7232163A79625725EE2F6797B2F2C55A7862938E7D96C0DF3A3ECB
    701       0827EBC7624FD7A578AD12F78513CF53D17563F56BED7BE274DABEFBDBA7ECBB
    702       0704D899651DB735AB3AB6D44C737489D9E3438BCD3C0FDB98FD9FBEF709842D
    703       3CB9ACFB7727ECCC4E1316479698E110D1C14566D8BFD0ACC473BE994EFEA49D
    704       5935B1BB94B0D7452CBC1710CD377B5964AF0E4FEC1EF55F6A76E2A88DD909BF
    705       25662785ECBE79A4BD491FBEBC53F0B907CF29DD691BAEC4AE86D8D5105673C4
    706       C64C43580D613542D6736E370C8DD1045BC40083A29138E0215E21EC6AC282B0
    707       E0FBEB27F29967F7CCE98621D19A53840561D12F1247499CE30D6577CDEA964F
    708       D8088E85F92FA0762B456CD5FE05DDB2BDE777CDF49ADB3573EF1CD34CF7D9A6
    709       99BB679A86B7D5A0C980286878B6CF3D50BB9542BBEBB72D7EFB7FC908189E08
    710       F5D078A886C4413538062AE673D453BB94ED1D016A3781670FCEEB146295824B
    711       5689C0B078C0320E60B1924BB33DEF00645EB9F2FD3D30BBE399E14950E965EF
    712       D6B0DD6F61131D43DF8566713456BE333B9E1B9A009581ACBFC93598F82E3033
    713       593BCFCCC46B7ECDDC266CB9456C2D5B45D8EB84BD41D81B84BDD52B022F13F6
    714       2FB46EAF5BF55FBF11B6BC9EDDFBC826EC506AB7C76DBCAC6BFE13F6BA88A53E
    715       A710B62FB14BFD7E491B4BC6CA84B07F25EC06F307B52CDFDF0B44CD0C7D2F58
    716       A02A783FFAAE7CBAFCAE7C5AA1AAE03D8339E4FD333B2D67FC2F67222302979F
    717       AD0E5C71B6FA97B3917772D272BECF47DE3FB47129487C39EF495EDFD82B7167
    718       CEBB5C2CF718ED8D1D967B983CC7F8E0FCBA8BE5B1571E9D22D74EE68988AB13
    719       C3EC9CAC16C9F753DC42775F2DF0B13E04B761EEF0FEF1004E2C3D851336A7E0
    720       3DFE00CBF3997808617BAEE6A7FCF2787BF693ECE6B5BF2F702F793DADBBD3CA
    721       03BBBFDE8BCBDBC390979C8F4A7525D393A43C046F0B6565B48EFFA2E348B813
    722       BF967BC1F652E44F51473DC7FA60E7700F5C26F52ACB2BD939BD28B39889A60A
    723       55254E3B9CC186DEEBB1A5FF7ADC3B137194B242DEEB87FDC84D78C2EADF3FF9
    724       00BEC4DFFD93FC70EBD06D5CDF77053ED69EA41FAED8367823EE9D16F163BCE1
    725       BF3000E5651528C951E0C094C32476BBB165C01662732D36F775C16DBF1B7818
    726       F480C4C6037703EF88781F1C5B4078653994794AE2CB3EAC6ABF042B3F9987B5
    727       DD56C295F81CEE7D15F74E449032F77AFCDEB1BED83BCE1799D159CCFFBBC76F
    728       60EB2027E2EB6A62F72A7E09BC07EF091EAC9DAD8336D4F5FF42D451F7519E70
    729       E9E604BFD97B515AA8646D28F315282D50B0F53292E73DC10D8EED166393F95A
    730       DCE7E247C720F16EE21A6FEB5DB0FF700696B59A8EFD937722E15A0C4A728B99
    731       E2AFCAE13BC98D95D13A5EE37720E1F6A3D5FCF867E566BD1B7F2B66C359E763
    732       391B7AD9C3B6E55438B69F4762E6C0E4D86E1ECBDBD0DB1E6765FED9F1B763D7
    733       65E765BF239C83C4E3BFE41716F488BC70F7E891797BCB56775C08DB165388A6
    734       62F5178B7064FEBED28717EF1D2E282C302B41CDF1432A9541F34A765AD6A89B
    735       7E61D7BC276CAFF4B6DE5179EBC8952BD9E9D9236999A1FB2189DCDB090F1F8D
    736       251A43EE3AB5EEF747F2D568880E13DD2DADC4F0F8A20669E8A322B8E796E17F
    737       64BD21A26D78FCE9F9E2A7EB892575D6F5F2B1F9E8BB6D2FFA7BF891ED420C3A
    738       7E09BD16D8A2B7CD4A589C0BD7CB5BC53C41F7F113D16B9E0D865E93C374E870
    739       749F380DDDADA7E2AB35AE181E57A09F9F3005BD16DA61C8A50874EEF315CCD7
    740       EFC0B0DB89B092E71A669FF2F397C22A2A07FFB55B85CEBD7BC36CDC8F187838
    741       88D82F94E61348CC1215B022FD673CF19FC6CB2A3A17838E9C63795DFA0FC4E0
    742       0BB7E191A7AEC70EBD1A8DFE7B0EC232F81EBA8D1AC3E235E4E21D7C25736565
    743       030F04A253CF9EE8EF17048FFCF2BA3CB133382018A61696301D64812E030731
    744       9B16E76FA0EB8851247F08CBEBFEE32458DE8C87C71315AC685F857A548821C4
    745       F68003A760417CB42271667EDD78C4FA3DF0C8790CBB9344E257CCFA3F25B9A4
    746       BE1E2B3025B5942C954FF352B83C2AB23E29B9187E79AA17BF875493FE4AF42F
    747       A27F72DBF4BCF2772D7569590B22E1BDD042EEB96E1CB7FDB1E05D750ED1B75C
    748       7E1BAE0ECD4F23E2AF637C89E444559C0F3CBF82E81AD143AEDE658EEB433451
    749       60FF01FD010E8EE929E0A7D35B3A8E7B836BDF49D41FDACF0AA2A144B944B305
    750       BC9248C57D97FF332E6FAAF8E72EB9FCDDF4544A6FA904FC1AEE475D687E7B2E
    751       6F9688A7DFCB2FA7B77E5C6CEE88FC9FC2AD37E7FCF1E138FE1CBA83FEC412B7
    752       3E9FF3F7538EF9995E1E10C570F5B7713138C0C5948EFB12A2051CDF99C89BE8
    753       736EE9CDF5A1B9609ED0EF189F235AFD67DE213EF8A0F517446D387D6120D394
    754       A81D5138510E511A5106B71ECE9535D5C27E446447544D5449749EE818512051
    755       1051055746EB7C246197E683288C2F27CBCFA9FFDCFA8744A15C1D3BA11F64FD
    756       53AE6D5AE6A84536446F115DE1EAB613F0B46F4ACEEF2AAE1D29D9134D272AA3
    757       8C20CE343E32CE2F47DE0FAEBC89308F6821D13A8EE1C7288FE838D1AB82BA62
    758       3D216A49F43A17D37CC1F8D2F51D9C3D9E0F2172E1C6806FE35BA256447201CF
    759       FB1FC2B121029E6EFF85B34DF3A2B87105EFBF207E9231E3CA651265E182F8B7
    760       E3C6249768ACD47C25799D89BEE6EA88C74F387FE818ED96E03D889CA5E68FC4
    761       FCA575EE12EDE37497CBAB929ABF3AF69F3C4E7AF79F86EEBF6B36AC73274203
    762       C5D88626BE1D9A0E4E35ADA3BC8202A682C242E41389CBB5F187A677AB65F30A
    763       0A515054542B5AA68BA7E5C716F427F77813985DAAA2E262A6003B2B1C9D678E
    764       4333BA4BF3D3BA323FCFACFE0157BD9D71FFDC7E66B3A8A4181181EE08DD638F
    765       D38E6350AC50103B66F5F842529789D8BA7FD607B1372E20E5E12DA4C6DC45C2
    766       9D6092E78D12A5120AA5822DEBF19C9F45C525CC6672E40DB22C41894249DAB8
    767       47B8D21A959642595A9FA7F935655465488B8940295996A954C87D1C07955A0D
    768       75B91AAAF272A8D5E5F5F8D2B23228D9BB4D156E1FDB8AF81BE79119FF10B9A9
    769       F14897DF46D4453FC297A3BCA282BD3F958A1FB515603B0C17364EC72DBF8DCC
    770       26ADFB20C80BC1DBE62360E950C66B1DFF69DD7078562FF82F1AC47CA5F62AD8
    771       DF52AD64E34AE3AE6FFE50F13E96579473EF8B354C86CC3F5E15F41D34914653
    772       C5FE1EADBEF9DBD0FDC769AD6C5F43F75F47E7D53ECFE2DA61A9ADADB9AD8D4D
    773       BC8BB373B5F32AC72487E5B6BE9B37AE99B8D9655D8FCDAEAEFFD1C6AD5AB5EA
    774       35C2EE71DDBCB132393E1625F9B9B8131288EDF41D71D47DDC0CBF8A8013C7E9
    775       F7B36E7EFFFDF77FABF3DB8DEEEE7D76ECD891712E28081969A988898CC0BA45
    776       DFC371621F6C9DDE1955EA2212B19ACFE78505FF848573674FE1D94D9B36BDE3
    777       EBEB5B1A238FC1BD3BE1D8B166097A3437C1ACC12D70FBBC17F6CCEE86AA72FA
    778       1CAA0AC98909C8498981BDDDE24B3CBF6CD9B205F49D797A7A1A1C668F81ED44
    779       0B14653FC6657F776C9D3B001EE35E4565713A3233D311F6F34F88B81E8C83DE
    780       1EEAE1C3ADE875AAC9CA952BAFD1F7EF0F2323514896EAD2125428F351555688
    781       D4C85004ADB582222F0D478E1EC1016F4FDC0CBB88DBD7C33063FA74E7B163C7
    782       F63875EA54754E4E2E9292121113FD1009B151C84C4D44515E0ED44A724C28CC
    783       C785F3E7E0BA6913F6EFF3C0C3886B484D7844FFA6F1BD458B16ADA3EFB2E9FB
    784       E8F8478F909A928CA44772A425C622273581F423198ADC549C0EF0878BCB1AEC
    785       F7F244D4BD1B78F0CB7D8C1B37AEC2C9C929B6841C67E87BF3A88751488C8F43
    786       5A4A22D292E2081F8FE2AC6494E667E0425020D6CA9C71F4D07EC4C4C871F2E4
    787       49F4EBD74F41625F45DFA9179363576161013233D2199FF93801B969892824BC
    788       8AF0972F9C85B3F36A32FEFEB87DE70ECCCDCDD1B97367575B5BDB4BAEAEAEEC
    789       EFF5FAFB1F4774B49C1D9FE8DFF42D2D2984B290C4A0280BD7422E60DBD66DB8
    790       78F122ACACACD0A54B979BEC79BD85C5DF67CE9C3976D0A041A7468D1AA59C3C
    791       79326B2B20E0241E92FEF0C7AA8CF474F6B79D478F1E0D5353D3079D3A756A22
    792       9EBFBD7BF77EF5EBAFBF1E397CF8F09363C68C51CC9933070E0E0EF0F3F3C3EE
    793       3D7B40F2D1AD5BB7B42FBFFC52EF73784B4BCBBF93B62CBFF9E69B5DC466ECD0
    794       A1432B09F7B043870E2D7ECD7DF5FF019CE51CC4
     566      4C7A230000001000000010000000BE2100000000000078DAED9D075C14C717C7
     567      B144052B2A51A34613B1608C8AA2D8FEF68A25461335262AF6DE0B8A0A222856
     568      2C60019462C18262C58241C4820D3B820A8882D2A4F7FEFBBF19F67039AE0131
     569      26F9387E7EEEDECC7CDF7BF366F676EFF6EE5053FB4B0A4AA88FBC8505AF5356
     570      247D4AC397D6BFA4EF7F8EFF582F5F85FB15E5555549FD9730FED28EFF13F36A
     571      A53C7EFE5905A58C0DC2BFD2F225B501A97FA5E58B6B0372FE959657D5C6A7F0
     572      FFB9F2FFB9D6DFBFA41C5C39104C078C07E0C08AFE705EDE0F4E467DE1B4AC0F
     573      1C97F686C3925E7058DC13FB17F5C0BE85DDB16FC1FF603FBF1BECE67585DDDC
     574      2E9CBD7AC014579D4DE0E9BC1A9E4EABE0E9B80A7F3AAEC41507635CD9CFB402
     575      1EFB96E3B23DC9CE0897EC96E192ED52D8CEE9CCFD4A4A5E5E1E576E6E2E2907
     576      3939D9C8C9CE46767616B2B33291C5949981CCCC746466A463EF6C7D3853CCAC
     577      585A5A62DCB871707272426E8E0296B80CA6F434EC99D591C6DB97FB9C306102
     578      6C6C6C3072E448CEAE5CB9122B56ACC0D2A54BB168D122CC9B370FB366CDC4B4
     579      69D33069D224A4A7A762F7CC0E3C4F7914EF962D5B3062C4081C3A7428DF27E9
     580      63BC12BF69DC2F63D3D352B07BBA1ECF71FE58F363CE8F57019B96CFA6A5A660
     581      D7B4F67C7E18EBEEEE0E0B3AAF5CF5F42C92A77C3655C42673D94CD5C57E9A5B
     582      9627333333DCBC7913DBB66DE3ECCA95C6C2F89760D1C285983B772E66CE64E3
     583      9F4AE39F88D49424584F694BEBA23B8FD9D1D101A6A6A670733B5928C7E982DF
     584      34C16F6A4A3267539213B173521BBE9EF2E3CD148D558A4D2DCAA6242760E7C4
     585      D67C2DB278AF5EF5C4CE9D3BF1E79F570AE5F8239BF4914D4A40326987E18F7C
     586      1D33BFAB56ADE2E367EB88F9343636C6F2E5CBB164C9122C5CB880C63F87C63F
     587      0353A74EC5C489139194188FED137E802D1D032CE65DBB6C386B6F675728C71F
     588      E34DE43E9393E2399B9418876DE35BD231D089C79B219D27456C421C12136261
     589      354E871F036C1DB3B5C8D6135B133653DBF1B965F3C372CCF2C4C6BADDB0158F
     590      79DBB896B0FA43075B7F6F814F7E2550B2EB14CEAD515BC3550C1B8538B194D8
     591      90CBA96003D7AE5D53CA2AB0C1EB4B61A3A0BE84360AD5AB6A437C1D2ADDA6C8
     592      4601B3668DCC31C8B321E65891E2E5DA1073EC312BE27A4536C4FE54608BD890
     593      5CF74BD8621C0F85FC97F038FADB5E27D4AD7B0D4C426E8ADDB771E33B104B9E
     594      1D45EDCD9A3D8458D27DE4D54B171D9D279048D257BCAF4A69D5CA0FD22A0ECF
     595      4A9B360190A8B86CBB76AF202D556D74E8100C89248CF46379A553A7379048BA
     596      AFBC7A49E9D225141229EA531A5E151BC5CD7549CADFE5E76F7DC55FBAF729E4
     597      BE77A5322FE7FD2F59BC85ACF75E44EFDF28E219AB9097B221E625AC58AAF2B2
     598      D8E2F0A5F5AFF2F865BDDF559CFC2BF12F77ED157D6FB1B8EB51DE7B93C53B0E
     599      4AC797E69A59DAC66729B72CFAE2BA796FBCD83717FEBB67C0CF6632DF9E5DD1
     600      0D6796778562B637820E1821F9D56DE4A427B23704B872526291E87F0DB7ADC7
     601      C1657E7B99366E5AF4C1FBCBB6BC6FF6536F641DB544AEE568E45AFC828CC36B
     602      91FE905E172746E0E911631C9CD51285D97EDC2F63B3BC5C00E33EC01507202D
     603      99FBCF8B7D8F2CDB0548BEB00F1909E1B8B27914F64E695660E3A6792F24BCBA
     604      81AC27749DB7A227B0775E7EEC77CF2277C71464F99C425E6A22528DFE87D85B
     605      67F1EEFE396C1FF75D01FFC47C081F6F16C589C55D008B6180DB26E4CDF911E9
     606      D39B2371E70C6E2FCAFC1704AC334446620CCC7E6D54C03F60FD599ECC86000B
     607      7481D9AD903BB30532A63641CACEA9C825DF297EB7E033BC2E3C7E6B4E5D7361
     608      6ED0E0236F3680F319C6FD9139430769539B22D1B03112D78FE4F5095E47716B
     609      AC362E0CD1C2C5D1DA9C371DF8CD47DEB41FCF5DCC9E458834FC0E6FC63644E0
     610      987A883DBE91F37786D5C4E5219A3837A4166EAF1C89B484184A71BD02FEFC8A
     611      2E88F7F7E6B9091EFB0D9E8FAA83A7236BE1C5EAA10873598F2B8C35A8890B06
     612      35F0FAB20B82EE5EC2A86E550BF80B467AF0B79D8DCC8408041FDA80DBC36BE1
     613      DA304D04B96CE0FEDD076972F6B9C35A24C744C06EF1080CD2AB5A680D9C5DF0
     614      03025DD720233E02A1575CE06B320ADE639AE0DAE8EF71D774145E7B1C41D287
     615      089CB35E8681BA9564AE41E799AD706DC318BCB97B1EE9344779B9395CA9345E
     616      16B3C3F2D118208795941D5374B08E72BD61B816D61A3484C9807A58D1B70EC6
     617      74AB5624E67FE9F541699FCBF0173CC715BD7F53CC6B95427148CE5545EF2FAA
     618      74DE91B00AB78ACE5BCA5825BC9CBEAA4B9A2DDEFDBFD2B005E32F212BFBFA41
     619      75B6B8F7EDBE944F58DADB4E2BC8F1345F5BA8D9B62F90B84D6E91F41371625E
     620      A90D2986C720158FB84E112FCB57C19854F4AFD298FF8E3991CEA782F865E5A7
     621      880D3945568EA5D78142FF822F456B40192F2B5E713CFF8439F94CEF01287D1D
     622      A7E2E7764ACC7B7A7A2A3D0FAAF8B92128E4D9BE58AABDA701554BB1FD4BC5F1
     623      C5FF27F65F42FECBB5C43FE2690C8AF585FF6FF35FCAE72AAFB71B79BDDAB400
     624      2FCCA7E3F9AA8950562F5D5EAE9FE3F5E1F47E245C71C5D325A3A1AC5EBA906D
     625      AFC823D688BD70100F660C82B27AE942B6BDDE3B6FC6875376B83BBE3B94D54B
     626      17B2EDF576AF1998AF9BBFB483B27AE97267D650AF88C3DBC17C79193487B27A
     627      E972F9970E5EA1B61608B55B07F79E0DA1AC5EBA90ED6B2FD7CD46C82E131CEF
     628      5217CAEAA50BD9F662F34BF30D5BBDDA50562F5DC8B6D7B3A56310B4792136B5
     629      AA0E65F5455E7EE8D5F67A347F385E6D980BD3E695A1AC5EBA906D2F8B96D5B0
     630      AA59651837D580B2FA7FC6D90EFF08A9A91D22B9908E35A61933219D25DD11B6
     631      26F9F52EBC9F02BE9786869B778F1ECF230C0D633366CD4ACE33348CC9E8DEDD
     632      2F4243E3A4376B97CF1F6CACA1E1EAFDEBAF61C963C78662D4A8D705FAEDB7B7
     633      183EFC75B2BAFA716FD64F36EF60D2B9B36FB881C153F4EBF7A088060E7C0C5D
     634      DD1BE1AC9F6CDEEEAC81815F86BEBE179874753DD0BCF9693468E082AFBF7642
     635      CD9AFBD0A4895B06EB279BDF75877CE4B56E7D090D1B9EA4FE87A1A979A890EA
     636      D73F99C7FAC9E6B79DD5D3BB9151BBF659EA7B46A66AD73E9DC1FAC9E6379AD4
     637      AD7B2ABC766D6FEAEB25531A1A2EE1AC9F6CDEA271B9721BBDB5B4BC926BD67C
     638      40FD7D0BA95AB53F93CB96DDE0CDFAC9E6CD48CB7B952DBBDA5B43E36844F5EA
     639      F73234359FE7B12D7BCCEA593BEB279F5F4A9A42EBCC90D69B21AD3BC33BC2D6
     640      24BF7EA99A3CFE8BFEDDA232997451F458F23A4B56DD6629B6A7B8AFD816DB0A
     641      8F9936931A0B7D1B0BED8D65F912D9DE2CC31FFBAFA788BF28F493C5178A57DA
     642      BF949F8B32EA0A7C49FB56C44BE744464C9395F09015A7AC3149F342AE0BF990
     643      CC8968FC9315F09BA55E6B6F16CDA5CC317D917C0504040CF1F5F5759216AB57
     644      85677D65BD07C2EA8579A944AAA0CCFFD5AB579F338E6DC5FEA9B4A0D51AA8D6
     645      5A6D85223B9238247E456BA785DA1C8A6915E967B5676ABA6ACB65D951CAAF11
     646      B49A3482DB3112DB519917DB19A9F65462E76FE34B1A7F69F257BAF92BD5FA29
     647      EDFAFDD4C7CFBFE3FCEB3A84AEF39F9020A56BAAF18C3DDAA9E4FE8FA374F117
     648      E695BD7FFBA9FD2B8BE313F8E7F9A779A41769AEBFD3E30AC5F35F64FE0349F5
     649      4BB08E4AE4FF135C4F166BFEBFE89F99BF52ACDF6B25397E3EE3F1FBB99F3F3E
     650      F7F36791FC4B3F9794F0FCF5973D977D397F7F39FF7EF1FFE5F9E3AF7CFEF89B
     651      3E0B54FCCF0E29FE2C6A91EF5C58883FA329E6847D49BB858CCF8F5AC8AE2F12
     652      A38582DFAEB150E17B27160AFC8BC7A06C2BD7BF782BE7FB4216323EFB2CCB8F
     653      859CCFB3C8F8FE8F5CFFF278C95615FF52C7ACECB114C3BF742CC5F12F2B1679
     654      EBB718FE651645F327E3FB5BFFD5CF0E16E33666B13F2FA8942FCEF70FC53E25
     655      FBC5983385C78A92E3AF887F456B50C6F1A7D4BF92E3AF58FEE5AC7F95FC17E7
     656      F82BA67FB9C7A08AFE15F2A5F1FFA98FFF4FF59A59D1E37F032F614AFA7E8398
     657      2FEDFB0E7FD53C14476B0A7EDBA3643624DC1AC186AA76A4FB8B39653664F5FD
     658      DCBC784CC519FFDFF5BAFD1AFB5D94FF980202020A54529EAD7D5579697F625E
     659      6C43565C92BE1249DA55AD93F625D957B5EE9FC2CB1AAB2C5ED9F8C57995CEBB
     660      BC7EAACCB5BC7EAAAEB5D2AEC94F25E9E703ED06A1DF92E6914E91BC043992C6
     661      2B7B2EF9A14998592BED30D01643FA4762EBC6044CFC3D1A2D1AE7D7FDD8342C
     662      4457E75D6F596CCBEFC3BC48D4371493C745E3A16F26BF468A08CFC12AA338FC
     663      D82C0CCD1B8582F569DD3C6C9298259F3B587DFB1FDEC17657225253F2909D9D
     664      87B4B43C6464E4212707B8702E157DBA8583C6C16DB46D911F073D6ECD626EF6
     665      6D286F5326D6AF69C350369E108177D4F92E8CB77D88CE51FA9A8FF14DEA87D2
     666      58C2D8B635718F9A37CEB7DDADC37BC4C7E562CA840FF85F47DA8FCFE57DB76F
     667      4980DFD34CBE2F11EB4F5B13B6657961DB7E3DC2393F77460C06F68AE03CCBFB
     668      1EEB44F8FB6515E20571BE59A3FCC7FDBAABC2BF15CB84EA42D89886CEC8C44C
     669      B36C24A700EBF6E6609A49FEFEB0595938EA9E8BE0D03CBECFD4FBD76431EFC8
     670      723168623A1E05B07903DE45E62128347FDF3F380F310979C8CA021E3CCFB7D1
     671      7D6822C5CCF9D62C876C3EBB0E88C71FCBB2B0FB480E0E9CC9C1C1B339D87722
     672      0787CFE5C0F9740E1C4EE6C0684B36E775F5A2685CA12185D68FF67B8486E721
     673      3C3A0FEFA3642BF2431E7AFE9CC4D7A87EDB8FEB9862A846797AD44AE73D7A8D
     674      4C2E18A758436766F118759AB0755A78FD4AF463B3D01D1417DAB68B40D781F1
     675      E8332A05BD4624A1735F5AFF3FBC472BEDD0900EADC37E51740C0E1F14D14CEF
     676      C7B025DA0DDE7A517EB89A367CEB48F14E51F9BAE03A708B646E668E43CE87F8
     677      3E13DB6775AAB0057DC5AD229B8A5826495F26354192C7AAB0AC56AD67AF7C96
     678      9D33842D24ED522CC4EC75E1359F84178BD5910AD990F22D9715A9D8BC640CD2
     679      BC28768964F986DA47BBB7A4C62ACD17D8118D5992AD5BD27956C02B932C5E72
     680      7E57E5B1380792B65B52B6143D96C74B6FE5F232E64FD5F865ADC162E54DC931
     681      A030DF22262AF4259EDD3C873BEE8EC5126318FBD8FB345EBF7A8ED4D454A4A7
     682      A7CB544A4A4AA1C7AC2F6318EB756237626363F96FD8E6FFEEEF47B13AC6DE7C
     683      9940CFFF5985EA19C3588F23DB11131343E78AEC4262FD939393B1E54A2C3A5B
     684      C5709FE276C630D6DD7923A2A2A290C97F7FF6A3121212B0F152349AAFFB40E7
     685      C178783CF9C06D48DA19C3D853F66B11111141D71A6905627E6D3C2351DF348A
     686      B7AD3D1F89E616D1BC5ED287D533F6A8CD2ABC7BF78EB749C47CD75E1955B095
     687      EC3349FA3086B107B62EC5DBB76F0BDA99D8D8F43645F1FAAACB22F963A6B0B0
     688      30848787232E2E8EB731D6DE722E5EBF7ECDF3C9C6141C1CCCC5EA9AAE7D07B3
     689      D36FF83E630F6F37829BC34684868622282888B3366653F97E747434B76DB372
     690      2CF6988CC7FEF533B16BD51FFC31DBF738615FD07ECA61035EBC78C1592BE3F1
     691      78F9F225CF07F3C174EFFA45DCBD7E81CBC7F3346E9382035F70668FA921F11B
     692      F1FCF973CE5A2E1E0D7F7F7F9E0FA6376FDEC0DE6206AC8D7F238DE55BF698D5
     693      EF369900B7FD967CDFCFCF8FB366738723303090FB0F0909E16361F1C8D3FBF7
     694      EF795FC63076F5F4419C8B8C8CC4ED2BAE38EF640997ADF3E58AE589CD056318
     695      BB61C96F703F7D9CF3CCAE2A623618C3581FCF336ADB564FC5E271DD8B25C630
     696      B665876F3EBBFCDD0F432C9F93CA25668B147A8E29A2F888429A6CA00B31EFBF
     697      CF02FE3616F0B1590CFF2D4C93E163415A39023E8B7BC36776BEFC57F696C933
     698      0EAFFDF3E5EF033C74CF97CFE17CB9DB902C10A18C17C75988B541FABEC54578
     699      960B363ECE33BF12DF2236FDB0056739BF58092FF61FE1FF714CA408CA09E7A9
     700      5E262FCBAFE09BB31602FF5A012FC3AF645CFE34170A79F29B2E3D5EC12F63FD
     701      17CBE1C9279BFB0851BC8562B620CEA237CF3DDB97C5CB95F45804497826B65F
     702      5CFD55C79E74396BDC49EB8C712737B7E5FA11278CF4738F2FD3CF39B644FFED
     703      E1C5FAF64796EA9757763F81D8F8532B3AFD7672B9FE59627174893E0E930E2D
     704      D2C78185FA49F6F3F515F2A796EBE791DF65C4DE9262E1B880345FBF9C94BF42
     705      3CF93DE6BA4CFFE4B1A5FA275D96E89F12B3FBE791BD49DF95DB25FADC83FD94
     706      4ECC8615F9CD21BF39C4E61C5DAA9F436C0EB13962D67E6E470C0EC8F11C1800
     707      F47F8EE0BECF5089D8B5C4825848C6EB2215B384DD3BA723063DCF39432C8845
     708      EFA73846790E5495DD3DAB632CB1BE028B9E8FC1FC664BB1B90716748C749CDF
     709      21DC616E87F07D73F4C26D67EB85EF99A9E7D33C071A7DFD902361BB3F04F39B
     710      2DF6BB71C762AD9F42E0363418198303913EE825D20704209DC7ECF7D12F63BB
     711      F982F90D92B087E6E97A0D7B832BC38281218180C14B80E7CA5F36DBE53E40EB
     712      CA4A32DE83B35B9F1BFA1AE94AD907F96CA7BBD8C2E6D079A1FE4B962BE799AD
     713      2F0C0E42BA8AACABDA4DA8392FD0575B3F4F5FCD617EFEDA263673E08B023697
     714      D85BC4DE26F636B177BBFAA21CB16558DFAE778BDE7E2336B388DF4788247630
     715      F3DBF91ECA295AFFC4DE926259CC6F88ED457E59DC65E5B134576AC47E45ECA6
     716      9E4F0A58C9782F936AAB7A5F302E3DEE9BE70FFCA7FB3FF09F169F1E574F650E
     717      315522C3A2C63D3EF7D4F7F4CAF379A7579DCF7B7CFEE9FDA8B0A8DF63115359
     718      1EF706C1E5623EC4F47A71FDE5B98B961E9976A31C616DB097CB7EB4132E6EF0
     719      C87C71FDD519BA76EA198C978572181915D120E4D11B9B6B7B6EC439191E86CD
     720      105B388E3F8893CBCEE0E4D233701C7790D7394D3C0CEFBD3762DF3C7EBB33F2
     721      4364FD82DF177818B291F5DD35CC0E7B7EDE87AB3BBD1113128BEC8C6CAE0FAF
     722      63E0B9E31A6F637D5C179D40D0FDC0F5C20DB6B24F2FF91DB31FE3845D43ED70
     723      95FA656766F3737A427822172B59E9D9386B720E9BBA6DC4B63E1BF1F09CEF31
     724      C68A79873F0E203AE803EFFFE8D4133853BC0726B9E0EEE17BB8B5FF3A9C0CED
     725      691C56D83160331E9E95E2473BC275A11B32D3B29014958C83538E50EEF6605B
     726      DF6DE4733DB6F6B2C43D97DB78E6FE8472638707A7EF4BF14E38BE80F8944CA4
     727      C4A4502CFBB1A6E512AC6E3A0FEB3BAE8615C5ECE378030F4FFA529B6D117EDF
     728      1867EC1BEB8CF0E7113CFE07276E637B7F338A752DF9BD81C7A71FC271821DB7
     729      B3BDFFA6C2F15FF63B663BD21E961DCDE0327B1F52E353B88D94D864A4C625F3
     730      FD34AA739C6003539DC5D8D2733D1E09F9637310FC20789DA3E16E187F37032B
     731      1A4FC781C9BB1074330049D1895C8137FCE13CC986B7B13E0EE3AC1174EFD55A
     732      C9FC474447D40DBC1BB0E9BCF9F1A84D5D8D61D4702A4C5BCEA39C997099EACC
     733      E3759BBA19E3BC856B64E0BD171B226322EB88D720455C26363EAEF3D3CB0F8E
     734      1D9DB72F6D6DEB85306A308534156BDB2CC2D1F9FB539F793C3C12171FA79F84
     735      FCE70F59250D399522C32246DE71F1BEE9386167B6A3A175F6DDA3D7AF47BE8B
     736      1CC1DA543D0E29735A41CF5E8D218DA6579D728FFBA3B11928898E901EA46663
     737      6860428934F855026CA3D3F013ED9744CC86DD7F9E4FFCB81F9C54685F29FF22
     738      16BD76EC431F3B177A1C8FFE27AEA0EB0223745BBA1A032FF828E587057C40A7
     739      7113D175DE520CBEE90FBDC143D169E23474329C8A1EEBAC30F4659C727EC214
     740      745DB81C83AEF8A25DF71EE8B9D11A43EE0563987FB46AFE193F7F1986F945E1
     741      7FCBD7A05DB76ED01F3B1EFD8EB893FF78D97C10E52C3819C368FC9CA7F859BE
     742      863D8F46FFA317785DFB3EFD30E0F23DD8C564146107DF788E3E7B0FC1C0F321
     743      3A8E1CCDF335C8E33E7A5858F1B67E074F43B74B17F47171875D6C66619EFC0C
     744      70F384DE4003E8F51F88F6FDFA739F032FDE4687E123A97E10AFEB347E120CEE
     745      04C2EE433A86B1B18AF52A1E83C877DF83673090621C4679E671DD7EC5C7DDEF
     746      E8450CB9FF9AF297C8C73F2524A9A8DE26634A682A6D533ED6BD11EA98687F52
     747      48225C62D2BFFC1E527EF98A5483544578CCCE2B15E5F4656D0D48E2D7420B85
     748      F7755F0A8FB545F7AAA348BF0AF5CD843EAC3E8C24B98E7126F99372851824FC
     749      2AD24DD233A1DF5581EB4E9A28F2FF84FD0087C07411F1D3D94B3A81AB2ED837
     750      931A0F1B67166930299A345BC4A790D285EFF2FF20D44D95FEB94BA17E0F3B95
     751      B29754227E9DF0A32EACBEA550374B8A67DFCBCF642FFD84DCDC978A7F8AB05F
     752      5F88C749E024E7506BF6134BC2FE7C21DE1602F327BB3C200508FD7708393828
     753      E494CDFB12D202816F477224FD286C1D8531D417AD13F61DE30BA4B5FFE503A2
     754      51A3266D48CD04B55191D124E9907C4851A430D27B61DF4768D394C37E4F5A4E
     755      CA2365932E928E934E93DC4959421BEBF3BD0CBFAC1E246F493B6D7F64F10BFB
     756      DF91AE097D968BE3A0FD16826DD6662A474B49B548D785BE3A229E8D2D45883B
     757      57B0234BC6A4E9A434C688F2CCF26321C4652A894368D710D791169236088C64
     758      8E62482748EAA2BED2FA406A48AA26E4345634BF6CDF5AF027E1BD4896C21C48
     759      6CFC4A6A4CF217F192F8BD04D64BC4B3C76504DFACCE4F985748E217E54F66CE
     760      84760B196D3EA2FCEB0873124D1A236BBD525D3BD2CF421FE9F913AF1F36477B
     761      64F076247359EB47C6FA657D1E90F60B7A20D4E5CA5ABF0A8E9F18414A8F9F92
     762      1EBFEB366DB025A184E26C498BC40E2B87A6EA15524C5C1C575C7C3C6249D2ED
     763      F2F8C3D33B16B03171F1884B4828106B53C4B3F6E30BFAD06BBC09DC2F534262
     764      2297DBF2613836AF270ECFE8249B9FD681C7796EED1FB8E1688E47170E709F09
     765      4989F03D6D8B6B7B8D71D67434129393C98F7E113E9EFA7291AF47E79DF0E2F6
     766      65BC797617A1010F1074DF93EA1C91949282E49464BE2DC20B71262426719F21
     767      4F6FD3360949C92964E32171A9F94A4D454A6A519ED5E7B731A5212CC017A9B4
     768      4D4B4F47F4DB9748CFC840466606D2333391919159844F4D4B430ABFB7998E7B
     769      C7B723F0F64584073E43746820DEF9DF839F870BF199C8CCCAE2F74F65E58FF9
     770      72331A82CB9BA7E3AECB66EE93F57DE2EE00CF1DF3E1B66C30E7E5CEFFB48E38
     771      32AB2B5C17F5E7B1327F59FC6FA966F379657957B67E9824316666650AF78B73
     772      B854597F1265B17BD0A49C9C5CFEF76895ADDF921E3F66EB2DF697F4F835355F
     773      EBF429AE1D961919F5345ABA34D0D2DC3CCF7C8DE96B939546CE5B37AF9BB8D5
     774      7243E7AD5656DFCAE3D6AC595395D8BD565B37678704BE40526C34EE7B9DC64E
     775      768FD8EF11EEF8DC80DBC913ECFB59777EFFFDF70A857EBBD1D6B6BBB5B5F5FB
     776      0BEEEE781F168A80A7BED8B0E877984EEC8EEDD3DB213723813296FFF93C6FCF
     777      4B583877F61409BB65CB963ACECECEA901FE017878DF07D6EB96A0737D35CC1A
     778      D000F72E3A60EFEC8EC8CD64EF43E522243808516F0260BC7CF11509BF62C58A
     779      05EC9EF9BB776130993D1A4613072221F22DAEBADA62FBDCBEB01BAB8EECC477
     780      080F7F07EF3F2FC1F796270E39DA650C1D3A8C5DA7AAAD5EBDFA26BBFFFEECE9
     781      53C4D3362335095929B1C84D8B47E8D36B705F3F0CC93161387AEC280E3ADAE3
     782      8EB707EEDDF2C68CE9D3CDC78C19D3F9CC9933795151D178FD3A1801CF9F21E8
     783      851FC24383911013858C147A4E888FC5E58B1760B5650B0EECB7C333DF9B080D
     784      7AC5FEA6F1C3458B166D60F7B2D9FDE8C057AF10FA2604AF5FF9232CF805A242
     785      83681C21488E0EC5593757585AAEC301077BF83DBC8D278F1F61ECD8B1596666
     786      662F92E87986DD37F77BE687E0C097087B138CB0D72F890F446244085263DFE3
     787      B2FB69ACB730C7B1C3071010E08F53A74EA177EFDEC994FB5C764F3D919EBBE2
     788      E3E310FEFE1DE7C3DF06213A2C18F1C4A7137FF5F279989BAFA5F977C5BDFBF7
     789      D1B3674FB46BD7CECAC8C8E88A959515FF7BBDAEAE27F0FCB93F7F7E627FD337
     790      35291E29F194838408DCF4BA8C1DDB77C0C3C303C3860D43FBF6EDEFF0F7EB07
     791      0EAC3873E6CC31FDFBF73F3372E4C894C99327735B6E6EA7F08CC62379AE7AFF
     792      EE1DFFDBCEA3468D829E9EDE135D5D5D0DE9F5DBAD5B37F59F7FFE79C4D0A143
     793      4F8D1E3D3A79CE9C39303131818B8B0BF6ECDD0BAA47C78E1DC3DAB66DABF47D
     794      780303838A64CBE0975F7ED94D3E5F0C1E3C389BB867AD5AB56AF0775CFF537E
     795      CB75EEB9A0C3B1B3F1D6567B23DD878EF53F57B3D19DB3EA352F9EA95463A773
     796      A56AD3FBC8E1D4025E258F1F34CAF791FAB73772CBD6BB8B8A8D9EC27C5B38BE
     797      FEFE0C2AD4D80D75CD2DA8AA659155B9E68421526C99CD36AF8C6B35B99053B6
     798      D63994FFFA32CAD6F526DDC5A4256168D9E7415ED53AB6791A35B7A04A2D4B54
     799      AD6D7E461CEFE2D58F377C55E7445E995A6E2853EB34B80DADCBA8D8E006BA0E
     800      79064DED3BA8D6C82BAF8AD69EBC2AB5D6918D75C19298F73ABDDA56A1DE1194
     801      A97D8CE40AB18D1E43EEE1BBB637A1F18D27D4EB79A0629D8B50AFB527AF9AD6
     802      16F69A55CD7CBD8BBEE67707B2CAD43E88325A2E856C546F741ED676AF515EF3
     803      04CA69BAA25C0D17D27E94AF6E0DCDFA17F791EFB29D7B1FBC5CAEDA0E94A969
     804      0FB18D0A754E60D1DA5718B52038AF5C556AABE28CB255F6A35CB59DA8A0B903
     805      75B5FD2DF739BA0FA8DBF4606EB96A1B51AEFAF6021B15BF398A11131FA0CBC8
     806      00B43578864A5A4E7965ABD9A05C5552B5EDA8D1E0121AE8BC5974CB37D9BA6D
     807      CF3BA8F28D13988DB2D456A7D941FC3AD1170D5BFBE0EBE637A1D5F426D4BF76
     808      C9633196AF6EC57D3768118CC66DDE8D1F3EFD9DE3FAED61D0ED7517F59A1D86
     809      E1F40B58BAEA29AA7E7305EA753C489789A539A8E5CAD9AF6A6CA135608546AD
     810      8350B3FE92C10DF5FC5D0F9C88C10EE70F30DF138D15DBA250ADCE618AC319E5
     811      2957E56B9E249DA1FC9D24762BB15BF155F52DF84EF719BE6EB4B473CD26372E
     812      366EFD27FA4F7D871EE3C3F063BF27F8AAB213E5C981F2654B63B2E6F92A5FDD
     813      0EEAB56D395FBEFA66346E7B3BAF9EB6914E652D973795355DF07D177F7CDF2D
     814      189A8D3D50BE8A23B1FB487B39FB558D6D68F0830F5A740945F5060788DF84FA
     815      AD2E657CDB72E537EA9A0EAEEA351C51E35B777CADF300956A1C4139EEDB0E65
     816      29D71A5F3BA0899E3FDAF48945FB81B1D033888696F671D46AE212AFAD6B5AAD
     817      62D56503AB68EDCDAA56C70E55EA5C4005618ECB92EF0A356CA0D5E41C1AB4BA
     818      86EFDBDF418B6E4FD1B67F60AEFE4F61E98DF53CFCEB69CFE6E7C0CAB5E60DAC
     819      517FBB4BE59A07AE54ACE678B2A2E61E7BF59AD61B2BD5B23152D7DA3DA592E6
     820      E211652BF6EF53A662BFF6652AF56BFA5595C1756B7D3BA96AB90ACD8ADE431C
     821      34A8F2DCB9733577EEDCA945D225E9906A525DED4183076BFCA1A6567FB59A9A
     822      1D69472335B59A6296FA35A47ED5B5B5B5F97D99EE6A6A1598F81B62DADA650C
     823      7EFA499338571204ED10B18DC87719B25969BC9ADA246AF3228591424957A96E
     824      226BA3FDF322DE5E601B105B8EDAEB50DD75513B9779E5CAB069D3066BD5D5BD
     825      E9710FC1C6093616E234483505DB37A4598BEAD511F1F8313F07BCB97E9DD9B8
     826      CEFA0E1937AEEAA0A14359AE6AB3B10931435AFB7BF42874CDC6E26063613912
     827      F25CAB11BB06C81F2F56972953885F5FAB1662E9FCCCBF0BF1E8111FCBEAFCF7
     828      F3D484396AC972CC7265A9A58593E3C6158981D9D84FE7CB753416A12E9431C2
     829      FCEA4AF88DF5EAC17DEE5CACA23EDBB4B5E1D8BB370ED3396B3BED7B1819E1AA
     830      A929D66A6888F9162C0649FC62DEBA552BB80C1F0E374343EC6ADB1617172E84
     831      AFBD3D36D4A9238E9FAD2B4D960B963FD6F6D0C1016767CCE0BEAF5B5AE23E9D
     832      370F0E1E0C8F65CB7067E74EECD4D161F99BC472CED764FE7AADCEE7AF4C991B
     833      E655ABC2A25A35987EF5151FAF99BA3A4C28A796B56BC3AC6245ACA95891CF1F
     834      71B5D8DC8BD64F1961FDDC90358F82185B87AD3562EA4BADFD46C21A945EBF4C
     835      5EAC4EF05B86F59575EE6436D95A64636B54F4F861EBA53A8B55D1799B8D89E5
     836      85E556981F36C75A2CCF2C57D2FDFF0FD61B0136
    795837    }
    796838  end
  • tags/1.3.0/Core.pas

    r177 r186  
    3838    procedure TargetMessageExecute(Text: string);
    3939  public
    40     DataDir: string;
     40    BaseDir: string;
     41    ExamplesDir: string;
    4142    Project: TProject;
    4243    Targets: TTargets;
     
    6566  Core: TCore;
    6667
     68const
     69  ExamplesDirName = 'Examples';
     70  LanguagesDirName = 'Languages';
     71
    6772
    6873implementation
     
    7479  // Targets
    7580  TargetInterpreter, TargetFPC, TargetJava, TargetDelphi, TargetJavascript,
    76   TargetPHP, TargetC, TargetPython, TargetCSharp, TargetRust;
     81  TargetPHP, TargetC, TargetPython, TargetCSharp, TargetRust, TargetRuby,
     82  TargetLua;
    7783
    7884const
     
    9399{$IFDEF UNIX}
    94100const
    95   LinuxDataDir = '/usr/share/LazFuck';
    96   LinuxLanguagesDir = LinuxDataDir + '/Languages';
     101  LinuxDataDir = '../share/LazFuck';
     102var
     103  NewDir: string;
    97104{$ENDIF}
    98105begin
    99   DataDir := '';
     106  BaseDir := ExcludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0)));
     107  Translator.POFilesFolder := BaseDir + DirectorySeparator + LanguagesDirName;
     108  ExamplesDir := BaseDir + DirectorySeparator + ExamplesDirName;
     109
    100110  {$IFDEF UNIX}
    101   // If installed in Linux system then use installation shared game directory for data files
    102   if DirectoryExists(LinuxDataDir) then
    103     DataDir := LinuxDataDir
    104     else DataDir := GetCurrentDir;
    105111  // If installed in Linux system then use installation directory for po files
    106   if not DirectoryExists(Translator.POFilesFolder) and DirectoryExists(LinuxLanguagesDir) then
    107     Translator.POFilesFolder := LinuxLanguagesDir;
     112  NewDir := ExpandFileName(BaseDir + DirectorySeparator + LinuxDataDir +
     113    DirectorySeparator + LanguagesDirName);
     114  if not DirectoryExists(Translator.POFilesFolder) and DirectoryExists(NewDir) then
     115    Translator.POFilesFolder := NewDir;
     116
     117  // If installed in Linux system then use installation directory for po files
     118  NewDir := ExpandFileName(BaseDir + DirectorySeparator + LinuxDataDir +
     119    DirectorySeparator + ExamplesDirName);
     120  if not DirectoryExists(ExamplesDir) and DirectoryExists(NewDir) then
     121    ExamplesDir := NewDir;
    108122  {$ENDIF}
    109123
     
    148162    Clear;
    149163    Add(TTargetInterpreter.Create);
     164    Add(TTargetC.Create);
     165    Add(TTargetCSharp.Create);
    150166    Add(TTargetDelphi.Create);
    151167    Add(TTargetFPC.Create);
     168    Add(TTargetJava.Create);
     169    Add(TTargetJavascript.Create);
     170    Add(TTargetLua.Create);
    152171    Add(TTargetPHP.Create);
    153     Add(TTargetC.Create);
    154     Add(TTargetJava.Create);
    155172    Add(TTargetPython.Create);
    156     Add(TTargetCSharp.Create);
    157     Add(TTargetJavascript.Create);
     173    Add(TTargetRuby.Create);
    158174    Add(TTargetRust.Create);
    159175    for I := 0 to Count - 1 do
  • tags/1.3.0/Forms/FormMain.pas

    r177 r186  
    206206  SFileNotFound = 'File %s not found.';
    207207
    208 const
    209   ExamplesDir = 'Examples';
    210 
    211208{ TFormMain }
    212209
     
    217214  try
    218215    if Core.Core.LastOpenedList.Items.Count = 0 then
    219       Core.Core.LastOpenedList.Items.Add(CombinePaths(Core.Core.DataDir, ExamplesDir +
    220       DirectorySeparator + 'Sierpinski.b'));
     216      Core.Core.LastOpenedList.Items.Add(Core.Core.ExamplesDir +
     217        DirectorySeparator + 'Sierpinski.b');
    221218
    222219    if Core.Core.OpenProjectOnStart and (Core.Core.LastOpenedList.Items.Count > 0) and
     
    751748  AProjectClose.Execute;
    752749  if Core.Core.Project.Openned then Exit;
    753   Core.Core.Project.FileName := CombinePaths(Core.Core.DataDir, ExamplesDir + DirectorySeparator + SNewProject + '.b');
     750  Core.Core.Project.FileName := SNewProject + '.b';
     751  Core.Core.Project.Openned := True;
    754752  FormSourceCode.SynEditSource.Clear;
    755   Core.Core.Project.Openned := True;
    756753  Core.Core.CurrentTarget.Compiled := False;
    757754  UpdateInterface;
  • tags/1.3.0/Install/deb/LazFuck.desktop

    r121 r186  
    77Terminal=false
    88Type=Application
    9 Categories=GNOME;Application;Utility;
     9Categories=Development;IDE
    1010StartupNotify=true
    1111MimeType=text/brainfuck
     12Keywords=compiler;interpreter;editor;ide;programming;debugger
  • tags/1.3.0/Install/flatpak/build.sh

    r177 r186  
    77
    88# Install dependencies
    9 flatpak install --system flathub org.kde.Sdk//5.15-23.08
    10 flatpak install --system flathub org.kde.Platform//5.15-23.08
    11 flatpak install --system flathub org.freedesktop.Sdk.Extension.freepascal//23.08
     9flatpak install --system flathub org.kde.Sdk//5.15-24.08
     10flatpak install --system flathub org.kde.Platform//5.15-24.08
     11flatpak install --system flathub org.freedesktop.Sdk.Extension.freepascal//24.08
    1212flatpak install --system flathub org.flatpak.Builder
    1313
  • tags/1.3.0/Install/flatpak/net.zdechov.app.LazFuck.yml

    r179 r186  
    11app-id: net.zdechov.app.LazFuck
    22runtime: org.kde.Platform
    3 runtime-version: '5.15-23.08'
     3runtime-version: '5.15-24.08'
    44sdk: org.kde.Sdk
    55sdk-extensions:
    66  - org.freedesktop.Sdk.Extension.freepascal
    77command: LazFuck
     8rename-icon: LazFuck
     9rename-desktop-file: LazFuck.desktop
    810finish-args:
    911  - --share=ipc
     
    2426    sources:
    2527      - type: svn
    26         url: https://svn.zdechov.net/LazFuck/tags/1.3.0
    27         revision: r179
     28        rl: https://svn.zdechov.net/LazFuck/tags/1.3.0
     29        revision: r186
    2830    buildsystem: simple
    2931    build-commands:
     
    3133        . /usr/lib/sdk/freepascal/enable.sh
    3234        lazbuild --build-mode=Release --ws=qt5 LazFuck.lpi
    33       - install -Dm755 LazFuck -t $FLATPAK_DEST/share/LazFuck
    34       - install -d $FLATPAK_DEST/bin
    35       - ln -s $FLATPAK_DEST/share/LazFuck/LazFuck $FLATPAK_DEST/bin/LazFuck
    36       - install -Dm644 Install/flatpak/${FLATPAK_ID}.desktop -t $FLATPAK_DEST/share/applications
    37       - install -Dm644 Images/256x256/LazFuck.png $FLATPAK_DEST/share/icons/hicolor/256x256/apps/${FLATPAK_ID}.png
     35      - install -Dm755 LazFuck -t $FLATPAK_DEST/bin
     36      - install -Dm644 Install/deb/LazFuck.desktop -t $FLATPAK_DEST/share/applications
     37      - install -Dm644 Images/256x256/LazFuck.png -t $FLATPAK_DEST/share/icons/hicolor/256x256/apps
    3838      - install -Dm644 Languages/*.po -t $FLATPAK_DEST/share/LazFuck/Languages
    3939      - install -Dm644 Packages/Common/Languages/*.po -t $FLATPAK_DEST/share/LazFuck/Languages
    40       - install -Dm644 Install/flatpak/${FLATPAK_ID}.appdata.xml $FLATPAK_DEST/share/metainfo/${FLATPAK_ID}.metainfo.xml
     40      - install -Dm644 Install/flatpak/${FLATPAK_ID}.metainfo.xml -t $FLATPAK_DEST/share/metainfo
     41      - cp -r Examples $FLATPAK_DEST/share/LazFuck
  • tags/1.3.0/LazFuck.lpi

    r165 r186  
    3333          <SearchPaths>
    3434            <IncludeFiles Value="$(ProjOutDir)"/>
    35             <OtherUnitFiles Value="Forms;Target"/>
     35            <OtherUnitFiles Value="Forms;Targets"/>
    3636            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)-$(BuildMode)"/>
    3737          </SearchPaths>
     
    9797      </Item4>
    9898    </RequiredPackages>
    99     <Units Count="33">
     99    <Units Count="35">
    100100      <Unit0>
    101101        <Filename Value="LazFuck.lpr"/>
     
    135135      </Unit5>
    136136      <Unit6>
    137         <Filename Value="Target\TargetC.pas"/>
     137        <Filename Value="Targets\TargetC.pas"/>
    138138        <IsPartOfProject Value="True"/>
    139139      </Unit6>
    140140      <Unit7>
    141         <Filename Value="Target\TargetDelphi.pas"/>
     141        <Filename Value="Targets\TargetDelphi.pas"/>
    142142        <IsPartOfProject Value="True"/>
    143143      </Unit7>
    144144      <Unit8>
    145         <Filename Value="Target\TargetInterpreter.pas"/>
     145        <Filename Value="Targets\TargetInterpreter.pas"/>
    146146        <IsPartOfProject Value="True"/>
    147147      </Unit8>
    148148      <Unit9>
    149         <Filename Value="Target\TargetPHP.pas"/>
     149        <Filename Value="Targets\TargetPHP.pas"/>
    150150        <IsPartOfProject Value="True"/>
    151151      </Unit9>
     
    179179      </Unit13>
    180180      <Unit14>
    181         <Filename Value="Target\TargetJava.pas"/>
     181        <Filename Value="Targets\TargetJava.pas"/>
    182182        <IsPartOfProject Value="True"/>
    183183      </Unit14>
     
    211211      </Unit18>
    212212      <Unit19>
    213         <Filename Value="Target\TargetFPC.pas"/>
     213        <Filename Value="Targets\TargetFPC.pas"/>
    214214        <IsPartOfProject Value="True"/>
    215215      </Unit19>
     
    230230      </Unit22>
    231231      <Unit23>
    232         <Filename Value="Target\TargetPython.pas"/>
     232        <Filename Value="Targets\TargetPython.pas"/>
    233233        <IsPartOfProject Value="True"/>
    234234      </Unit23>
    235235      <Unit24>
    236         <Filename Value="Target\TargetCSharp.pas"/>
     236        <Filename Value="Targets\TargetCSharp.pas"/>
    237237        <IsPartOfProject Value="True"/>
    238238      </Unit24>
     
    242242      </Unit25>
    243243      <Unit26>
    244         <Filename Value="Target\TargetJavascript.pas"/>
     244        <Filename Value="Targets\TargetJavascript.pas"/>
    245245        <IsPartOfProject Value="True"/>
    246246      </Unit26>
     
    257257      </Unit28>
    258258      <Unit29>
    259         <Filename Value="Target\TargetRust.pas"/>
     259        <Filename Value="Targets\TargetRust.pas"/>
    260260        <IsPartOfProject Value="True"/>
    261261      </Unit29>
     
    280280        <ResourceBaseClass Value="Form"/>
    281281      </Unit32>
     282      <Unit33>
     283        <Filename Value="Targets\TargetRuby.pas"/>
     284        <IsPartOfProject Value="True"/>
     285      </Unit33>
     286      <Unit34>
     287        <Filename Value="Targets\TargetLua.pas"/>
     288        <IsPartOfProject Value="True"/>
     289      </Unit34>
    282290    </Units>
    283291  </ProjectOptions>
     
    290298    <SearchPaths>
    291299      <IncludeFiles Value="$(ProjOutDir)"/>
    292       <OtherUnitFiles Value="Forms;Target"/>
     300      <OtherUnitFiles Value="Forms;Targets"/>
    293301      <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)-$(BuildMode)"/>
    294302    </SearchPaths>
  • tags/1.3.0/LazFuck.lpr

    r165 r186  
    99  Forms, Target, FormCPU, FormMain, FormOutput, FormInput, FormMemory,
    1010  FormMessages, FormSourceCode, FormTargetCode, FormConsole, Core, Common,
    11   SysUtils, BFCodeTools, TargetRust, FormHelp, FormKeyShortcuts;
     11  SysUtils, BFCodeTools, TargetRust, TargetRuby, TargetLua, FormHelp,
     12  FormKeyShortcuts;
    1213
    1314{$R *.res}
Note: See TracChangeset for help on using the changeset viewer.