So I made a strip down example in order to test that.
Here's what I'm doing to scale the background square:
Code: Select all
BackgroundMeshSize.Scale.X = App.ScreenWidth * ScreenScale;
BackgroundMeshSize.Scale.Y = App.ScreenHeight * ScreenScale;
@RefreshContent(Component:Mesh_Screen);
Code: Select all
// LG screen (1920x1080 16:9)
ScreenScale = 0.003834;
// Retroid Pocket 3+ (1334x750 16:9)
ScreenScale = 0.005496;
// Surface Go (1536x1024 3:2)
ScreenScale = 0.004043;
// Pixel 3a (2220x1080 18.5:9)
ScreenScale = 0.003834;
Here's the full test:
Click left/right side of the screen to change the ScreenScale, or press left/right keys.
The numbers are the resolution of the screen, the scale applied to the background square, and the ScreenScale.
Code: Select all
<?xml version="1.0" encoding="iso-8859-1" ?>
<ZApplication Name="App" Caption="ZGE Screen Ratio" ClearColor="1 0 0 1" FullScreen="255" ScreenMode="0" MouseVisible="255" FileVersion="2" AndroidPackageName="com.txori.screenratio">
<OnLoaded>
<ZExpression>
<Expression>
<![CDATA[
// LG screen (1920x1080 16:9)
ScreenScale = 0.003834;
// Retroid Pocket 3+ (1334x750 16:9)
ScreenScale = 0.005496;
// Surface Go (1536x1024 3:2)
ScreenScale = 0.004043;
// Pixel 3a (2220x1080 18.5:9)
ScreenScale = 0.003834;]]>
</Expression>
</ZExpression>
</OnLoaded>
<OnUpdate>
<KeyPress Comment="Left" CharCode="37" RepeatDelay="0.15">
<OnPressed>
<ZExpression Expression="ScreenScale -= 0.000001;"/>
</OnPressed>
</KeyPress>
<KeyPress Comment="Right" CharCode="39" RepeatDelay="0.15">
<OnPressed>
<ZExpression Expression="ScreenScale += 0.000001;"/>
</OnPressed>
</KeyPress>
<KeyPress Comment="Mouse click" Keys="{">
<OnPressed>
<ZExpression>
<Expression>
<![CDATA[// Click left
if (App.MousePosition.X < -0.2) ScreenScale -= 0.000001;
// Click right
if (App.MousePosition.X > 0.2) ScreenScale += 0.000001;]]>
</Expression>
</ZExpression>
</OnPressed>
</KeyPress>
<ZExpression>
<Expression>
<![CDATA[BackgroundMeshSize.Scale.X = App.ScreenWidth * ScreenScale;
BackgroundMeshSize.Scale.Y = App.ScreenHeight * ScreenScale;
@RefreshContent(Component:Mesh_Screen);]]>
</Expression>
</ZExpression>
</OnUpdate>
<OnRender>
<UseMaterial Material="ScreenMaterial"/>
<RenderMesh Mesh="Mesh_Screen"/>
<UseMaterial Material="FontMaterial"/>
<RenderText Comment="resolution" Y="0.4" Scale="0.8" TextExpression="intToStr(App.ScreenWidth) + "x" + intToStr(App.ScreenHeight);"/>
<RenderText Comment="mesh scale" Scale="0.8" TextExpression="intToStr(100*BackgroundMeshSize.Scale.X) + "x" + intToStr(100*BackgroundMeshSize.Scale.Y);"/>
<RenderText Comment="screen scale" Y="-0.4" Scale="0.8" TextExpression="intToStr(ScreenScale*1000000);"/>
</OnRender>
<Content>
<Mesh Name="Mesh_Screen">
<Producers>
<MeshBox Name="BackgroundMeshSize" Scale="5.9634 1.5839 1" Grid2DOnly="255"/>
</Producers>
</Mesh>
<Font Name="Font" Bitmap="FontBitmap" FirstChar="32" CharPixelWidth="32" CharPixelHeight="32"/>
<Bitmap Name="FontBitmap" Width="512" Height="256">
<Producers>
<BitmapFromFile Comment="Imported from ExportedFont.bmp" DataWidth="512" DataHeight="256">
<BitmapFile>
<![CDATA[789CED9D3D76DCBA1284B95C2DC24BB82BD0069C2BBFB153A70A152ABBA1B379FDD4C7754A0D92E210DD2431AA2FF0D18C6400C44FA1D100D1D32484104208218410420821841042082184104208218410420821841042082184A8E5E7CF9FAFAFAFFFFDF7DFED2FEFEFEFBF7EFD7A7A7A3ABB68F7F1F2F2F2F6F6E68FF0E7CF1F7BA87FFEF9C77F65CF885FE1B7F6E5B90536AC84B755F008E9D9E5A62C84189125E53191FCF1E3474A16A6CC36A7A424B584A53FFB1436912DFDEA0A1A28FD17429C88AB81D9FF66219B5AB29D9C22DA48D07EE84F6D96158567ECCFDEFE72110DB44596CDB328E15B43D614EC48FF85108C697E1019FB062AD19FBE250E89FBFDFB777F82819F3F7FA2B448DF74953D5A46EBED797E7EBE828F8B35F9DF7FFF3D2C2FE9BF102260B2C0E6744A9A2CD1E95EF7D7D7D7D9D272A6F637B999E662B27F8C2C4BFFC50EAC7FBA3565FFA69B28ED9A97A94E7F0BFD651882B0497A4BF5D8F09A22D7A7013B3F9496B5CE7EF5EF028925E901B398AD95EA5625D27F712F6C47559870B755AAD3DF427F192ECEF3F373F096DC3EBCE5B9428D942DAF8A64DBD96AACC64513D4ED95F358B6462FCA453C12C1269C1D683D540FCF2D22308A4454D0CEEFA63FE95E1AD8FF89C78A9C2DF6FF108D5BBD5132515DB5D525C42CD5FA2FCE85BDFD263B15CE8752FF3FF7CFA54C839CC2DF9EBB12E9A7B4A2AA17F2E22191FE9F8EEB159CD5DE22EEBF758BD1BFDF67D0CE36ABCD022F2F2F1965FF64D6DA2A20254DC6CAD9EA7C38FF13161D98F28ACCEC1EAC48B365EE870F9A5E73FA13174466C3E92CE9FFF3F333B7C83EFDE7F333BEDF0D794C7111BFD59FFF6F372F5A4CFD4C5A6D02E23FCE15D87DB4E70D2AF4998F18F1CF59B37C11D53335DC92757BEE68507F84DC270AE52F7A9CD2F33FE24B96F4DF6D456B14DF31DCA7FF6C9F07B214BBFAFDDF9547B04A5BFAD545CC98D9B281AC5C5009DEA66F74514656161540D08A8C0718B775B2161E21F78942F90F781C713C4BFAEFF7D8B803C466FCDD8A61FFD7A692B03938DC1540563F30AEEC59EC8960DEAFFCEA740ED07F3E7CEB6EC3235F3AEBC19A297D2A9C4DBFCE15161E21F78942F90F781C713CB3FAEF83DA667C577EB8C1CF2DAAB81A300C82CDC94B802B4FF4304B8AA6EC303356101E21F78942F90F781C7130B3FAEFBDC8BF79FF40FA2F5AB0A11C3481970017DC0707D8AD28F2D7611EAC389CE0C036F347081F3B09E53FE07144C01B145B69789DAABF09FC42366CBEBC7DBEA20DD71AF01998DD79B1FF47EBC7E3A9A87FF636B40E67DE6BBEF212A07492C2FC58BA45151E21F18942F98F791CC1F828B375747B8542E714307BF8165FB2FDD0A9FF7CFF40E97013B314D53FF79FD62110AEC8E8CF4E88EF49106A1BBC58B79E5DB4AF81CD108EA85D7967F09150FD0B313A70CBC3D0F2717DF18D18BC44C06A831323BA25A61AD5BF1042883A6C1EF9F3815B23F8A8F94508211E9BE062C2C78B4746104208D109BC4C6EF0878F420821841042082184104208218410E22E702DA75F427EE557AD85104224C201176E97BF704F0821441641FF6FBA9C4D0821CE0697631F73D54688C2D34F28FFC18F23841043E39A7C4C1CB48A58A8A1FC473E8E10420CCDEC6DBAD57925EA7F28FF918F238410CCCBCB0BDF85FBFEFE7EF18BC4E19C3FE02A8C0AFD0FE54F7F9CA7A7278F4CC165DEFEE576503945CE2B0E8457917E35567E5FDC2D552F877E08EFF5AFFCCA92E59832B7BF11722F7E6DE92C66F358B75F0AF8DE72BA9BB4DD19BC6639B7F0E3C70F0E61C35CB92FE12A8C0364A142FF43F9D31F87BB28425C6DFF723BB8F3B6AEB77BFAE306B7420DB7D7B6E0D27880BF59F9D5B41A7F3CDD72B392ECE818DB135F7996594ED7D587D17F13FF9569F7CAFACF21D2AACB59A1FFA1FCE98F7398FEE3BFD7F5769788A1431D2116247F89174CEC01318D7A00B8955F3987294F45E7073BC4BFB4A76D84ADB52B97F34B78FD68A545647393209382A2D0EDC3513A048AC0B28ECB3CFB65A7FF07FA5F67227AFD0F7DF876365C08A207FA8C8F65F8FAAF9CDBC774C083D4FE12B65CD65A090E284B395D0DD8F0B00263756319E1F16F57B54297E2B30F04DB9CD79FAA4E6444FD3F0C8CE2DC51E031794D072C7DAF7FFBD77EB66FEC871177C9FD29F82D42F4ABF0D16A123FFB1FF3AFFC8F676B9B15B5BFC05883DC6A8E2560B66ADFACE407B9ACBA62521EF4D85E6E6F7960A4FF2B98095A314ED75DAC239A2B30B7E09FDFA2FFEDAF56B2E0E57C56696F352B2F0E62DEA63F84FE73158D1590852BBFE5ECD25D0EE9FF0AE84BE9FA6F66D5DB07709EFB47FB7E08FD7F7E7E867F3BC46FF2BAEAB1FF03FC5F6E9F770AF601E3B668DB9D15BEDD161F42FFA7EEBDB3B390FEDF85F47F8522FD67BCFE2F7E2039D00E31D3E4701634A8FAACFFDFB5B1F5FF7346ACFC596DC127432AECFF75855F5FFD5D6A4640E5576C9194824E25595B47FABF0284AE2E0B17A27E9BF64860F99B78E2E7970FFCE79F3F7FE2E7F690CFCAAF18DE27850A65C963A9FFFF61F41F73FA405D74DDFE97CA017FC58637AADC0531E2FE631107E83F2ABF2E8B74BCCCEE3CC1E11FF712BBDDE59B9EEDAB3710B7955F39E1F064855B0C534FBA71FB30FA3F7D3E0E3A846752FABF9176653D502B1F86D7495DFADE0A036DB1617C6128F147FCD67A914D01B0E1C34BBE2BBF9A3E1BE7A51B22458BDFC7F0FF83118F8362722F1DBC436363905B56FA0FFC7CA6550EBFFF651FB316477CFE13EF7F8D72FE735DFF27F2DBEC8E28C19E9F6AB773C5FBBF6C330F7AFE2750BD639E0E37C1409BD7C723FF7FCBCA0A3D65721CFAFC67D07F5C6184FED37E732FE893A3F89C5B463FFF1F18F13828BB10790AB067B9F8103B12DEE23FBB2C5781CF6742CA120F670E7DFE13F23EEBFF773ADF9BE3C53B46AE2565DF8F627FF2230CF7FEEF2C3C6D5D7C89EAACDFFF33D671A63AB8A35A75F9A47976A1AE02CC9EBA2C5C0D2EAEF9017803F8FC4FD084D94B8136B2BE8537CA727ED0FB7FD62B1F423144B8D895FB3FC73A715D071FF10243CCEF0700E3B6CE4E2BBAFF6DF64E1ECCF5EDA6E4BEC441EBA8C11EEE3E41E32DE02FF3BA2C23DEFFB945FF4B47443AEDFDFF361064FF035F93F2415FE9BF83356F5D8578FA156E0DA8BD9B3A7C50BF3F71BCFF6BDD66C994C2A540FBB23085B19479E7D17AE9703D73B8FBFF1F4FFF85D807CE470D1AFF05AE66E88F96BD4208F14D60FFE7289BA742082184E6AF7351FD0B214E41FEAB7351FD0B214E019B2F61FFFAF41DD26F82EA5F08710AA5E757C597A8FE85104208218410420821C465E157D88EDCAD18F1663F21EE82AFD57A7D7D553F175743FA2F4411EDFD003A13B8825F82A1CBD58F44FA2F4411B3F7C38C722767806F062BCAA242FFBDC01E332831D98741FA2F44353F7EFCC099F0118347F0CDE723EABF165F4B48FF8538001E68C3DDCCC921BAEAFC3315FAEF7182C69D79AB91FE0B710C58020C742DBF83A15AFA365391FF9F4330E4A65CCDD2FDD289421DCC12DC55EEBD34ABB939593F0891A5FFD5F397DF49CE373B794C84DC983E5C3F66A5588EB9E987B005388B028F6ECA14CC5DB43F35862F7F0E89AFFCEA4BB81386CEC3BF6AE392EF837B514A4C8D2FEF9FCFB2AC8A9A3550B7FF7B4CF9D33958FF39DA26E85FABCEC627C28D199DBDB45AFF974696696956589CD9564E5C132DF5226E97FEEC5E5E5E38F1DC5DCED085B8B421C0D6BDDD95C34E61CEE510DE59B67A6885943945FABF9163CA9F0EDA17EDE81F8BF47F891E5B3498671EBC3BB1971EA3FF5E6C1BB321385A4A163C1522AC70A2FE87C87A6DFDA7641772C9757104CB64F6A215E7DE3D3E967A280F5751D62CCFAD7C4BF2458780A46F0D5985471629A92D21FD0F1CAFFF309FB8BBF6D8723C3CB9D8BC16BEB2FEB7E12FF98952B280DA14DD198ED272FAC15CEFD47FA8E89F0F729573A2FDC756227CDEE9395DC3AE9E970F2A7A14D2C4B3A4EC021FB37F97DBE19790FE070ED67FB3B2F8573CE876A70F710B0333CBF970F0FEB565C7866E4A9AA8A28A9EBF523FFC209DFA0F6BE1F503FF39EBB81D3C3C367F61F2C56FFDA37D8FEEBAE35978FAE0E0CE29E59F688AB134D1DC61B8F527DEDF8EB3B029989E387380FE8F7504F460FD0FC92E49F75D2C4D229CEF10FA6F1356F09C6475D4B3F43F5137D0CA6C3F671DB783E65BFD20712F30A6066E9D1DAE75F60281C4F50B56BBA63FBCBEC8DAE5E7E0238927074287AFB6AFEAF49FBB7A5116155C44FF6F1DF3FE529D0FA4FF2632ECAD72CC90CBD287D1F59F97724F1FE0638A8B03956F05C6E3F8B3606AB0B6601B7B472E611F21EBCCCFF47987DACAC9F593D863514B89CB16F64C1E7048BBF4FE072B3FAA28318BB0A0B0F6B56F9091CDCB3D2A7111FDEF31E496EABC42FF2B1677EDE1251B5FB9EFEF8CAEFF7CB2D7BF8139DAAF45AC967E1AD9D71A5E579EB5F74F96D91D36306FA4DE52F762DAFD1DD44F622E7CD75CD64008F67FF56B6B75FA1F46716216B7BF6E49967DA6473C0FD6FFD06D72FDFFB7CF8B085E0567E97FE2994CC04E72AB9FDC63F9CED0FACF9E13E8030FB7CE16E17EE2DF403CA7BFC301F30EFEF2DE130BB3279F53FCF33C7F614D917BF21670B2895A2DFFFF0AC16C706C22B08CACB97D46D89DF8F1E77F9051D6FB2F9C0E2ADF72E17ACBD2FFDBC71460A57DFE2045AB9132774B4B39F17CFBD0FA0F7108764E962DDA560E6604786CA07590F1BBA49B170EBF3EC0C7FEF71F3935EE90EDA048819B23D1164269B3129C65C4F33FFE66A527EEB21FAABDA77D4F39FF6F4F1126B5C4F3FFB364E97F38829E6259B165E867AA914BBF38F8AE65B85C25F7E476B5FE2FE9FCD2BC702F282126DCB647A17FB68B85BB1E01454DBC3166E93411F7AB9EF4DB33FF4836D1B99452D42F1951FF4B3958FFC3169853F4FE6FFAFD0F7EF28167AE942530BB5503FD1D351C4B60B2DC02A5FACF2D1B664336AA773744D839C5F7EC6865956B370BBE847518FF85F3EDF10271FD84056396AF66A9FF38BB935DCA252BC159A4FF8123F5DFC7917DE4CDBB8AFB7F902C1A2545FF314ECDF274C5CEAA255395B0B9E3EF02A7F897AC90B3F3CB10FA8F369D3535FB4FA42C2D22D8231DD61D7CD2F2CBF459E783ECCCCE0BF7327BB9044879D1A0ED39CCEE649772C94A7016E97FE000FD17A70353709463C9E2BBD13F156E41F77F06A4FFDF043ED328C4D5D0FDFFA720FDFF265883BA4FE9EC82083183E27F9D82F45F08710514FFF778A4FF42886F42E9FD0F2322FD174288EFC901F1BF8410425C10E9BF104208218410420821841042082184104208218410428871E1374FF13AE7AF5FBF0E88487B71BC36D203920A21C4E93C3D3DCDC654E589E0EC329E0957852E8F12423C127CFFBF87F5349BDF960308F170CB08313F2E6136AC084E2D8410A700916FAF9DE7586FA597D25F1C0EE29318935A0821CE05CE9F59573F2E25FECEAFC3AFC477134288718171FBFEFECEF17FA78FA04E981DBEB3EE49FFC5C5E198C2B666B79FDD9CB3E5EA8A75B73D71F603CF061AEE278400E6A748818B8D94F14D4A463F7FFEE45334FE0829E74638D9FED4024BF191999EA7288D8FBC9E7E0A27A6CFF5B33BB4CA89E547BF0DA708EE6AF7EAFE03C2F8B59F8770F72D5D61678F93A26F9C7E8852848C3A1F01F1790359874F66D3CFED3C1C883CD09F78A9FE4F4DF0A940E7FEAFF47F5FFAFC7D4F1348FFB7B0347EAF7FF8814B6E3FDB58E6889CFD95B334BF303DE722789F3190A2FF963EA76979B56D9DD8796C09F3F69794C4A762FD0FEDFBF699FEC95DFABF2F7D0EAADB33BEA4FF5FB262BCDD2E3F052C9593CF7527EA3F040147073BFB151B9FBCC87D7E7E4EE9AEB3E98773EF3DF5C38B8B76916E4FD17F68B054FF7FFCF8B154F814A4FF3BD2873BF7D67DF84AFABFCED2F8657DBBF2DB7F2864D07F38FF3BF58DEBDFBAE56CD63D867AB57303E99B1DC5DF67D50FD2B709A5BBB05F64515445F6F861099618CE55FABF3D7DEB42361D73CFEC7FE94CFABF0E4FB5E157F83EE8DEA5E079CACAE9AFF04C9FEB2D4BFF97DAB747FAA03C45AF9A2EA59F553F5847D80FFF2ED0F908D5FACF5D88B1AA0B87827620FDDF9EBED7397E4EF13C48FFD7C1F86DF5E700D32E8575FF554FE54CDBDAF7D6A14B48A148FF97D2CFD2FFF59AEFAC1CA7FAFC0F1237CBD3AAC24C88C44959FABF3D7D262C5753D297FEB7208515FDAF1877B9D898352BAEDDF9EDAC9CA9DEFE5F997F53584A3FDDFE5FA1F3114AFB218C87B0F9821C3BF72FC2F931FE95F43FA4CF0BB1ACED982BE87F98CB76EB7F45FF7900FB7F161EC259FA1FFA24BE1FC2FF1FD2CFF2FFC37F183A093A677FE729ADA2D9C19B353986A4824343FA1FD2B731CBC71552B61D8F2CFFCA1114B62276EB7F45FF19DDFFEF58CF09AE5AB625B2CE8F713D679DFF611DE6F9C53A7FBFF3795A788926EC78669DFFE17466EDEA7D3C8CFDCF5D259CFB4D497F74FDF7F4734F9E1CECBFC23B53E1A51B361197E685BBD20F47F876977FF4F33F8E0F25FBD78F6DF38E40A75FA5F54F5AB5072F53A7442CB9505296C0E1FCFF2C9D262E97DFCA6CA32CF17069F0E979FB26DE453CEBFFE74DED5CFD77C28ED5A0EF37D5A59F283EC7EF5F58775D1AD1E1FB2D4BE3EAFE330D7EFE7FFA6C42B76DD169452FF92741FFE468255C7A05AC336567F6FD5F7E964EFD5F297F67E5B03833B97B255F9E1FE859FF72FFB18EDA565467177D48FD9F3E374ACF2B0047967F76A079FBCE0E902DA3E3CBF46F19E377DCF77F1DDFFF6DDF05EE4F39F49F7FE8AEA1C4FB7FA60FAD0BCB96C4FB37DA6B8B96FC36BBE1F25B6FB7E6E84FD6AF456ABB65FA5E79B8FC2431BBA0FF36D6C25D5589F6C923E9FF445340CF147958F9BD93B03E98796FBDD7D78FDE93310BF849F5CEF453FA0F0851F0525E7E7F00AAFBCF59E4DEFF53CA40E7D05A1EB5FF6431FAFC251E9B47ED3F03E93F1735CBDA398C03FA8F656129D7596BA5E94BFFBF1BF0860D115CF551FBCF40FA1FF6777C3930C4E5B4537DFFE1FDFD8A3AA94E5FFAFFAD80DB7994770A1EB5FF0CA4FF13DD620146D9991A5DDF94BEC8825FEE186521FFA8FD672CFD0FDB67BEB37676A1367140FFF105915F9E365CFAD2FF6F42D60B534208218410420821841042082184104208218410420821841042082184104208218410428871E14B27FAC3C108211269E35B0D7439401B9FE8FA57A930B755CE2E5D021CC875A04B8784F82648FF4FE46D95B34BD74B08BBA67036425C0DE8FF7FFFFDF7EF070349A84746E080D70315FEE1E1708AA35C172FC4B722C4371C1484A893FEB7A072AA9BD82A3F44014EC977A5FC1C4577DF8DC44F4F4FBF7EFDE210877EB9714547AA6E08AB8DD7D757BEA5D93E262EBB381689E19155B3E06ED33625DF5EBB3DF40042B5DE167C8FEC40E88932EFB02F252BA6F36D033D1E9B83F51FED987B7FB8F47F8563F49FC75A4BCFE05A2ABFE90FB46E7738929532A75F715FDA10EDB40BB262B5F056BE611F53927538E536381116F8CEF664577A08F71FFBA1F701A4FF1B40856F0CBFBE11E9FF0A07E8FF8AF880DDB92F951FDFF71C2BAA1B592D750DF165FDA74C0141841343C8857302B7CF8B8BB0EEB8DDA31EBC420C4E485EF4A5C851BAFEB7D592DE4B8FD4FFBAE083D2FF15AAF59FAD149362FBE883D7FEB59F790B785F479D2D3F07A5EDD95CB87D68A3A58019C4BA10BB5076A7DC52D4105C15F62C9032FB21710BC6EA074D8CFAC93AD08595055266B7157403BFBD6BE9C17602A61596D67ECF8F93AEFFD367C75785B81DA9FF7011E4AE1C27E9FF2AD5FACF0ADFD63F74E3B67795DD969FD3EC1CBCB31D8667B49EC403450DC1766CF0C9B3E5DC992924DAD2491FC898A766FDC3FCA5FF70D77286FD3CE82D58CBA4787E9C0AFD9F6A8A0A0ED37FEE8AB93B4793F47F9552FDE73EBF24C5BC35B0A381DAF2432E8AA2D8B3A256249BDB10EB0A9FF52C90D0970F721509258459CE2D0B0164A3FDAEF479896489F04646A26214E97FA2B5D37298FEC3A6AAC848FABF022B006B458A739B4DE5A5A326EC83DD91E96CF98B9ADB12E4ECB2764E9D71F59F85F7C7072CA71D658F894FA4F6F022FA479F1176E78B7AE05D8C5C4704F7F3DCFD4D1E65B947A90FD37F547BC57B4045FA8FF566BB6041B74C3F2592CE8A7E9AFDD6D951B9672E553EDB45B9FA9FD86983F25774A771F51F0301663986737FFF67CF12E7E542015175D3174BBF7BA59BE7ACF02C59F0CC922EA729A71D5A8ED17FE452E1C29ACAF41F7DA6ED6C2B53C3D558D1CFDBE74DB11D9CABFF59A3B83DBC6AD592BEB81857FFDB8D57DEB1DD9DAC13241D82EF330B069ADBBDC877C7D22C9C5FCD3544D9F8AF483FE5B473CB31FA5F74EC1FD4F97F3CE5D0C90732FEA785FD5356BC9EA73852FF517E7F692BA5FC537378D28F30F524B8C4A0FACFCA06CB93CDE94EA1433ABE140D0E9FE00EDABD0530358644AE738F4F4170F913E167CFEAA2C7E83F2AA7C83F5FA7FFA81FAE704C0AD737FEA765D94931278EF4FF2F9DFFDFAD6CA16C75CAEF0CAAFF301582A041997B362567F59C35BFCDFACBFE360B6F01832C5F3A8F823A5FFD54701CF400FDAF3BF60F4AF77F3D71147E7646B832A5FAB9E5FC4F67A75D2A7FCA29CD2FAF08486450FDC77F0F5E505E82ED4B799ADB59E02FD1C4BCC4DBB1F5108E80B2F32AC58443E2DE04ECABEF4F3C80C74F91D303F41FB5512798A5FA8F2A727B63D6237465966427AB23F1CAB795D08AF3FF0E4BF7EEC223F15C6FC07A5E03E9FFACF3C7497101CD8AF9BA2F7D76CA58A77D052C28760FED69D24E87E73AB9C741ABF5BFF4D83FA83EFFE92E62EB6FC319FFD382ECB04DDED98BC2FBBFB6E64543DBB0AD78FFD7DF2C46B23DF3170F5EACD6AD95EDFBBAB7D407D2FFF5572DA0DEFB664F160756F8F6C207960E9E1DB648CAACFB91BFECD9BF587AC36EF6A5E32CB6385D3752ADFF185FE96F2E30D5FA1FDE40AF736455B07E7E26A5D2B6DCFFB3DBC0FEB2FC29F79FCCD2E9BF3DE0FEAEA952FF59DC66CF5BF203EE50B995C5059FA50CC3EDDE75C7D26D1E295E9A25DF26F7ABDDE713D63B270ADF33BF54DFFF5F7AECFFC8FBFFB9438E15CA645D3FB39EE580FB3F67E93F82D57A1B40A7536874FDE73DD3D9CD119E2076CC9510CF56815957DB2686A47FD9FA2BEF9E6FD9BA5A8767A2B6F257EEE5D8C816FD6F9FAB338B44CF0636F78BBCE547C6FF3A6017BB8859FD34654BBFE5BEBDFF3F259703CAEF25E70D91949BF347D7FF2DF76CE06F76CC952B2788D6FD334B4792025F5EF296753261F6BFB3B4EEF3AE8CAEFFD5C7FE0F8EFFE8DD55574C082184104208218410420821841042082184104208218410420821841042082184104208218410DF8ADBC7CD39AFAFAFBA73400821BE157CB3CD58774E0A2184E881F57F9468B3E2CA3C3F3FFFFEFD3BDCA8691FED4B8FBE2D84B80E7C43697A3461F17DF8E79F7F3884C12C03053513E29B80E1591A424B3C307C9BFAFBFBBB47F971CCECB78FD6B56C8179AFFEF355FF4B8B530E11B22F9CCA52FC174BEDD7AF5F898B62AB25AF07ACB82D6B0E67B98F95F805294EDD95F83829137A51D8CA16EB8A56FF21F297656A4F311B7D6623EBE5EF7FBAEAFAC1282B4A7FA5FC1C0068F7EC531D7F7036BE3CC775E5F18B9001DB2B733D7E3DC700EA6CA3A2F82908F16082B69ED4BD42C7DD6349CA78EAD9B7805DEF3FF650FD2A6A0FBE12C2B25345D7CB6F12D7E9797B0CFDAF5389D1F5FFACF46D50B02DD49F7E7ACB86F4B9B7B315C1B293AEFFAD2F7DDF53ACC74FEC09A0E355612DD863442D81122E9907FC5CFBB2F8B2FFDCF6C6D703EBF18B4BF5DFE999C21E40FFB7C48F96FE1F9C3EF7AB9EAD87E3F53FD8E4EC76C8D5FF3674ECBE36DAD2FFF7A58C107828BCD53687CFF3EFEDCF7C9AB8D71CFD52DEF1DBFEF523D7803531F7ABD9E8E41BE1A522AF266C4EB1AAB0DF76AE2F66CBEFBE8E945130BAFE70143FAF7FCCE69DF1191DE9FF8EF439746667BE87951F12C723DA418FCAD57FAC8F7AEA2AF47FFBE8A5B57FED67CE62873987AAF034B95941BBF4D8AE782BC1D377A71958599FF6543BE0456EC51269A37FF5DBEA0FF7F050FF3C34A4FF47A6CF8D92B5FF7598FEC3F903F5C3FA2551FF7996E97946AEEAB693F35A668717CE0B86FFE879B995E59BBFC8DD2A0D4B83BB0E1BB793604B8AFFB0AD5BAEFF7D89F3845814A57AA3FEDC1AF54B49BF9FD2F439FE785BFFD2FF53D2E76557BF0BF160FD87609AA04D7F25022EA02CFDE77EEB3E937DCFC8E96C71A1DF3B0ABCF05E2AE4C5DE1218F0FE258CEAED1E3FEE2D4BF448EB52FF49391ACD0A53F406C47AFFE72540E7FEF888FAB35EFFD2FF23D3F71EC88AB4EFC0DE52FAC7E83FCC72173488A71B5759FACF1E7B3F48B9EF19B9876F394273EF743CABFF219150725F3D6D77D7F30A851F814DEB94F37B4BF4F4D214855967BDFFF370DB676BADD44FCA13ADA4DF6F1CCED63F7FD9FF2C5FF69F95D6B92BFD07D0FF408A3BF460FD87327BE1837D9BA2FFEDB1D81DC93A5BF4A7472230FD4D9BF59FA78C8DC0E1C6B306EC735F88ED66A57FFEF9F3A7F3A548E97F4FFAD2FFE971F5BFE74CC56CFA07E83FDC17AC39FC4D8AFEF38EA1FBC92FABFF98AABC9C5EF220C8A1E43BF49F9F025FA2963A257A7DFC766EDA4AFF7BD297FE4F0FA4FF6639276EFBB6E95797FFF9F91972C79317BB807AF4DF9D1BEC8DEFD9560EFF71A587F748042644FF8FC8CEDADAAACB3D57BE6242C9FD0FEEF2D8F3511CF7E2B2F3A7E2FC40D8B9DE9D382FE54EF1FFF738F7B6A4DFCF61FEFFA2FB6DE4FFDF9E3E4B4D567687951F5216B4945D403DFACF7EFE5BF76B05E13FDE6AFCFF283F4EE02C6DD77AC991D7BDC735514B3E712097FE465FEA3F29A63B6F5E9C72FEA767737F4BFAFD94A6CFF5DFE9275C42FA7F57FA7CAC31C5057458F9A15DED694374B04EFDE7D78A79B4EED6FF2DE77F3ADF82C110C384E517DDF0B87BFBB8E866A29785EFCD25543E8CF3FECB194AF57FFAFCAAF8C1E7FF7966DFAD7EA3EB0FD77FC5142CFDBF377DF698D58DDF2C903E34ADED45F8157ED8A1FF5C2D6166DCADFFD3EAFB2F53F7F97F073A6353C092545A46583DED5B8973E574169899ED3F2B73F1BDB008F3FBBFEE2DF4D722D2CBCFAE4867B7F76974FD09EF24DA0845553C3D3D597358BE3D2E44E9FF8EF42105FD2F451E56FE95A1C4D6E9BD8569D36F65AD47FFC3FBBF7CE1A415BBF3FD5FC02AF7F671A722AE000DCB81DD3658EB594A31E7BEDCBFEBF71BACBFC2D0F9145BF61F53DE8F68C9BDFFA7256B44B72FEC273E88F47F47FAA6F929FB6B4BE92712FAE792CD195E53EDD1FF951755F63DE396FB7FFADFC5E0FD91593AEFD26C2F97A83E7F72CBBBB4615D824ACB5F773E6A14FD9F3E36E2575E242F7A7FFCCBDFF6A7DFCF59E9675D0174B0FE2F9952C1C6DBADFFB3FFB153FFA7AFEEFF4C0CFD609A6C5AC70F65F3BBA59F72177DB8BCBD3FC169417F70397F4A168ECD237CFF76E9FDFF5EE729E57F0CFD77AC422C4D9E08ECA375D7EF7CFFFF89E9B36B62F75EF0C1FABFE4470DD6E96EFD9F55837EFD9FCAEEFF17420821841042082184104208218410420821841042082184104208218410420821841042082184104208218410425C81101C560821C4F7C1AF5A4D89D324841062203878EED96511857828436F6BFB2125B2F36C2EB8BC3A25C1A59BE7999EFBB19F9F9F7FFFFEDD8678B0FAE9BCF67F0564D4BFEE6EA339982D9715CD81797979E1C8089645E2B5E43BA2F2DD8547B8432EB955C4D10AFCC2F6DDA13C5BAC13FAB02DAA190CD8C40823E25E3C368D357445FC7174A14056E42C6638FD5F4FB9C8284AD4FF95E02C59DD89034307B2C2B573B7498F76B112F32E455497524EB11FB86672A31D391C15253D71B105EBF0B91D32B0D2FFB342748174FD5F890998A2185F269E68CBB59996EAFF2DC9AFBB1E3334658AC446E42D6F4E71429CBBB70FD81CEACFEEF661F687B0655EF9FD5340B5FEDBE48EF44F89337571BFD301C52BD57F9EDFD1D5391466EE03A6EBFF44FAD31F01B9C52ADC6A208C538E05DC93A9A5FC364750A41E5F9C35A5D5398F5C7B168E25DA291AF6DFDBFE93181C1C709F4CF4BC2DE93C6797959763CD91E8CEB2AA2EF5FF9C8535312AEAECB2ACE1F3B815B5CE1B3C55FA7FD0CF8329882E9AEBF7ABD0FFE9F31450DA10804DC4DD89706DAC5031B4B32408351FD2E17921A5452A96002BC62D1B5DE976EFE946F595F128B7DCFFCF2ED11A5CCE1143F142C7C2F885159A7BF4AB48FF2712A28A6D8B16B6D2772772A2FE67B52F0A195C5515FAB964ABF480428675505D4775F02CB9EEACA1B1E570F025DAC74EFFC396F175B5321FC9D2F82DEAFFA5C38AA780D289988DDB1E71369BD6EDF0E024596A944430EF773ACD50D4E0A4B221805F65B5052F01B26A06AE3C6B080C5BF6EFA51C84B344D8D0B20A41FDA46FB10D07BB7AD016362DA65871ABC29F264456542B70788444A750FA506A537E00FD9F3EEF4526CEC2D6BEEE990F737DBF470E3AC03A93AE725CC8E0FFEFF1EFB1911FE65CAEA8AEA27F06254F5C027051ED671EC529C6F9ECFE384F31FD598C4B70F5A41BCFFF6E2031BB763990D285603CA49F3659929A41F57FFA3CDCB21C412C7490CDAC8E0A4D837E2E35CA0EACC3AC1F91EAB428426ABE619DDEFF013744A25004FBD31F2465AC057D0B878B9C6376ACAE496257BC0E412EFA13846C5A2FCD9D0296A4665CFD9F680AC85A5CB7FAEFEBBB94C4A7BFBBB128ED52A3EC80FD302DFDE92329366841D189ACDCC69D680ACEAD9C89EA87AB224CCA3DBA677387F7F6A2F33FD5E9BFBCBC84D3B6B9B3C0C1F67FD8BCB647CB3A94CB5D34F1E5DCA5DE9E2BD468D363F4BFC84A746CF0627EC9326E710AD75B365182B82A2ADECFC5E0B57AB604D14BEDFBA2CD0B7EA2145B88172C567E1EBF9DEDBBD20F79BAECB1FFABCFFF57A7EF58E5F02CE087AE5352BE6D2025233FCB8D34ED71D29587DB224B79BE3CFFD36F657957F7021FA3FF53D9F955873722B3CC15F60221F15CFDAFF0339C728E059DB3DF28E5F75F306079D1D433C5AC1C82CA1A088FA1FF4E9805528CE7DB063AB3084B980AE507DC33539CDB4B1B6AD0CFCE71CD479DCDFEACD8F6B211DA5678F58D31788A742F105B11FD89571F3567893BE0D8AD93380AA06FC15585B5526713A09C41CAD0CA9D2EB2EAF7BF8E7FBF2CCC0217BF7A94FD78A5CA0F967AD43E7828CDBEFFDBBFC4B62C66B720BBCBFE7FF0AAA9F54F1475F6A5D4DDF8C91FAE07AE9F44FD6F7719725DD045FB6BFC2A41DD81D50024A2B37D79678DBF478FED7C229493CF4771FFA936AA07856781B3CBB246B5F29B79603D042B779688AC9E337BF99B9335E9C38A48D7FF95C2A788DE97AF68E51ABD61173557FF8BDA176F3100FB88B3B23D29B713E22C3D7EAD7084D5E7FAACCDD9E9B37FA9A5627FFC91F0E3946797628DD2B7BDD88ECDEDF60CDFD6C298B4E67A8CC3C9C0A26499FEA609E7F70215E62ECF6843E8FFF431052CB5424FB21BF5BF6E8ACF7AF96B3671938EC33C66624456C4275D79F81545EB99450BF9A2D75EFCD815AFB5130F9299B8852BF42DA3BABB3E72F77FA7D5F931D7A9EBADC0EF5F743A6F8FD1FFA9E93FF6436EFC023F19052BCB17F559898B07268CA9F4C81A420821841042082184104208218410420821841042082184104208218410420821841042082184104208712EB8C23431A6A4E3770A59E2DF39C8AF10425C165C91977EB316AEB03B2C7ECA40208EDE6161238410824108A42289C6E4724070A8E1F065D7C5837C09710C1E7FE4EC527C2F70ED734A34F916848049772E3D009A1C1F1B5BE21D1C3F341DD887EEC245509E0A8F6E9DFEC3C5BD943E824DBCBFBFDFAB846DFC05CB0557DC734480AB0D73C4472E1567DCFCAF802F0104DF797D7D3DBB2C7B28D5370CC9FE20B667C1C195068D79018970ED824737C55CB4C4AD8AACF370D82F8F3F926E8EA22DDA9459A2EF7DBA952845A67BFC5C5713FF890212950E3154514A40B14782E3639E5D963D94EA1BA4665CFFD803E8FFF4378422066FE2585E524E27DDA870350EB62E1638360B400F37C65DFD323EF295C57F3ACAFF50BDC5302E30AE6E059BEF0750AD6F309FAE397CBEE401FC3FD35F95C023B8B59CF24441EDFF7CC05FE6DAA530B7F8C485AD357800A2CB6D4930442B864F2C84AEBEECEA1E252CF5CCB0CAD5E5520DCCD11185BA086BD9527DC3FC32B47E0E8AA9D9BF1FC03D32FBD1D83D22ACF39854427CE0FF8726A72B86CF657C221D3670F8B8E5A150C8B05EE871281DC961B22CFD173BC011D95BCD86A3586163FCF15BDE0166E83FFC30E98A015B142B8B9051A7FE5BFA2104BCFF70C1D32FDCBED57921A371C57338FD9F1DBFA3141E603C0EFA96C461432C9D53F4DF74122D9E229B667843906D5961560426171F0BF82DCAB07DA4F03AE5E7CF9F26FE107CFBC1B286EBFB763D1FA6F4FF2EA4FFA7801174410B6A0BE3EA3FE38F803D5F57B9C4E31C2ECBC1F96F1F3BFDD2ED10B05E84B3A06EB407C1BFCBFFCF82BF5472FCC1C63DE5C338D22D8F8C2A361A4C22581CAC9EB3A65A4B074E4E3E8E882FAF36A7338FA1FF138DA0110BFF18FAEF2209050B1F3B993D426959F46B05B4DD2617D8F92F1FF8CF367EF1B3FD014AB27DBF095B602CFEDC51D99775B503F0C7EB7F7ACA5882F92234F7443D2F4567D1BEE4018CFB22C0914BEC0AACFC6EE7B017AEFDC8475FEE02A6388BA70966D65E8FA7E9C661B88B86AF266B6DF8BB2C0D36A491E3D5A47E96632CABD283DC683E6ECAAC1BE7A4FF5760DCF363ACFF43084260FBF9F67D02C2FE7338FFB30ADF5E3EE61F7DD982DFFAE48592D86FEF7D16AC2CF8FC6ABFF3EA001EE3FC3F8EF5A2212AA6B3E1FCFF8FC4A02F02B0FE17759B502DFE31EB5D8C6AFDC77FF7D57AEEFD0F4BFA7FFB6B4540F37B6C457E85D372B4A4A04229FEB1D26E8FF63DE6FDDFA2231C56ED6CA85BB34AFF1F0C76D29E5D963B384CFF31B2EA065A100A9F913B7583F7464D39A1FF66399BE275EE2FAFDBFF139D2EEE997420A16DB2B78C455FA97262655DFA8A3D5A39F708F796F36989834EFA7F2283BE08C0C7FF2ABA0DC6AFEB43F8984BD8F375E3B9733AE6BDD1593AF5D31309FE7FDE19847AEF6E1DA480232889937E69833AB09CABEFFFAC70FE7057C1E51EFC65625ED2FF73C16A7DA05BA4D87F52BA26753B7C56E2B28056FB473C5A67B2BC05D0D2B9BE802B86CFFF045F4A67E82B567BBFF933517F42FB5650AACF53657099E963116A35E333977724AF28FBC66F644DCC0BAFC30F647F3E12E8A8035D07C7FA5F61C205174769B825AC657C20A339FAC775B83FF9F6B1ACB0E1DCEFF466E73C520E7F83E7DABD69B27405687FF98F899F55B704A89E5C98704B95783CE048BCE66D2A2DD5FA8F6D11EFF6E1632EE1226878E412EFFDABB8FF9FDFFF5DB2A27129D0EE5CAC4E2AB6204B1B143C46FC5FCF6BACFD41711770415CF64245D183E27F89DD60F23DBB2042082184104208218410420821841042082184104208210AF91F8E316CFE]]>
</BitmapFile>
</BitmapFromFile>
</Producers>
</Bitmap>
<Material Name="FontMaterial" Shading="1" Light="0" Blend="2" Font="Font"/>
<Material Name="ScreenMaterial" Color="0.251 0 0.502 1"/>
<Variable Name="ScreenScale"/>
</Content>
</ZApplication>
Thanks