IH2020.3.22f1 sn0“I?'B0=lm%=odNHdBHԀ AL[ "y &caebjS""hhN+Qmٹַd;uGE>޹PBa"r0ؚm4xIx @$n{̱qޙ:2JR6D<EH:F(!6,W-0oTTP'ȶUt' u' ?v'Mw' Nx'Ne'P'h' ',^'HQ'h<'@d'y'\'h'h0'0(ȥt(HR(l4*(L*(hBG((\Gx(H(H`(HH((pI(8Ix (3IX (=IL *XFI@*(I*I(!*ШI*`I* I*I*XI*I*I+0I+зI+I@+I8+8I@+xI+I+I+I +I +I +I +8I +I+I+I +I+I+I.|.|.t.x\4`48h:I8Jp9Jp:Jx;J ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? @ ? @ A A A C C unity_FogStart unity_FogEndunity_FogDensity unity_FogColorH        Hidden/InternalErrorShader lFm4 xl -0'+<%d\bL S x S t$b@ S8\ S S X  : UnityPerDraw~u_ObjectToWorld\ LFramepPMatrixVPL& l \  <NITY_SINGLE_PASS_STEREO(xx|d=8]Pndxlxrxx X S)@" (3@8h04` (  00/ 0 0LLStereoGlobals@rT!T]TEyeIndexPT!$PL L:_INSTANCING_ONFT5^" N0LPLA=F'dSV_InstanceIDp`X pDXV_RenderTargetArray\ "u` " E"@T)"j6   hSFI00 xMULTIVIEWw8 12\ E8o &;R|f/\( O4x@ZDe6 !T?9?> @x \. /.Xm_t GlZh\/7XTX, &, @Plb o_P[8];9!V9%?Inv<&V CameraPro?ionB%?InvE)TL%D?-3 qSSpaceOos[2w8ScaleOffset[2'};Z1EyeIndex9int1 p )i12 .!i1'/t(h << 2)/2  2(k\+ 1)]PA@ 2T/2) 2 ^/3)" 2"   @   @ T  K<44(   4 0V0H 0dOdPdK0 hlN8 8&|, 8  0|X  _INSTANCING_ON / a#extenGL_AMD_vertex_shader_layer : require K Aflat"uM `vs_BLEQDICES&6oat_ us u   3 d([(gl_InstanceID)) \* 0.5Sfractb /0) , roundEvenCuD/ina#i3/ !>u0)( 1} 31} 0} ,11} N 1N 3N ,1N 63N 1N :3N 1N  ' =L)= X  <   MULTIVIEW /  OVR_multiview2 >ice4@num_hs = 2) in#    mWEIGHTJ YQ`ViewIDK)WV  ' )/ = $ ?].xv80 p % Pdbx S,&( bTd S S8"| &$ o  texture> using namespace {; #if !(__HAVE_FMA__) #define fma(a,b,c) ((a) * (b) + (c)) #endif struct VGlobals_Type { float4 hlslcc_mtx4x4unity_ObjectToWorld[4];0 MatrixVP+%};vMtl_VertexInuPOSITION0 [[ attribute(0) ]] D:OutEmtl_PositionHp ]v8 C (N{constan%&[bbuffer,6` input(pstage_i;) {)~ioutputQ u_01!" =h.=u.yyyy *.,1]SF@=0],Txxxx,R)`+2`Ozzzz` +31FQ1F;%0] ?/1)S&2S2Sy.4_3_Lwwww_ereturn} $_ <$O#X0,@xL$ UNITY_SINGLE_PASS_STEREO$/0U#oStereoU3_P[8];0V0?Inv3VCameraPro&?ion9?Inv< TCr 6-3 _S|Jos[2e/ScaleOffset[2 EyeIndex!9intJ$i6I&J1J s&L2N/i1&2 Siy .i << 0x2Q .`(\+ 1)]cIX"W /2)j6/2) 2 |5/3) 2   @0 \ B@,T T@ ], T< L r _INSTANCING_ON,MULTIVIEW+/#ifndef XLT_REMAP_O B {0, 1, 2, 3, 4, 5, 6, 7}J:FexprDuxlt_remap_o[] =T;FragmentSV_Target hcolor(U50])fE R %#}=p(1.0, 01hd@S<|S x3P4b<d b SLoh1-3 USSpaceEos[2[*ScaleOffset"}1EyeIndex9intSM= B )i12K .iL X << 2*2u  K(f\+ 1)]PA@ 2T/2) 2 ^/3) 2 *8  @8  l `@< TS h K<e44(  3  0V0 0=dOdPdK0 GhlKNP8 W8&| , 8u 0|Xd R _INSTANCING_ON ` /33% 5MD_vertexWlayer08  Aflat6u `vs_BLE]DICES u u ( 4 .u int(gl_InstanceID) & 1uC 4P$t(8)< ;4< ,4< A4< J4<  +' =L> { 0h$    MULTIVIEW ? MOVR_multiview2 6iceU@num_*s = 2) in  Ffloa oWEIGHT 'P `ViewID)%U9 =   $/ = _0)].x ,^0 p %4 8P4hb S $ b o9?> > P+9999"$d/ 3% H G##@"!Gd   >9  Q>9 >9(LDE>F9G>>> 0ZJ] P^ aaF$X9[9_9bMU#J"$#A&&PJ 0K"2##%6%%@%aBD),)K"LP|4|A" ||^|W%|l|$%&# ,%!&&<&PH"#RHD?#RHD"iC_ P VGlobals26581238550nity_MatrixVP8`U@,ObjectToWorld0,/h $ UNITY_SINGLE_PASS_STEREO$Är/ TbGH#x/  >9`>91f#2PQ>R9S>Ihck lRoםf9i9m9pɝS!S(!24#$%8!B%DF)-N3$$"U8C; "?wrw)*EH/H.0a0 F0R0V0J@^TU`TPT`TP1296406016StereoEyeIndex\ `604 x_INSTANCING_ON S0/ x!| )SPV_EXT_shader_viewport_i-_layer%-94Ta/ l> +G >nq r>Ru>l9o9s9v>>>>>> >$<;;;;;;;;;;;; \("#fRfR$  96753741D$X$$MULTIVIEW#6$ $# $@"!KHR_multi/42csjG# B" K/  a=G2g^$ >9nnnnn19/WS91 95 BCC:;<=>?@ADE>T._t`>a9b`9o A9rIt>u9v@"1>\"i $qh999$S^""#$Z*c#"%4O>%@B)+J 1 `&" \"2h#H+J*".<Nw* ">*LFj0W0N0aP h0t0e0j@mc~"p3{wyz"#rc_P \/ Rices0@T %|\`\4176800876@ 0. RP$ /|/ P#cE𨭀o1-r}O*82$woQ C_nSĿZLTpirwA1QNCt:: STEREO_INSTANCING_ONSTEREO_MULTIVIEW_ONUNITY_SINGLE_PASS_STEREO? ? ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? A A A A C C unity_FogStart unity_FogEndunity_FogDensity unity_FogColorӞ                              TH,m ģl$[~sd)"ݨB S-bfN>r-!-4󅚛늃Q~2xMp75NCD-L%><' STEREO_INSTANCING_ONSTEREO_MULTIVIEW_ONUNITY_SINGLE_PASS_STEREO? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? A A A A C C unity_FogStart unity_FogEndunity_FogDensity unity_FogColorȺ                              qhAtl2ѥLd'h&V#odcx@o@e!_sub p0G>G1j #l0. STEREO_INSTANCING_ONSTEREO_MULTIVIEW_ONUNITY_SINGLE_PASS_STEREO? ? ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? A ? A A A C C unity_FogStart unity_FogEndunity_FogDensity unity_FogColorn                              ݥh֩ql_FjMAo?8CO]uV:qjv.YjU_ս^FU?BHGlqԲ8.*ш4 STEREO_INSTANCING_ONSTEREO_MULTIVIEW_ONUNITY_SINGLE_PASS_STEREO? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? A ? A A A C C unity_FogStart unity_FogEndunity_FogDensity unity_FogColor                              MچB3"}1C_q9-asnf OD$ezϲ E͆~b1hLMF\!ʓtx⠦|D STEREO_INSTANCING_ONSTEREO_MULTIVIEW_ONUNITY_SINGLE_PASS_STEREO? ? ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? A ? A A A C C unity_FogStart unity_FogEndunity_FogDensity unity_FogColor}'                              0d~w),DpDb͆p5 y&6Cv]_@Ú:[y1| I QR~50  STEREO_INSTANCING_ONSTEREO_MULTIVIEW_ONUNITY_SINGLE_PASS_STEREO? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? A ? A A A C C unity_FogStart unity_FogEndunity_FogDensity unity_FogColor}H                              ʯņY:\%{&ǐ>fW1f' NaUWz`{5qʉCd2 -*\WqT STEREO_INSTANCING_ONSTEREO_MULTIVIEW_ONUNITY_SINGLE_PASS_STEREO? ? ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? A ? ? A A A C C unity_FogStart unity_FogEndunity_FogDensity unity_FogColor                               Pke.yBfE,C0Tُ˘ %|"J O,Vt1[ \+_Jh+0KTѤNAiDU STEREO_INSTANCING_ONSTEREO_MULTIVIEW_ONUNITY_SINGLE_PASS_STEREO? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? A ? ? A A A C C unity_FogStart unity_FogEndunity_FogDensity unity_FogColorp                              Hidden/InternalClear W W'[ L d/*,8&db0 S S $b` S| S T<x Q  /DXBC*~ nM3e@|, ISGNHjz8HkAP POSITIONCOLOROSGNLPPPlSV_S SHDR@iYF <D_r 1ug e Rh2$"Vl4j2 p"F(`*(p*F0|&V hT( ( hj(D6<"F>#   UnityPerDrawu_ObjectToWorld(L LFramep(PMatrixVPL&x l H <NITY_SINGLE_PASS_STEREO(An?[$4G@Ub} X%S)" `3@h04 (  (00/ 0 088"8LLStereoGlobals@T!BT]TEyeIndexlT!DP _INSTANCING_ON$/@w^F^"tNP0RdplPY_q-SV_InstanceID|x \b"/SV_RenderTargetArray"0u` " ,$E$"@T)"<P P PPPASFI0J  K ` 0p MULTIVIEW *$ Y>4y?߁eUf&S|&|,$ T2SV_D|@z&btDD `|N Jx`f(Q^&$x*x, &, , h.PbT ointL=0) 0SV_Target0( =\ $Globals$Om0D[ ,@4,CINGLE_PASS_STEREO$/  |$0)v UScStereo% {  >_P[8];9!V9%?Inv<&V CameraPro?ionB%?InvE)TL%D?-3 qSSpaceOos[2w8ScaleOffset[2'};d1EyeIndex9int1 N )i12 .!i1'/t(h << 2)/28  i(k\+ 1)]PA@X 2T/2)k 2k ^/3)~ 2~ $  @  4 @ T 0 K<44(  N  0V0 0<dOdPdK0 *hl N8 8&|_, 8I 0|X,  _INSTANCING_ON /o ( a#extenGL_AMD_vertex_shader_layer : requireX  @Aflat Yu `vs_BLEQDICES&6oat u u  3 d([(gl_InstanceID))0 \* 0.5Sfract /0)k  roundEvenCuD/ina#i3 !>u0) 1 31 0 ,11  1 3 ,t1 63 1 :3 1  ' =L* )=     t t MULTIVIEWs /~t OVR_multiview2k >ice4@num_hs = 2) in$B56mWEIGHT 4QJ`ViewID)qH  D/ = ?].xp 0 p %x |Pdb S& b4 S! S$ &' o  texture> using namespace {; #if !(__HAVE_FMA__) #define fma(a,b,c) ((a) * (b) + (c)) #endif struct VGlobals_Type { float4 hlslcc_mtx4x4unity_ObjectToWorld[4];0 MatrixVP+%};vMtl_VertexInuPOSITION0 [[ attribute(0) ]] o[COLOR'1'k:Outlmtl_PositionHp /]]jRuser(jv^ i (L{constanr&_bbuffer,6)` input(pstage_i;) {)~ioutput u_01!" =h.u.yyyy *.,1]S@=0],Txxxx,R)`+2`Ozzzz` +31FQ:1F;%0] ?/1)S&2S2Sy.Z_3_Owwww_"ereturn}  `$O#D\ ,@xL$ UNITY_SINGLE_PASS_STEREO$/9 U#oStereoU3_P[8];0V0?Inv3VCameraPro&?ion9?Inv< TCr 6-3 _S|Jos[2e/ScaleOffset[2 EyeIndex!9intJ$$6&J1J &L2w N;/i1&2 Si .i << 0x2 .(\+ 1)]cIX"W /2)j6/2) 2 |5/3)7 27 )8 8 @ 8  B@,T  T], T  L  _INSTANCING_ONMULTIVIEWDd/{#ifndef XLT_REMAP_O B {0, 1, 2, 3, 4, 5, 6, 7}JeFexprouxlt_remap_o[] =T;)FragmentlC nSV_TargetHhcolor(&0]SfE RW #L%YjxP4Pb b0 S$ oh1-3 USSpaceEos[2[*ScaleOffset"}1EyeIndex9intSM :j )i12 .i X << 2*2  s(f\+ 1)]PA@ 2T/2) 2 ^/3) 2 J  @   `@ T  K<44(  {  0V0( 0dOdPdK0 hlN8 8&|U, 8 0|X  _INSTANCING_ON / /33% 5MD_vertexWlayer0 3 ,AflatOu/ `vs_BLEE]DICESS uT uT p 4b .ub int(gl_InstanceID) & 1u 4P$t(8) ;4 ,4 A4 J4 - F' =4L   0nml l    MULTIVIEW ?J MOVR_multiview2 k6iceU@num_*s = 2) inZ .FfloaV oWEIGHTU PT `ViewID&)p9 =  O ?/ =L _0)].xO @0 p % P4b  S < b o9>9 > > P+9999"g/ 3$ HRS G##@"!Gd   ~ Q>9 >9(L DE>F9G>9Pa> F]`` Pa ad\$[9^9b9eMU#J"$#A&&PJ0K"2##%6%%@%aBD),)K"LP|4|A" ||^|W%|l|$%&# ,%!&&<&PH""#UHD?#UHD"c {@ h VGlobals413050991408unity_MatrixVP8HU@,ObjectToWorld0,/ $ UNITY_SINGLE_PASS_STEREO$՜Мu/$ 5T`abGH#x%  >9`>91f#2PQ>R9S>9^_kyn oRrݵi9l9p9sϵS9S(924#$%89B%DF)-N3$$"U8C; "?wrw)*EH/H.0a0 F0R0V0JG^TUcTPTcTP&11024138998StereoEyeIndexh `R0P   x_INSTANCING_ON S'0/"{)SPV_EXT_shader_viewport_i&_layerIY4T`adK o> +G Zqt uZRxZo9r9v9yZZZZZZ >$919/WS91 95 BCC:;<=>?@ADE>T._s`>a9bm`9r< A9uQw>x9yH"1>r" $q~999 $ Sv""#$rBc#"%4g>%@ B)+ J e `&" \"2h#H+J*".<Nw* ">*LFj0W0N0aP h0t0e0jGmc"p3~z|} "#uc_  c RicesLt %\|\R48438346@ L/(Rl$ / / P_ColorColor???? _SrcBlendSrcBlend@ _DstBlendDstBlend A_ZWriteZWrite?_ZTestZTest@_CullCull_ZBiasZBiasSu͕*|ӵ&Jm>_f==|]AglT4`)Lr"AR1""'?q&-tNCs!%ڂ } STEREO_INSTANCING_ONSTEREO_MULTIVIEW_ONUNITY_SINGLE_PASS_STEREO _SrcBlend _DstBlend _SrcBlend _DstBlend pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? _ZTest_ZWrite_Cull _ZBias_ZBias A A A C C unity_FogStart unity_FogEndunity_FogDensity unity_FogColorHIGNOREPROJECTORtrueQUEUE Transparent RenderType Transparent                          IGNOREPROJECTORtrueQUEUE Transparent RenderType TransparentHidden/Internal-Colored ' [% t 0+.?'d<b, S X S$T$bx` S| ST Sx P#G5SV_Y SHDR@pYF TD_r 1,e  @g Rh$"F |  #V(% Hj2 "F(`*(p*F0&V LhT( ( (j(> >$Globals0NVColor><  UnityPerDraw,u_ObjectToWorlH( LFramep(PMatrixVPL&l B"< <NITY_SINGLE_PASS_STEREO( HXWºi 7(8bX"XXX hh%hS) 5 %@h@ (  00/ 000LcStereoB@,T!T]TEyeIndexT!0$, z_INSTANCING_ON$/ 3C Dfm^"&0R,pP,Y,_-DSV_InstanceIDT|x TbxlSV_RenderTargetArrayL tu`0 " ,E"@T)"D6  XSFI0gx |HXMULTIVIEWW*x< Nu|5 j&<S<@,$ @2SV_$  |@"b `8|N Jx J@2s 6$xBx   .Pb, o# A?intq#define SV_Target0*FragData[0]w,=LC  0 UNITY_SINGLE_PASS_STEREO$/%,_eStereo184Hint &EyeIndexUv )i12pop_shl( a,ES b) {q(floor(}(a) * pow(2.0,(b)))); } ivec2Q S UTa.x =!a.x, b.x); a.yy4y);a]3]3]3]#8a.zzzu4u4u4u;8a.wwwh&i1H, 2)02B W(l\+ 1)]PA@b2T/2)u2u^/3)2@P4b S bx"` o_P[8];9!V9%?Inv<&V CameraPro?ionB%?InvE)TL%Z?-3 qSSpaceOos[2w8ScaleOffset0'};1EyeIndex9int1S L )i12a i!i1'/t(?h << 2)/2  (k\+ 1)]PA@ 2T/2) 2 ^/3) 2 $  P  @  =@ T@ K<D 4(    0V0 0~dOdPdK0 lhlbNY8 R8&|, 8R 0|X r _INSTANCING_ON / a#extenGL_AMD_vertex_shader_layer : require  >AflatQ ;u `vs_BLE]DICES) u* u 8 T 3F CB.x =^ ((gl_InstanceID)), _* 0.5MUract(C + 'roundEvenMu/inm#i3 #>u0) 1J31J0J,1n1J13,91631:31 ,' =Ls )= 0X  MULTIVIEW / OVR_multiview2 >ice4@num_~s = 2) in%@ v oWEIGHT `ViewID)V  d/ =8 ?].x4N0 p %< @Pdb8D S|&h bT  S# S% &( o  texture> using namespace {; #if !(__HAVE_FMA__) #define fma(a,b,c) ((a) * (b) + (c)) #endif struct VGlobals_Type { float4 hlslcc_mtx4x4unity_ObjectToWorld[4];0 MatrixVP+_Color; };Mtl_VertexInPOSITION0 [[ attribute(0) ]] W[COLOR'1'k_Out {BRuser(B hmtl_Position,p "]]iv^ i (N{constan&[bbuffer,6)` input(pstage_i;) {)~ioutput u_014.=n*.4U.X.yyyy6`,1]S@=0],Txxxx,R)`+2`Ozzzz` +31FQ1F;%0] ?/1)S&2S2)1)y h_3_Lwwww_ereturns}  ,k$4#,84 ,&@tL$ UNITY_SINGLE_PASS_STEREO$/^ U6oStereoh3_P[8];0V0?Inv3VCameraPro9?ion9?Inv< TCr 6-3 _SJos[2e/ScaleOffset' EyeIndex!9intJ$) $6&J1J &L2 N;/i1&2 i9 >. x << 0x2@2 .(\+ 1)]cIX"WE /2)j6/2)b 2b |5/3) 2   P8 @  B@,T  T], T  LD 2 _INSTANCING_ON0MULTIVIEW/{#ifndef XLT_REMAP_O B {0, 1, 2, 3, 4, 5, 6, 7}JFexpru~xlt_remap_o[] =T;^FragmentIn_C SV_TargetHct(50])fE R XLZ 6xt`P4b S8 b  oh1-3 USSpaceEos[2[*ScaleOffset"}1EyeIndex9intSM :j )i12 Ri X << 2*2  (f\+ 1)]PA@ 2T/2)0 20 ^/3)C 2C /D D Ph D @D  A@ T K< 4(   | 0V0h 0dOdPdK0 hlN8 8&|, 8 0|X  _INSTANCING_ON\  /33% 5MD_vertexWlayer0 w ,Aflatus `vs_BLEE]DICES u u  4 Ru int(gl_InstanceID) & 1u 4P$t(8) ;4 ,4 A4 J4  O' ==L  ?0 m  \ 8 8 MULTIVIEW7 /i8 NOVR_multiview2/ 6icenU0@num_@s = 2) in .Ffloa oWEIGHT ?t `ViewID`)=U9 =  H/ = _0)].x D0 p %L PP4bT S< t c(_Q  L'LOMSGLSL.std.450F¥  >9>9 > > P+9999"j/\ 5#OG##@#@"!'Gb    @ Q>9 >>9B@ &9 (Y KL>M9N>> X`dc Pd ag`'^9a9e9hJ" MU#  "#A&PJK"%%"%%*%,.#3)K"6:|4 |A" W |H|W%|V|$%&#  3%n%%<%O"#XOK?#XOK"@   x VGlobals3076374120@b_Color0@dunity_MatrixVP,U@,ObjectToWorld0,/ $ UNITY_SINGLE_PASS_STEREO$x/t )[dGX#_Gx/  `9!98>92WX>Y9Z>cn}q rRul9o9s9vQH""Y !_  S ,%$m,%.0N:,""FB8&!BaFwZA*EF/O/l./a0 F/!0]0*J [ Uf[ WSf[ W x704983679  UStereoEyeIndex0$ `0TxB_INSTANCING_ON S90P/4P~!0 )SPV_EXT_shader_viewport_i&_layer}=;[gO +P l< +G<O ,` !>` ?` B>9:9 u9f> tw xR{r9u9y9|O x Y 4x  :N81*Er/1 F/R/ Z  &"#ll/ %4213134331| tdttMULTIVIEWs6 /t#lt@"qKHR_multio/aH9jya2G]YB" E   e=G22"NF#+O @5982196q 989D !@5 IJJABCDEFGHKL>nT .fpg>h9i 9u>9xEz>{9|<"1>:h" $=q999BhBDc#Kz!7)B)2B`  `&" EHE"2z#O2Q* 1<Uw| ">)LEj/^/*N0aP h0t0l0FjF jF |" 3}B"#xjfO ( Rices\ % `\846055744@X \/R3P(,4 / / (P_Љ-54Li(WjkLYuԌt ,>[Vi Q*) ;t*C~Opqw8QT? STEREO_INSTANCING_ONSTEREO_MULTIVIEW_ONUNITY_SINGLE_PASS_STEREO? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? @ ? @ A A A C C unity_FogStart unity_FogEndunity_FogDensity unity_FogColorM        Hidden/Internal-Loading dv5i/ xl -0'+"%d\bL S x S t$b@ S8\ S S X  : UnityPerDraw~u_ObjectToWorld\ LFramepPMatrixVPL& l \  <NITY_SINGLE_PASS_STEREO(xx|d=8]Pndxlxrxx X S)@" (3@8h04` (  00/ 0 0LLStereoGlobals@rT!T]TEyeIndexPT!$PL L:_INSTANCING_ONFT5^" N0LPLA=F'dSV_InstanceIDp`X pDXV_RenderTargetArray\ "u` " E"@T)"j6   hSFI00 xMULTIVIEWw8 12\ + @x \. /.XFwiƝiR+3Y&XTX, &, @Plb o_P[8];9!V9%?Inv<&V CameraPro?ionB%?InvE)TL%D?-3 qSSpaceOos[2w8ScaleOffset[2'};Z1EyeIndex9int1 p )i12 .!i1'/t(h << 2)/2  2(k\+ 1)]PA@ 2T/2) 2 ^/3)" 2"   @   @ T  K<44(   4 0V0H 0dOdPdK0 hlN8 8&|, 8  0|X  _INSTANCING_ON / a#extenGL_AMD_vertex_shader_layer : require K Aflat"uM `vs_BLEQDICES&6oat_ us u   3 d([(gl_InstanceID)) \* 0.5Sfractb /0) , roundEvenCuD/ina#i3/ !>u0)( 1} 31} 0} ,11} N 1N 3N ,1N 63N 1N :3N 1N  ' =L)= X  <   MULTIVIEW /  OVR_multiview2 >ice4@num_hs = 2) in#    mWEIGHTJ YQ`ViewIDK)WV  ' )/ = $ ?].xv80 p % Pdbx S,&( bTd S S8"| &$ o  texture> using namespace {; #if !(__HAVE_FMA__) #define fma(a,b,c) ((a) * (b) + (c)) #endif struct VGlobals_Type { float4 hlslcc_mtx4x4unity_ObjectToWorld[4];0 MatrixVP+%};vMtl_VertexInuPOSITION0 [[ attribute(0) ]] D:OutEmtl_PositionHp ]v8 C (N{constan%&[bbuffer,6` input(pstage_i;) {)~ioutputQ u_01!" =h.=u.yyyy *.,1]SF@=0],Txxxx,R)`+2`Ozzzz` +31FQ1F;%0] ?/1)S&2S2Sy.4_3_Lwwww_ereturn} $_ <$O#X0,@xL$ UNITY_SINGLE_PASS_STEREO$/0U#oStereoU3_P[8];0V0?Inv3VCameraPro&?ion9?Inv< TCr 6-3 _S|Jos[2e/ScaleOffset[2 EyeIndex!9intJ$i6I&J1J s&L2N/i1&2 Siy .i << 0x2Q .`(\+ 1)]cIX"W /2)j6/2) 2 |5/3) 2   @0 \ B@,T T@ ], T< L r _INSTANCING_ON,MULTIVIEW+/#ifndef XLT_REMAP_O B {0, 1, 2, 3, 4, 5, 6, 7}J:FexprDuxlt_remap_o[] =T;FragmentSV_Target hcolor(U50])fE R %#}=0(0. hd@S<|S x3P4b<d b SLoh1-3 USSpaceEos[2[*ScaleOffset"}1EyeIndex9intSM= B )i12K .iL X << 2*2u  K(f\+ 1)]PA@ 2T/2) 2 ^/3) 2 *8  @8  l `@< TS h K<e44(  3  0V0 0=dOdPdK0 GhlKNP8 W8&| , 8u 0|Xd R _INSTANCING_ON ` /33% 5MD_vertexWlayer08  Aflat6u `vs_BLE]DICES u u ( 4 .u int(gl_InstanceID) & 1uC 4P$t(8)< ;4< ,4< A4< J4<  +' =L> { 0h$    MULTIVIEW ? MOVR_multiview2 6iceU@num_*s = 2) in  Ffloa oWEIGHT 'P `ViewID)%U9 =   $/ = _0)].x ,^0 p %4 8P4hb S $ b o97?> > P+9999"$d/ 3% H G##@"!Gd   >9  Q>9 >9(LDE>F9G>>> 0ZJ] P^ aaF$X9[9_9bMU#J"$#A&&PJ 0K"2##%6%%@%aBD),)K"LP|4|A" ||^|W%|l|$%&# ,%!&&<&PH"#RHD?#RHD"iC_ P VGlobals18174101880nity_MatrixVP8`U@,ObjectToWorld0,/h $ UNITY_SINGLE_PASS_STEREO$Är/ TbGH#x/  >9)`>91f#2PQ>R9S>Ihck lRoםf9i9m9pɝS!S(!24#$%8!B%DF)-N3$$"U8C; "?wrw)*EH/H.0a0 F0R0V0J@^TU`TPT`TP369051532StereoEyeIndex\ `604 x_INSTANCING_ON S0/ x!| )SPV_EXT_shader_viewport_i-_layer%-94Ta/ l> +G >nq r>Ru>l9o9s9v>>>>>> >$<;;;;;;;;;;;; \("#fRfR$ 2631017761D$d$$MULTIVIEW#6$ $# $@"!KHR_multi/42csjG# B" K/  a=G2g^$ >9nnnn19/WS91 95 BCC:;<=>?@ADE>T._t`>a9b`9o A9rIt>u9v@"1>\"i $qh999$S^""#$Z*c#"%4O>%@B)+J 1 `&" \"2h#H+J*".<Nw* ">*LFj0W0N0aP h0t0e0j@mc~"p3{wyz"#rc_P \/ Rices0@T %|\`\258963389@ 0/RP$ /|/ PInternal-Skinning main$Globals inVerticesinSkin inMatrices outVerticeslDXBCs糩Lc}o4Jl,<LISGNOSGNSHEXPFjYF p pp@ _h @P   >cr @Fr# @p" @#"@p6@6@6@6B 0P*:#*@pU:@V 8 @7:@:@yr:@Frr:@ Fr:@0Fx6 6" 6B 6 6 *6" 6B 6 6:6"*6B*2 F F2 F F2 FFB*@6@?FF"FFBFFr @F>@main$Globals inVerticesinSkin inMatrices outVertices0DXBCu+/2:k>50,<LISGNOSGNSHEXPwjYF ppp@_h @P   > @F~2 @Fp# @p @# @p6@6@6@6":0PB *#B@pU*@V:8:@7B*@r*@Frr*@Frr*@ Fr *@0Fx6 6" 6B 6  6 6" 6B 6  6 *6" *6B *2 F F2 F F2 F F"@6rF6@?FF"FFBFF6B:FF"F @F2 @F>@main$Globals inVerticesinSkin inMatrices outVerticesDDXBC ZU|ڶ\L1{D,<LISGNOSGNSHEXP|jYF ppp@_h @P   > @F~r @Fr# @p" @#"@p6@6@6@6B 0P*:#*@pU:@V 8 @7:@:@yr:@Frr:@ Fr :@0Fx6 6" 6B 6  6 *6" 6B 6  6 :6" *6B *2 F F2 F F2 F FB*@6rF6@?FF"FFBFF6:FF"F @F6B*r @F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBC5PLkUd,<LISGNOSGNSHEXPjYF p(pp@(_h @P   >C @6yC @F~C2 @ Fp# @p" @#"@p6@6@6@6B 0P*:#*@pU:@V 8 @7:@:@yr:@Frr :@ Fr :@0Fx6 6" 6B  6  6 *6" 6B  6  6 :6" *6B * 2 F F2 F F2 F FB*@6r6@?FF"FFBFF6bFFFF"FF6B& & &  @F @F2 @ F>@main$Globals inVerticesinSkin inMatrices outVerticeshDXBCBy񶃛EQh,<LISGNOSGNSHEXPjYF p pp@ _h@P   >cr @Fr# @p @yr @Frr @ Fr @0Fx66" 6B 6 6@?FF6*6"6B6"FF6:6"*6B*BFFr @F>@main$Globals inVerticesinSkin inMatrices outVertices,DXBCׅnIpv)GQ,,<LISGNOSGNSHEXPjYF ppp@_h @P   > @F~2 @Fp# @pr:@Frr:@Frr:@ Fr:@0Fx6 6" 6B 6 6rF6@?FF6 6" 6B 6 "F F6*6"*6B*BFF6B:F F"F @F2 @F>@main$Globals inVerticesinSkin inMatrices outVertices@DXBC B;&qRH$_5@,<LISGNOSGNSHEXPjYF ppp@_h @P   > @F~r @Fr# @p @yr @Frr @ Fr @0Fx66" 6B 6 6rF6@?FF6 *6" 6B 6 "F F6:6"*6B*BFF6:F F"F @F6B*r @F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBCT\Sw?e+&qM,<LISGNOSGNSHEXP"jYF p(pp@(_h @P   >C @6yC @F~C2 @ Fp# @p @yr @Frr @ Fr @0Fx66" 6B 6 6r6@? FF6 *6" 6B 6 " F F6:6"*6B*B FF6b FFF F"FF6B& &  &  @F  @F2 @ F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBCj~P{4q,<LISGNOSGNSHEX`PXjYF p pp@ _h @P   >cr @Fr @F~r*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 66"6B66*6"*6B*r:@Frr:@Frr:@ Fr:@0Fx6 6" 6B 6 8 VF 6 6" 6B 6 8 VF 6*6"*6B*8VF2 FF 2 FF 2 FF6@?FF"FFBFFr @F>@main$Globals inVerticesinSkin inMatrices outVerticesxDXBCLGf>x,<LISGNOSGNSHEX$PjYF ppp@_h @P   > @F~2 @Fp @F~r*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 66"6B66*6"*6B*r:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 FF 2 FF6rF6@?FF"FFBFF6B:FF"F @F2 @F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBC_QߜZۍ,<LISGNOSGNSHEX8PjYF ppp@_h @P   > @F~r @Fr @F~r*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 66"6B66*6"*6B*r:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 FF 2 FF6rF6@?FF"FFBFF6:FF"F @F6B*r @F>@main$Globals inVerticesinSkin inMatrices outVertices(DXBCIAaf!A(,<LISGNOSGNSHEXPjYF p(pp@(_h @P   >C @6yC @F~C2 @ Fp @F~r*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 F F 2 FF6r6@?FF"FFBFF6bFFFF"FF6B& & &  @F @F2 @ F>@main$Globals inVerticesinSkin inMatrices outVertices DXBCC1Za G ,<LISGNOSGNSHEXx P^jYF p p p@ _h @P   >cr @Fr @F~ @F~r @Frr @Frr @ Fr @0Fx6 6" 6B 6 66"6B66*6"*6B*r@Frr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 FF 2 FFr*@Frr*@Frr*@ Fr *@0Fx6 6" 6B 6  6 6" 6B 6  6 *6" *6B *2 F F2 F F2 F Fr:@Frr:@Frr:@ Fr:@0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*2 FF2 F F2 FF6@?FF"FFBFFr @F>@main$Globals inVerticesinSkin inMatrices outVertices DXBC(dG3 ,<LISGNOSGNSHEX< PjYF pp p@_h @P   > @F~2 @Fp @F~ @F~r @Frr @Frr @ Fr @0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r@Frr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 F F 2 FFr*@Frr*@Frr *@ Fr *@0Fx6 6" 6B  6  6 6" 6B  6  6 *6" *6B * 2 F F2 F F2 F Fr:@Frr:@Frr:@ Fr:@0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*2 F F2 F F2 FF6rF6@?FF"FFBFF6B:FF"F @F2 @F>@main$Globals inVerticesinSkin inMatrices outVertices DXBCP2kv/n| ,<LISGNOSGNSHEXP PjYF pp p@_h @P   > @F~r @Fr @F~ @F~r @Frr @Frr @ Fr @0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r@Frr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 F F 2 FFr*@Frr*@Frr *@ Fr *@0Fx6 6" 6B  6  6 6" 6B  6  6 *6" *6B * 2 F F2 F F2 F Fr:@Frr:@Frr:@ Fr:@0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*2 F F2 F F2 FF6rF6@?FF"FFBFF6:FF"F @F6B*r @F>@main$Globals inVerticesinSkin inMatrices outVertices@ DXBCuD Ӕ@,@ ,<LISGNOSGNSHEX PjYF p(p p@(_h@P   >C @6yC @F~C2 @ Fp @F~ @F~r @Frr @Frr @ Fr @0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r@Frr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 F F 2 F F 2 FFr*@Frr *@Frr *@ Fr *@0Fx6 6"  6B  6  6 6"  6B  6  6 *6" * 6B * 2 F F2 F F2 F Fr:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  6 6" 6B 6  6 *6" *6B *2 F F2 F F2 F F6r6@?FF"FFBFF6bFFFF"FF6B& & &  @F @F2 @ F>@main$Globals inVerticesinSkin inMatrices outVerticesXDXBC䵺"H7X,<LISGNOSGNSHEXPAjYF ppp@_h @P   >& @ r Fr)" @bq6@6@6@60P:* ):@ pU" @V"8"@7 @r @Frr @Frr @ Fr @0Fx6 6" 6B 6  6 6" 6B 6  6 *6" *6B *2 F VF2 F VF2 F VF:@6@?FF"FFBFFr F>@main$Globals inVerticesinSkin inMatrices outVertices DXBC lxb:m ,<LISGNOSGNSHEXPnjYF ppp@_h @P   >& @r Fr#" @@ rFr)B @*t6@6@6@6*0P:: ):@ pU" @V"8"@7 @r @Frr @Frr @ Fr @0Fx6 6" 6B  6  6 6" 6B  6  6 *6" *6B * 2 F VF2 F VF2 F VF:@6@?FF"FFBFFFF"FFBFFr FrF>@main$Globals inVerticesinSkin inMatrices outVertices DXBC(^v&Сs@ڰ ,<LISGNOSGNSHEXPsjYF ppp@_h @P   >& @ r Fr#" @ @ F~)B @*t6@6@6@6*0P" :)" @"pUB@VB*8B*@7"@r@Frr@Frr @ Fr @0Fx6 6" 6B  6  6 6" 6B  6  6 *6" *6B * 2 F F2 F F2 F F @6@?FF"FFBFFFF"FFBFFr F6:F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBCQjwlWW,<LISGNOSGNSHEXxPjYF ppp@_h@P   >& @(r Fr#b@((@ rFr*F~) @2:Fp6@6@6@6 0P::):@:pUB:@VB*8B*@7:@r:@Frr :@Frr :@ Fr :@0Fx6 6"  6B  6  6 6"  6B  6  6 *6" * 6B * 2 F F2 F F2 F F:@6@?FF"FFBFFFF"FFBFFFF"FFBFFr FrF6:*F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBCne Q u&:DL ,<LISGNOSGNSHEX0PjYF ppp@_h@P   >& @ r Fr)" @"pr@Frr@Frr@ Fr@0Fx6 6" 6B 6 6@?FF66"6B6"FF6*6"*6B*BFFr F>@main$Globals inVerticesinSkin inMatrices outVertices8DXBC5T\H-K8,<LISGNOSGNSHEXPjYF ppp@_h @P   >& @r Fr#" @@ rFr)B @B*pr*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 6@?FF6 6" 6B 6 "F F6*6"*6B*BFFFF"F FBFFr FrF>@main$Globals inVerticesinSkin inMatrices outVerticesLDXBCezvqc2MNWxVKL,<LISGNOSGNSHEXPjYF ppp@_h @P   >& @ r Fr#" @ @ F~)B @B*pr*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 6@?FF6 6" 6B 6 "F F6*6"*6B*BFFFF"F FBFFr F6:F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBC v:Jxvtwa,<LISGNOSGNSHEXP)jYF ppp@_h @P   >& @(r Fr#b@((@ rFr*F~) @:pr:@Frr:@Frr:@ Fr:@0Fx6 6" 6B 6 6@? FF6 6" 6B 6 " F F6*6"*6B*B FFFF"F FBFFFF"F FBFFr F rF6:*F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBC "r=M S>P,<LISGNOSGNSHEX|P_jYF ppp@_h @P   >& @ r Fr)" @F~*@yr*@Frr*@ Fr*@0Fx66" 6B 6 6*6"6B66:6"*6B*:@yr:@Frr:@ Fr:@0Fx6 6" 6B 6 8 VF 6 *6" 6B 6 8 VF 6:6"*6B*8VF2 FF 2 FF 2 FF6@?FF"FFBFFr F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBCE"ɮK;,<,<LISGNOSGNSHEX0PjYF ppp@_h @P   >& @r Fr#" @@ rFr)B @*F~r*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 F F 2 FF6@?FF"FFBFFFF"FFBFFr FrF>@main$Globals inVerticesinSkin inMatrices outVerticesDXBC B0,Hq,<LISGNOSGNSHEXDPjYF ppp@_h @P   >& @ r Fr#" @ @ F~)B @*F~r*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 F F 2 FF6@?FF"FFBFFFF"FFBFFr F6:F>@main$Globals inVerticesinSkin inMatrices outVerticesDDXBCy l:r?|+D,<LISGNOSGNSHEXPjYF ppp@_h@P   >& @(r Fr#b@((@ rFr*F~) @:F~r*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 F F 2 F F 2 FF6@?FF"FFBFFFF"FFBFFFF"FFBFFr FrF6:*F>@main$Globals inVerticesinSkin inMatrices outVertices DXBCt9v|U ,<LISGNOSGNSHEX PljYF ppp@_h @P   >& @ r Fr)" @F~#" @ @F~ @yr @Frr @ Fr @0Fx66" 6B 6 6*6"6B66:6"*6B*@yr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 6 *6" 6B 6  8 VF 6 :6" *6B *8VF 2 FF 2 FF 2 FF*@yr*@Frr*@ Fr *@0Fx6 6" 6B 6  6 *6" 6B 6  6 :6" *6B *2 F F2 F F2 F F:@yr:@Frr:@ Fr:@0Fx66" 6B 6 6 *6" 6B 6 6:6"*6B*2 FF2 F F2 FF6@?FF"FFBFFr F>@main$Globals inVerticesinSkin inMatrices outVertices DXBCnb=h' ,<LISGNOSGNSHEXd PjYF ppp@_h@P   >& @r Fr#" @@ rFr)B @*F~#B @ @*F~r @Frr @Frr @ Fr @0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r@Frr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 F F 2 F F 2 FFr*@Frr *@Frr *@ Fr *@0Fx6 6"  6B  6  6 6"  6B  6  6 *6" * 6B * 2 F F2 F F2 F Fr:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  6 6" 6B 6  6 *6" *6B *2 F F2 F F2 F F6@?FF"FFBFFFF"FFBFFr FrF>@main$Globals inVerticesinSkin inMatrices outVertices DXBC(eMd9L3_ ,<LISGNOSGNSHEXx PjYF ppp@_h@P   >& @ r Fr#" @ @ F~)B @*F~#B @ @*F~r @Frr @Frr @ Fr @0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r@Frr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 F F 2 F F 2 FFr*@Frr *@Frr *@ Fr *@0Fx6 6"  6B  6  6 6"  6B  6  6 *6" * 6B * 2 F F2 F F2 F Fr:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  6 6" 6B 6  6 *6" *6B *2 F F2 F F2 F F6@?FF"FFBFFFF"FFBFFr F6:F>@main$Globals inVerticesinSkin inMatrices outVerticesx DXBCyQjhb"%x ,<LISGNOSGNSHEX$ PjYF ppp@_h@P   >& @(r Fr#b@((@ rFr*F~) @:F~# @ @:F~r @Frr @Frr @ Fr @0Fx6 6" 6B 6  6 6" 6B 6  6 *6" *6B *r@Frr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 66"6B6 8VF6 *6" *6B *8VF 2 F F 2 F F2 F Fr *@Frr *@Frr *@ Fr *@0Fx6  6"  6B  6  6 6" 6B 6 6 * 6" * 6B * 2 F F2 F F2 F Fr:@Frr:@Frr :@ Fr :@0Fx6 6" 6B  6  6 6" 6B  6  6 *6" *6B * 2 F F2 F F2 F F6@?FF"FFBFFFF"FFBFFFF"FFBFFr FrF6:*F>@$Globals g_VertCount main$Globals inVerticesinSkin inMatrices outVerticeslDXBCs糩Lc}o4Jl,<LISGNOSGNSHEXPFjYF p pp@ _h @P   >cr @Fr# @p" @#"@p6@6@6@6B 0P*:#*@pU:@V 8 @7:@:@yr:@Frr:@ Fr:@0Fx6 6" 6B 6 6 *6" 6B 6 6:6"*6B*2 F F2 F F2 FFB*@6@?FF"FFBFFr @F>@main$Globals inVerticesinSkin inMatrices outVertices0DXBCu+/2:k>50,<LISGNOSGNSHEXPwjYF ppp@_h @P   > @F~2 @Fp# @p @# @p6@6@6@6":0PB *#B@pU*@V:8:@7B*@r*@Frr*@Frr*@ Fr *@0Fx6 6" 6B 6  6 6" 6B 6  6 *6" *6B *2 F F2 F F2 F F"@6rF6@?FF"FFBFF6B:FF"F @F2 @F>@main$Globals inVerticesinSkin inMatrices outVerticesDDXBC ZU|ڶ\L1{D,<LISGNOSGNSHEXP|jYF ppp@_h @P   > @F~r @Fr# @p" @#"@p6@6@6@6B 0P*:#*@pU:@V 8 @7:@:@yr:@Frr:@ Fr :@0Fx6 6" 6B 6  6 *6" 6B 6  6 :6" *6B *2 F F2 F F2 F FB*@6rF6@?FF"FFBFF6:FF"F @F6B*r @F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBC5PLkUd,<LISGNOSGNSHEXPjYF p(pp@(_h @P   >C @6yC @F~C2 @ Fp# @p" @#"@p6@6@6@6B 0P*:#*@pU:@V 8 @7:@:@yr:@Frr :@ Fr :@0Fx6 6" 6B  6  6 *6" 6B  6  6 :6" *6B * 2 F F2 F F2 F FB*@6r6@?FF"FFBFF6bFFFF"FF6B& & &  @F @F2 @ F>@main$Globals inVerticesinSkin inMatrices outVerticeshDXBCBy񶃛EQh,<LISGNOSGNSHEXPjYF p pp@ _h@P   >cr @Fr# @p @yr @Frr @ Fr @0Fx66" 6B 6 6@?FF6*6"6B6"FF6:6"*6B*BFFr @F>@main$Globals inVerticesinSkin inMatrices outVertices,DXBCׅnIpv)GQ,,<LISGNOSGNSHEXPjYF ppp@_h @P   > @F~2 @Fp# @pr:@Frr:@Frr:@ Fr:@0Fx6 6" 6B 6 6rF6@?FF6 6" 6B 6 "F F6*6"*6B*BFF6B:F F"F @F2 @F>@main$Globals inVerticesinSkin inMatrices outVertices@DXBC B;&qRH$_5@,<LISGNOSGNSHEXPjYF ppp@_h @P   > @F~r @Fr# @p @yr @Frr @ Fr @0Fx66" 6B 6 6rF6@?FF6 *6" 6B 6 "F F6:6"*6B*BFF6:F F"F @F6B*r @F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBCT\Sw?e+&qM,<LISGNOSGNSHEXP"jYF p(pp@(_h @P   >C @6yC @F~C2 @ Fp# @p @yr @Frr @ Fr @0Fx66" 6B 6 6r6@? FF6 *6" 6B 6 " F F6:6"*6B*B FF6b FFF F"FF6B& &  &  @F  @F2 @ F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBCj~P{4q,<LISGNOSGNSHEX`PXjYF p pp@ _h @P   >cr @Fr @F~r*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 66"6B66*6"*6B*r:@Frr:@Frr:@ Fr:@0Fx6 6" 6B 6 8 VF 6 6" 6B 6 8 VF 6*6"*6B*8VF2 FF 2 FF 2 FF6@?FF"FFBFFr @F>@main$Globals inVerticesinSkin inMatrices outVerticesxDXBCLGf>x,<LISGNOSGNSHEX$PjYF ppp@_h @P   > @F~2 @Fp @F~r*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 66"6B66*6"*6B*r:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 FF 2 FF6rF6@?FF"FFBFF6B:FF"F @F2 @F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBC_QߜZۍ,<LISGNOSGNSHEX8PjYF ppp@_h @P   > @F~r @Fr @F~r*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 66"6B66*6"*6B*r:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 FF 2 FF6rF6@?FF"FFBFF6:FF"F @F6B*r @F>@main$Globals inVerticesinSkin inMatrices outVertices(DXBCIAaf!A(,<LISGNOSGNSHEXPjYF p(pp@(_h @P   >C @6yC @F~C2 @ Fp @F~r*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 F F 2 FF6r6@?FF"FFBFF6bFFFF"FF6B& & &  @F @F2 @ F>@main$Globals inVerticesinSkin inMatrices outVertices DXBCC1Za G ,<LISGNOSGNSHEXx P^jYF p p p@ _h @P   >cr @Fr @F~ @F~r @Frr @Frr @ Fr @0Fx6 6" 6B 6 66"6B66*6"*6B*r@Frr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 FF 2 FFr*@Frr*@Frr*@ Fr *@0Fx6 6" 6B 6  6 6" 6B 6  6 *6" *6B *2 F F2 F F2 F Fr:@Frr:@Frr:@ Fr:@0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*2 FF2 F F2 FF6@?FF"FFBFFr @F>@main$Globals inVerticesinSkin inMatrices outVertices DXBC(dG3 ,<LISGNOSGNSHEX< PjYF pp p@_h @P   > @F~2 @Fp @F~ @F~r @Frr @Frr @ Fr @0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r@Frr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 F F 2 FFr*@Frr*@Frr *@ Fr *@0Fx6 6" 6B  6  6 6" 6B  6  6 *6" *6B * 2 F F2 F F2 F Fr:@Frr:@Frr:@ Fr:@0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*2 F F2 F F2 FF6rF6@?FF"FFBFF6B:FF"F @F2 @F>@main$Globals inVerticesinSkin inMatrices outVertices DXBCP2kv/n| ,<LISGNOSGNSHEXP PjYF pp p@_h @P   > @F~r @Fr @F~ @F~r @Frr @Frr @ Fr @0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r@Frr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 F F 2 FFr*@Frr*@Frr *@ Fr *@0Fx6 6" 6B  6  6 6" 6B  6  6 *6" *6B * 2 F F2 F F2 F Fr:@Frr:@Frr:@ Fr:@0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*2 F F2 F F2 FF6rF6@?FF"FFBFF6:FF"F @F6B*r @F>@main$Globals inVerticesinSkin inMatrices outVertices@ DXBCuD Ӕ@,@ ,<LISGNOSGNSHEX PjYF p(p p@(_h@P   >C @6yC @F~C2 @ Fp @F~ @F~r @Frr @Frr @ Fr @0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r@Frr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 F F 2 F F 2 FFr*@Frr *@Frr *@ Fr *@0Fx6 6"  6B  6  6 6"  6B  6  6 *6" * 6B * 2 F F2 F F2 F Fr:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  6 6" 6B 6  6 *6" *6B *2 F F2 F F2 F F6r6@?FF"FFBFF6bFFFF"FF6B& & &  @F @F2 @ F>@main$Globals inVerticesinSkin inMatrices outVerticesXDXBC䵺"H7X,<LISGNOSGNSHEXPAjYF ppp@_h @P   >& @ r Fr)" @bq6@6@6@60P:* ):@ pU" @V"8"@7 @r @Frr @Frr @ Fr @0Fx6 6" 6B 6  6 6" 6B 6  6 *6" *6B *2 F VF2 F VF2 F VF:@6@?FF"FFBFFr F>@main$Globals inVerticesinSkin inMatrices outVertices DXBC lxb:m ,<LISGNOSGNSHEXPnjYF ppp@_h @P   >& @r Fr#" @@ rFr)B @*t6@6@6@6*0P:: ):@ pU" @V"8"@7 @r @Frr @Frr @ Fr @0Fx6 6" 6B  6  6 6" 6B  6  6 *6" *6B * 2 F VF2 F VF2 F VF:@6@?FF"FFBFFFF"FFBFFr FrF>@main$Globals inVerticesinSkin inMatrices outVertices DXBC(^v&Сs@ڰ ,<LISGNOSGNSHEXPsjYF ppp@_h @P   >& @ r Fr#" @ @ F~)B @*t6@6@6@6*0P" :)" @"pUB@VB*8B*@7"@r@Frr@Frr @ Fr @0Fx6 6" 6B  6  6 6" 6B  6  6 *6" *6B * 2 F F2 F F2 F F @6@?FF"FFBFFFF"FFBFFr F6:F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBCQjwlWW,<LISGNOSGNSHEXxPjYF ppp@_h@P   >& @(r Fr#b@((@ rFr*F~) @2:Fp6@6@6@6 0P::):@:pUB:@VB*8B*@7:@r:@Frr :@Frr :@ Fr :@0Fx6 6"  6B  6  6 6"  6B  6  6 *6" * 6B * 2 F F2 F F2 F F:@6@?FF"FFBFFFF"FFBFFFF"FFBFFr FrF6:*F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBCne Q u&:DL ,<LISGNOSGNSHEX0PjYF ppp@_h@P   >& @ r Fr)" @"pr@Frr@Frr@ Fr@0Fx6 6" 6B 6 6@?FF66"6B6"FF6*6"*6B*BFFr F>@main$Globals inVerticesinSkin inMatrices outVertices8DXBC5T\H-K8,<LISGNOSGNSHEXPjYF ppp@_h @P   >& @r Fr#" @@ rFr)B @B*pr*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 6@?FF6 6" 6B 6 "F F6*6"*6B*BFFFF"F FBFFr FrF>@main$Globals inVerticesinSkin inMatrices outVerticesLDXBCezvqc2MNWxVKL,<LISGNOSGNSHEXPjYF ppp@_h @P   >& @ r Fr#" @ @ F~)B @B*pr*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 6@?FF6 6" 6B 6 "F F6*6"*6B*BFFFF"F FBFFr F6:F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBC v:Jxvtwa,<LISGNOSGNSHEXP)jYF ppp@_h @P   >& @(r Fr#b@((@ rFr*F~) @:pr:@Frr:@Frr:@ Fr:@0Fx6 6" 6B 6 6@? FF6 6" 6B 6 " F F6*6"*6B*B FFFF"F FBFFFF"F FBFFr F rF6:*F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBC "r=M S>P,<LISGNOSGNSHEX|P_jYF ppp@_h @P   >& @ r Fr)" @F~*@yr*@Frr*@ Fr*@0Fx66" 6B 6 6*6"6B66:6"*6B*:@yr:@Frr:@ Fr:@0Fx6 6" 6B 6 8 VF 6 *6" 6B 6 8 VF 6:6"*6B*8VF2 FF 2 FF 2 FF6@?FF"FFBFFr F>@main$Globals inVerticesinSkin inMatrices outVerticesDXBCE"ɮK;,<,<LISGNOSGNSHEX0PjYF ppp@_h @P   >& @r Fr#" @@ rFr)B @*F~r*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 F F 2 FF6@?FF"FFBFFFF"FFBFFr FrF>@main$Globals inVerticesinSkin inMatrices outVerticesDXBC B0,Hq,<LISGNOSGNSHEXDPjYF ppp@_h @P   >& @ r Fr#" @ @ F~)B @*F~r*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 FF 2 F F 2 FF6@?FF"FFBFFFF"FFBFFr F6:F>@main$Globals inVerticesinSkin inMatrices outVerticesDDXBCy l:r?|+D,<LISGNOSGNSHEXPjYF ppp@_h@P   >& @(r Fr#b@((@ rFr*F~) @:F~r*@Frr*@Frr*@ Fr*@0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 F F 2 F F 2 FF6@?FF"FFBFFFF"FFBFFFF"FFBFFr FrF6:*F>@main$Globals inVerticesinSkin inMatrices outVertices DXBCt9v|U ,<LISGNOSGNSHEX PljYF ppp@_h @P   >& @ r Fr)" @F~#" @ @F~ @yr @Frr @ Fr @0Fx66" 6B 6 6*6"6B66:6"*6B*@yr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 6 *6" 6B 6  8 VF 6 :6" *6B *8VF 2 FF 2 FF 2 FF*@yr*@Frr*@ Fr *@0Fx6 6" 6B 6  6 *6" 6B 6  6 :6" *6B *2 F F2 F F2 F F:@yr:@Frr:@ Fr:@0Fx66" 6B 6 6 *6" 6B 6 6:6"*6B*2 FF2 F F2 FF6@?FF"FFBFFr F>@main$Globals inVerticesinSkin inMatrices outVertices DXBCnb=h' ,<LISGNOSGNSHEXd PjYF ppp@_h@P   >& @r Fr#" @@ rFr)B @*F~#B @ @*F~r @Frr @Frr @ Fr @0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r@Frr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 F F 2 F F 2 FFr*@Frr *@Frr *@ Fr *@0Fx6 6"  6B  6  6 6"  6B  6  6 *6" * 6B * 2 F F2 F F2 F Fr:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  6 6" 6B 6  6 *6" *6B *2 F F2 F F2 F F6@?FF"FFBFFFF"FFBFFr FrF>@main$Globals inVerticesinSkin inMatrices outVertices DXBC(eMd9L3_ ,<LISGNOSGNSHEXx PjYF ppp@_h@P   >& @ r Fr#" @ @ F~)B @*F~#B @ @*F~r @Frr @Frr @ Fr @0Fx6 6" 6B 6 6 6" 6B 6 6*6"*6B*r@Frr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 6 6" 6B 6  8 VF 6 *6" *6B *8VF 2 F F 2 F F 2 FFr*@Frr *@Frr *@ Fr *@0Fx6 6"  6B  6  6 6"  6B  6  6 *6" * 6B * 2 F F2 F F2 F Fr:@Frr:@Frr:@ Fr :@0Fx6 6" 6B 6  6 6" 6B 6  6 *6" *6B *2 F F2 F F2 F F6@?FF"FFBFFFF"FFBFFr F6:F>@main$Globals inVerticesinSkin inMatrices outVerticesx DXBCyQjhb"%x ,<LISGNOSGNSHEX$ PjYF ppp@_h@P   >& @(r Fr#b@((@ rFr*F~) @:F~# @ @:F~r @Frr @Frr @ Fr @0Fx6 6" 6B 6  6 6" 6B 6  6 *6" *6B *r@Frr@Frr@ Fr @0Fx6 6" 6B 6  8 VF 66"6B6 8VF6 *6" *6B *8VF 2 F F 2 F F2 F Fr *@Frr *@Frr *@ Fr *@0Fx6  6"  6B  6  6 6" 6B 6 6 * 6" * 6B * 2 F F2 F F2 F Fr:@Frr:@Frr :@ Fr :@0Fx6 6" 6B  6  6 6" 6B  6  6 *6" *6B * 2 F F2 F F2 F F6@?FF"FFBFFFF"FFBFFFF"FFBFFr FrF6:*F>@$Globals g_VertCount mainCGlobals inMatricesinSkin inVertices outVertices#= GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(?u_xlatu1BinSkin_typeBvalueDinSkinDinSkin_bufFLu_xlati12Qu_xlatu12Uu_xlat2]u_xlat3bu_xlat4hu_xlatu_loop_1ru_xlatu34vu_xlatu5zu_xlat5u_xlati34u_xlat16inMatrices_typevalueinMatricesinMatrices_bufu_xlat6u_xlat7u_xlat8u_xlat9u_xlat10u_xlat1 outVertices_origX0X_typevalueoutVertices_origX0X outVertices_origX0X_buf/u_xlat_precise_vec42u_xlat_precise_ivec45u_xlat_precise_bvec48u_xlat_precise_uvec49u_xlatu23:u_xlatb34G H#GG"G!G#H$#G% H&H&#G&G("G(!GAHB#GCHDHD#GDGF"GF!GH#G@HH#GG"G!GH#G H#GG"G!G< ! ;     ; +   ; +     ; !+ "# "$#%$&% '&;'(+0+6: > ;>?+ @A @BACBDC ED;EF K;KL;>Q; U+V W+ Z; ]; b g ;>r;>v+ x;Wz+~7;K+ :; x ;;+++;++ + ; + + +; ; +?; " ; .0 103 436  76;>9;:+ ;@, <;@@6;gh;./;12;45;78A = A= >=A) = *)A+(*= ,+|-,A. = /.A1(/0= 21|32A4 = 54A7(56= 87|98P:;-39=<!O =<;>!=AG = HGAIFH= JI>?JAM = NM|ONPO0>LP=RLASFR= TS>QTAWXU >XVAWYU@>YVAW[UZ>[VAW\U">\VAW^] >^VAW_]@>_VAW`]Z>`VAWa]">aVAWcb >cVAWdb@>dVAWebZ>eVAWfb">fV= i?>hijjlmnn= oh= pQqopqklk= shAtFs= ut>ru= wr ywx>vy= {vp|{>z|=}z}~>z= r |>=A= |=A0= |=A6= |P:>=A= |=A= |=A= |P:>=A= |=A= |=A= |P:>=A= |=A= |=A= |P:=O >AW =AW >AW =AW@>AW =AWZ>AW =AW">AW@=AW >AW@=AW@>AW@=AWZ>AW@=AW">AWZ=AW >AWZ=AW@>AWZ=AWZ>==zP=U>U==zP=]>]==zP=b>bmm= h 0>hjlAW!">= U= !   AW  >  = ]=! AW@>=b=!AWZ>A = AW =| A > A! = "!AW#@=$#| %$A&"0>&%A' = ('AW)Z=*)| +*A,(6>,+8@mainCGlobals inMatricesinSkin inVertices outVertices%#{ GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(Cu_xlat1Uu_xlatu37XinSkin_typeXvalueZinSkinZinSkin_buf\bu_xlati2gu_xlatu2ku_xlat3tu_xlat4yu_xlat5u_xlatu_loop_1u_xlatu26u_xlatu38u_xlat38u_xlati26u_xlat6inMatrices_typevalueinMatricesinMatrices_bufu_xlat7u_xlat8u_xlat9u_xlat10u_xlat11u_xlat2 BoutVertices_origX0X_typeBvalueDoutVertices_origX0X DoutVertices_origX0X_bufFmu_xlat_precise_vec4pu_xlat_precise_ivec4su_xlat_precise_bvec4vu_xlat_precise_uvec4wu_xlatu14xu_xlatb26G H#GG"G!G#H$#G%H&H&#G&G("G(!GWHX#GYHZHZ#GZG\"G\!GH#G@HH#GG"G!GAHB#GCHD#GDGF"GF!Gz ! ;     ; +   ; +     ; !+ "# "$#%$&% '&;'(+0+6+<A BA;BC+F+LP T ;TU+ VW VXWYXZY [Z;[\ a;ab;Tg; k+l m+ p+ r; t; y ~ ;T;T+ ;m+7;a+ ;   ;;B+;B++ + ; + + +; ; ; +!?A "BACBDC ED;EF ln onq rqt  ut;Tw;x+ y@, zyVV6;~;lm;op;rs;uvA = A= >=A) = *)A+(*= ,+|-,A. = /.A1(/0= 21|32A4 = 54A7(56= 87|98A: = ;:A=(;<= >=|?>P@-39?>!@AD = EDAG(EF= HG|IHAJ = KJAM(KL= NM|ONPPQIO=ARCOASRQ>CSA] = ^]A_\^= `_>U`Ac = dc|edfe0>bf=hbAi\h= ji>gjAmnk >nlAmokV>olAmqkp>qlAmskr>slAmut >ulAmvtV>vlAmwtp>wlAmxtr>xlAmzy >zlAm{yV>{lAm|yp>|lAm}yr>}l= U>= = g= A\= >=  >= p>=>=  |>=A= |=A0= |=A6= |PA=O >=AF= |=AL= |=A= |PA>=A= |=A= |=A= |PA>=A= |=A= |=A= |PA=O >Am =Am >Am =AmV>Am =Amp>Am =Amr>AmV=Am >AmV=AmV>AmV=Amp>AmV=Amr>Amp=Am >Amp=AmV>Amp=Amp>== P       = k   >k ==P=t>t==P=y>y=  0>=!OA=O  > Am"r>"!=#k=$%#$Am& >&%='t=()'(Am*V>*)=+y=,-+,Am.p>.-Am/!r=0/Am1Cp>10=2kOA322=A4C534Am6r>65=7tOA877=A9C:89Am;! >;:=<yOA=<<=A>C?=>Am@!V>@?AG = HGAmI =JI| KJALFH>LKAM = NMAmOV=PO| QPARFN0>RQAS = TSAmUp=VU| WVAXFT6>XWAY = ZYAm[r=\[| ]\A^FZ<>^]A_ = `_Ama! =ba| cbAdF`F>dcAe = feAmg!V=hg| ihAjFfL>ji8@mainCGlobals inMatricesinSkin inVertices outVertices&# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(Au_xlat1Yu_xlatu2\inSkin_type\value^inSkin^inSkin_buf`fu_xlati14ku_xlatu14ou_xlat3xu_xlat4}u_xlat5u_xlatu_loop_1u_xlatu38u_xlatu6u_xlat6u_xlati38u_xlat18inMatrices_typevalueinMatricesinMatrices_bufu_xlat7u_xlat8u_xlat9u_xlat10u_xlat11!u_xlat2 JoutVertices_origX0X_typeJvalueLoutVertices_origX0X LoutVertices_origX0X_bufN~u_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4u_xlatu26u_xlatb38G H#GG"G!G#H$#G%H&H&#G&G("G(!G[H\#G]H^H^#G^G`"G`!GH#G@HH#GG"G!GIHJ#GKHL#GLGN"GN!G ! ;     ; +   ; +     ; !+ "# "$#%$&% '&;'(+0+6+<; A+D+J+PT X ;XY+ Z[ Z\[]\^] _^;_` e;ef;Xk; o+p q+ t+ v; x; }  ;X;X+ ; +7;e+ T;  ;;;++ + ; + + +; ; ; !+&?I "JIKJLK ML;MN }    ;X;+ @, ZZ6;;}~;;;A = A= >=A) = *)A+(*= ,+|-,A. = /.A1(/0= 21|32A4 = 54A7(56= 87|98A: = ;:A=(;<= >=|?>P@-39?>!@AB = CBAE(CD= FE|GFAH = IHAK(IJ= LK|MLAN = ONAQ(OP= RQ|SRPTUGMS=VAO WVU>AWAa = baAc`b= dc>YdAg = hg|ihji0>fj=lfAm`l= nm>knAqro >rpAqsoZ>spAquot>upAqwov>wpAqyx >ypAqzxZ>zpAq{xt>{pAq|xv>|pAq~} >~pAq}Z>pAq}t>pAq}v>p= Y>= = k= A`= >=  >= pAq >Aq =Aq >=  |>=A= |=A0= |=A6= |PT>=AD= |=AJ= |=AP= |PT>=A= |=A= |=A= |PT>=A= |=A= |=A= |PT=O >Aq =Aq >Aq =AqZ>Aq =Aqt>Aq =Aqv>AqZ=Aq >AqZ=AqZ>AqZ=Aqt>AqZ=Aqv>Aqt=Aq >Aqt=Aq Z> Aq t=  Aq t>  = =O  =o>o==O =x>x==O =}>}=  0> ="!OT#""=$!O %$#>!%Aq'!v>'&=(o=)!*()Aq+ >+*=,x=-!.,-Aq/Z>/.=0}=1!201Aq3t>32Aq4!v=54Aq6Av>65=7oOT877=9AOT:99;8:Aq<v><;==xOT>===?AOT@??A>@AqB! >BA=C}OTDCC=EAOTFEEGDFAqH!Z>HGAO = POAqQ =RQ| SRATNP>TSAU = VUAqWZ=XW| YXAZNV0>ZYA[ = \[Aq]t=^]| _^A`N\6>`_Aa = baAqcv=dc| edAfNb<>feAqgAt=hgAqi!t>ihAj = kjAql! =ml| nmAoNkD>onAp = qpAqr!Z=sr| tsAuNqJ>utAv = wvAqx!t=yx| zyA{NwP>{z8@mainCGlobals inMatricesinSkin inVertices outVertices+# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(Au_xlat1[u_xlat2mu_xlatu3pinSkin_typepvaluerinSkinrinSkin_buftzu_xlati16u_xlatu16u_xlat4u_xlat5u_xlat6u_xlatu_loop_1u_xlatu42u_xlatu7u_xlat7u_xlati42u_xlat20inMatrices_typevalueinMatricesinMatrices_bufu_xlat8u_xlat9u_xlat10u_xlat11 u_xlat124u_xlat3 toutVertices_origX0X_typetvaluevoutVertices_origX0X voutVertices_origX0X_bufxu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4u_xlatu29u_xlatb42G H#GG"G!G#H$#G%(H&H&#G&G("G(!GoHp#GqHrHr#GrGt"Gt!GH#G@HH#GG"G!GsHt#Gu(Hv#GvGx"Gx!G ! ;     ; +   ; +     ; !+ " # "$#%$&% '&;'(+++6+<; A+D+J+P+V; [+^+d h l ;lm+ no npoqprq sr;st y;yz;l; + + + ; ;   ;l;l+ ; +7;y+  ;  ;;;+ ; + + +; ; ; 4+9?s "tsutvu wv;wx     ;l;+ @, nn6;;;;;A = A= >=A) = *)A,(*+= -,|.-A/ = 0/A1(0= 21|32A4 = 54A7(56= 87|98A: = ;:A=(;<= >=|?>P@.39?>!@AB = CBAE(CD= FE|GFAH = IHAK(IJ= LK|MLAN = ONAQ(OP= RQ|SRAT = UTAW(UV= XW|YXPZGMSY>AZA\ = ]\A_(]^= `_|a`Ab = cbAe(cd= fe|gfPhiag=j[O kji>[kAu = vuAwtv= xw>mxA{ = |{|}|~}6>z~=zAt= >A >An>A>A>A >An>A>A>A >An>A>A>= m>= = = At= >=  >= pA >A =A >=  |>=A= |=A6= |=A<= |P>=AD= |=AJ= |=AP= |P>=A^= |=Ad= |=A= |P>=A= |=A= |=A= |P=O >A =A >A =An>A =A>A =A > A n=  A   >  An=A n>An=A >An=A >A=A >A=An>A=A>= =!O "!!# "=$%#$>%=& ='O ('')&(=*+)*>+=,=-O .--/,.=01/0>1= 2 326>3=5!O655=74O 876>48A:4>:9=;=<4=;<A> >>==?=@4A?@ABn>BA=C=D4ECDAF>FE=GAOhHGG=I!O JIH>!J=KOLKK=M!ONMMOLNAP>PO=QORQQ=S!OTSSURTAV4 >VU=WOXWW=Y!OZYY[XZA\4n>\[=]AOh^]]=_[O `_^>[`=aObaa=c[OdccebdAf4>fe=gOhgg=i[OjiikhjAl4>lk=mOnmm=o[OpooqnpAr[ >rqAy = zyA{ =|{| }|A~xz>~}A = An=| Ax6>A = A=| Ax<>A = A=| Ax+>A = A4 =| AxD>A = A4n=| AxJ>A = A4=| AxP>A = A4=| AxV>A = A[ =| Ax^>A = A[n=| Axd>8@mainCGlobals inMatricesinSkin inVertices outVertices# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(?u_xlati1BinSkin_typeBvalueDinSkinDinSkin_bufFMu_xlat8PinMatrices_typePvalueRinMatricesRinMatrices_bufTbu_xlat2su_xlat3u_xlat4u_xlat5u_xlat6 outVertices_origX0X_typevalueoutVertices_origX0X outVertices_origX0X_bufu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G#H$#G% H&H&#G&G("G(!GAHB#GCHDHD#GDGF"GF!GOHP#GQ@HRHR#GRGT"GT!GH#G H#GG"G!G ! ;     ; +   ; +     ; !+ "# "$#%$&% '&;'(+0+6: >;>?+ @A @BACBDC ED;EF L:;LM+ NO NPOQPRQ SR;ST;Lb+d+i+n;Ls+u+z + ; + + +;  + +?;  " ;     + @, @@6;;;;A = A= >=A) = *)A+(*= ,+|-,A. = /.A1(/0= 21|32A4 = 54A7(56= 87|98P:;-39=<!O =<;>!=AG = HGAIFH= JI|KJ>?K=U?AVTU= WV|XW=Y?AZTY0= [Z|\[=]?A^T]6= _^|`_P:aX\`>Ma=c?AeTcd= fe|gf=h?AjThi= kj|lk=m?AoTmn= po|qpP:rglq>br=t?AvTtu= wv|xw=y?A{Tyz= |{|}|=~?AT~= |P:x}>s=?AT= |=?AT= |=?AT= |P:=O >AM =A >Ab =A@>As =A>A =A">A!">==!A >AM@=A >Ab@=A@>As@=A>A@=A">==!A@>AM=A >Ab=A@>As=A>==!A>A = A =| A>A = A@=| A0>A = A=| A6>8@mainCGlobals inMatricesinSkin inVertices outVerticesd#. GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(Cu_xlat1Uu_xlati31XinSkin_typeXvalueZinSkinZinSkin_buf\bu_xlat2einMatrices_typeevalueginMatricesginMatrices_bufiwu_xlat3u_xlat4u_xlat5u_xlat6u_xlat7u_xlat8u_xlat9 outVertices_origX0X_typevalueoutVertices_origX0X outVertices_origX0X_buf"u_xlat_precise_vec4%u_xlat_precise_ivec4(u_xlat_precise_bvec4+u_xlat_precise_uvec4G H#GG"G!G#H$#G%H&H&#G&G("G(!GWHX#GYHZHZ#GZG\"G\!GdHe#Gf@HgHg#GgGi"Gi!GH#GH#GG"G!G- ! ;     ; +   ; +     ; !+ "# "$#%$&% '&;'(+0+6+<A BA;BC+F+LP T;TU+ VW VXWYXZY [Z;[\;Bb+ cd cedfegf hg;hi;Bw+;B++ + ; + + +;  + + ; +?; ;  " ; !# $#& '&)  *)+ ,@, -,VV6;!";$%;'(;*+A = A= >=A) = *)A+(*= ,+|-,A. = /.A1(/0= 21|32A4 = 54A7(56= 87|98A: = ;:A=(;<= >=|?>P@-39?>!@AD = EDAG(EF= HG|IHAJ = KJAM(KL= NM|ONPPQIO=ARCOASRQ>CSA] = ^]A_\^= `_|a`>Ua=jUAkij= lk|ml=nUAoin0= po|qp=rUAsir6= ts|utPAvmqu>bv=xUAyixF= zy|{z=|UA}i|L= ~}|~=UAi= |PA{>w=UAi= |=UAi= |=UAi= |PA>=UAi= |=UAi= |=UAi= |PA=O >Ab =A >Aw =AV>A =A>A =A>=!OA=O >A>==A >AbV=A >AwV=AV>AV=A>AV=A>==AV>Ab=A >Aw=AV>A=A>==A>A!=AC>=OA=ACA>=OA=ACA! >=OA=ACA!V>A = A =| A>A = AV=| A0>A = A =  |  A  6>  A = A=| A<>A = A! =| AF>A = A!V=| AL>8@mainCGlobals inMatricesinSkin inVertices outVertices#> GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(Au_xlat1Yu_xlati2\inSkin_type\value^inSkin^inSkin_buf`gu_xlat12jinMatrices_typejvaluelinMatriceslinMatrices_bufn|u_xlat3u_xlat4u_xlat5u_xlat6u_xlat7u_xlat8u_xlat9 outVertices_origX0X_typevalueoutVertices_origX0X outVertices_origX0X_buf2u_xlat_precise_vec45u_xlat_precise_ivec48u_xlat_precise_bvec4;u_xlat_precise_uvec4G H#GG"G!G#H$#G%H&H&#G&G("G(!G[H\#G]H^H^#G^G`"G`!GiHj#Gk@HlHl#GlGn"Gn!GH#GH#GG"G!G= ! ;     ; +   ; +     ; !+ "# "$#%$&% '&;'(+0+6+<; A+D+J+PT X;XY+ Z[ Z\[]\^] _^;_` fT;fg+ hi hjikjlk ml;mn;f|;f++ + ; + + +;  + + ; +?; ;  " ; 13 436 769  :9+ <@, =<ZZ6;12;45;78;:;A = A= >=A) = *)A+(*= ,+|-,A. = /.A1(/0= 21|32A4 = 54A7(56= 87|98A: = ;:A=(;<= >=|?>P@-39?>!@AB = CBAE(CD= FE|GFAH = IHAK(IJ= LK|MLAN = ONAQ(OP= RQ|SRPTUGMS=VAO WVU>AWAa = baAc`b= dc|ed>Ye=oYApno= qp|rq=sYAtns0= ut|vu=wYAxnw6= yx|zyPT{rvz>g{=}YA~n}D= ~|=YAnJ= |=YAnP= |PT>|=YAn= |=YAn= |=YAn= |PT>=YAn= |=YAn= |=YAn= |PT=O >Ag =A >A| =AZ>A =A>A =A>=!OT=O >A>==A >AgZ=A >A|Z=AZ>AZ=A>AZ=A>==AZ>Ag=A >A|=AZ>A=A>==A>A!=AA>=OT=AOTA>=OT=AOTA! >=OT=AOTA!Z>A = A =| A>A  =  A Z=  |  A 0> A = A=| A6>A = A=| A<>AA=A!>A = A ! =! | "!A#D>#"A$ = %$A&!Z='&| ('A)%J>)(A* = +*A,!=-,| .-A/+P>/.8@mainCGlobals inMatricesinSkin inVertices outVertices8$#x GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(Au_xlat1[u_xlat2mu_xlati3pinSkin_typepvaluerinSkinrinSkin_buft|u_xlat14inMatrices_typevalueinMatricesinMatrices_bufu_xlat4u_xlat5u_xlat6u_xlat7u_xlat8u_xlat9u_xlat10u_xlat3 )outVertices_origX0X_type)value+outVertices_origX0X +outVertices_origX0X_buf-lu_xlat_precise_vec4ou_xlat_precise_ivec4ru_xlat_precise_bvec4uu_xlat_precise_uvec4G H#GG"G!G#H$#G%(H&H&#G&G("G(!GoHp#GqHrHr#GrGt"Gt!G~H#G@HH#GG"G!G(H)#G*(H+#G+G-"G-!Gw ! ;     ; +   ; +     ; !+ " # "$#%$&% '&;'(+++6+<; A+D+J+P+V; [+^+d h l;lm+ no npoqprq sr;stz {z;{|+ }~ }~ ;;{;{+ ; + + +;  + + ; +?; ; ; ( ")(*)+* ,+;,- km nmp qps  ts+ v@, wvnn6;kl;no;qr;tuA = A= >=A) = *)A,(*+= -,|.-A/ = 0/A1(0= 21|32A4 = 54A7(56= 87|98A: = ;:A=(;<= >=|?>P@.39?>!@AB = CBAE(CD= FE|GFAH = IHAK(IJ= LK|MLAN = ONAQ(OP= RQ|SRAT = UTAW(UV= XW|YXPZGMSY>AZA\ = ]\A_(]^= `_|a`Ab = cbAe(cd= fe|gfPhiag=j[O kji>[kAu = vuAwtv= xw|yx>my=mA= |=mA6= |=mA<= |Pz>|=mAD= |=mAJ= |=mAP= |Pz>=mA^= |=mAd= |=mA= |Pz>=mA= |=mA= |=mA= |Pz=O >A| =A >A =An>A =A>A =A>=!Oz=O >A>==A >A|n=A >An=An>An=A>An=A>==An>A|=A >A=An>A=A>==A>=AOh=!O >!=Oz=!OzA>=Oz=!Oz   A  >  = Oz   =!Oz An>=AOh=[O >[=Oz=[OzA>=Oz=[Oz A!>! ="Oz#""=$[Oz%$$&#%A'[ >'&A. = /.A0 =10| 21A3-/>32A4 = 54A6n=76| 87A9-56>98A: = ;:A<==<| >=A?-;<>?>A@ = A@AB=CB| DCAE-A+>EDAF = GFAH =IH| JIAK-GD>KJAL = MLANn=ON| POAQ-MJ>QPAR = SRAT=UT| VUAW-SP>WVAX = YXAZ=[Z| \[A]-YV>]\A^ = _^A`[ =a`| baAc-_^>cbAd = edAf[n=gf| hgAi-ed>ih8@mainCGlobals inMatricesinSkin inVertices outVertices`(# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(>u_xlat1AinSkin_typeAvalueCinSkinCinSkin_bufE\u_xlat2_inMatrices_type_valueainMatricesainMatrices_bufc{u_xlat3u_xlat4u_xlat5u_xlat6u_xlat7)u_xlat8?u_xlat9Pu_xlat10 outVertices_origX0X_typevalueoutVertices_origX0X outVertices_origX0X_bufu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G#H$#G% H&H&#G&G("G(!G@HA#GBHCHC#GCGE"GE!G^H_#G`@HaHa#GaGc"Gc!GH#G H#GG"G!G ! ;     ; +   ; +     ; !+ "# "$#%$&% '&;'(+0+6:; >+ ?@ ?A@BACB DC;DE+W; \+ ]^ ]_^`_a` ba;bc+ d e; {+++; ++ + ; + + +; + ; ; ); ?; P+? " ;     + @, 6;;;;A = A= >=A) = *)A+(*= ,+|-,A. = /.A1(/0= 21|32A4 = 54A7(56= 87|98P:;-39=<!O =<;>!=AF = GFAHEG= IH|JIAK = LKAMEL0= NM|ONAP = QPAREQ6= SR|TSAU = VUAXEVW= YX|ZYP[JOTZ>>[Aef>d=gf|hgAich= ji|kjAel>d=ml|nmAocn0= po|qpAer>d=sr|tsAuct6= vu|wvP:xkqw=y\O zyx>\zAe|>d=}||~}Ac~= |Ae>d=|Ac= |Ae>d=|Ac= |P:={O >{Ae>d=|Ac= |Ae>d=|Ac= |Ae>d=|Ac= |P:=O >Ae>d=|Ac= |Ae>d=|Ac= |Ae>d=|Ac= |P:=O >Ae\ =Ae >Ae{ =Ae>Ae =Aed>Ae =Ae">Ae\=Ae >Ae{=Ae>Ae=Aed>Ae=Ae">Ae\d=Ae >Ae{d=Ae>Aed=Aed>Ae>"=|Ac= |Ae>"=|Ac0= |Ae>"=|Ac6= |P:=\O >\Ae>"=|Ac= |Ae>"=|Ac= |  Ae >"=  |  Ac = |P: ={O >{Ae>"=|Ac= |Ae>"=|Ac= |Ae >"=! |"!A#c"= $#|%$P:&%='O ('&>(Ae*>"=+*|,+A-c,= .-|/.Ae0>"=10|21A3c2= 43|54Ae6>"=76|87A9c8= :9|;:P:</5;==)O >=<>)>Ae@\ =A@AeB? >BAAeC{ =DCAeE?>EDAeF =GFAeH?d>HGAeI) =JIAeK?">KJ=L>O MLL=N?OMN>?OAeQ\=RQAeSP >SRAeT{=UTAeVP>VUAeW=XWAeYPd>YXAeZ)=[ZAe\P">\[=]>O ^]]=_P`^_>P`Aea\d=baAec) >cbAed{d=edAef)>feAegd=hgAei)d>ih=j>O kjj=l)mkl>\m=n=o>O pooqnp=r?sqr>{s=t=u>O vuuwtv=xPywx>y=z={>O |{{}z|=~\}~>>Ae!">={=!Ae\ >==!Ae\>=>=!Ae\d>A = Ae\ =| A>A = Ae\=| A0>A = Ae\d=| A6>8@mainCGlobals inMatricesinSkin inVertices outVertices-# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(Cu_xlat1Tu_xlat2WinSkin_typeWvalueYinSkinYinSkin_buf[qu_xlat3tinMatrices_typetvaluevinMatricesvinMatrices_bufxu_xlat4u_xlat5u_xlat6u_xlat7u_xlat8=u_xlat9Su_xlat10du_xlat11 outVertices_origX0X_typevalueoutVertices_origX0X outVertices_origX0X_bufu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G#H$#G%H&H&#G&G("G(!GVHW#GXHYHY#GYG["G[!GsHt#Gu@HvHv#GvGx"Gx!GH#GH#GG"G!G ! ;     ; +   ; +     ; !+ "# "$#%$&% '&;'(+0+6+<A BA;BC+F+LP; T+ UV UWVXWYX ZY;Z[; q+ rs rtsutvu wv;wx+ y z; +; ++ + ; + + +; + + ; ; =; S; d+? " ;     + @, 6;;;;A = A= >=A) = *)A+(*= ,+|-,A. = /.A1(/0= 21|32A4 = 54A7(56= 87|98A: = ;:A=(;<= >=|?>P@-39?>!@AD = EDAG(EF= HG|IHAJ = KJAM(KL= NM|ONPPQIO=ARCOASRQ>CSA\ = ]\A^[]= _^|`_Aa = baAc[b0= dc|edAf = gfAh[g6= ih|jiAk = lkAm[l<= nm|onPp`ejo>TpAz{Ty=|{|}|A~x}= ~|AzTy=|Ax0= |AzTy=|Ax6= |PA=qO >qAzTy=|AxF= |AzTy=|AxL= |AzTy=|Ax= |PA=O >AzTy=|Ax= |AzTy=|Ax= |AzTy=|Ax= |PA=O >AzTy=|Ax= |AzTy=|Ax= |AzTy=|Ax= |PA=O >Azq =Az >Az =Az>Az =Azy>Az =Az>Azq=Az >Az=Az>Az=Azy>Az=Az>Azqy=Az >Azy=Az>Azy=Azy>AzT=|Ax= |AzT=|Ax0= | Az T=  |  A x 6=  |PA =qO >qAzT=|AxF= |AzT=|AxL= |AzT= |! A"x!= #"|$#PA%$=&O '&%>'Az(T=)(|*)A+x*= ,+|-,Az.T=/.|0/A1x0= 21|32Az4T=54|65A7x6= 87|98PA:-39=;O <;:><Az>T=?>|@?AAx@= BA|CBAzDT=ED|FEAGxF= HG|IHAzJT=KJ|LKAMxL= NM|ONPAPCIO=Q=O RQP>=RAzTq =UTAzVS >VUAzW =XWAzYS>YXAzZ =[ZAz\Sy>\[Az]= =^]Az_S>_^=`TO a``=bScab>ScAzeq=feAzgd >gfAzh=ihAzjd>jiAzk=lkAzmdy>mlAzn==onAzpd>po=qTO rqq=sdtrs>dtAzuqy=vuAzw= >wvAzxy=yxAzz=>zyAz{y=|{Az}=y>}|=~TO ~~==>q==TO =S>==TO =d>==TO =q>T=!OA=qO >qAzq>==qAz >==qAz>=T=qAzy>Az!=AzCy>=OA=ACAz>=OA=ACAz! >=TOA=ACAz!>A = Az =| A>A = Az=| A0>A = Azy=| A6>A = Az=| A<>A = Az! =| AF>A = Az!=| AL>8@mainCGlobals inMatricesinSkin inVertices outVertices/# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(Au_xlat1Xu_xlat2[inSkin_type[value]inSkin]inSkin_buf_uu_xlat3xinMatrices_typexvaluezinMatriceszinMatrices_buf|u_xlat4u_xlat5u_xlat6u_xlat7u_xlat8@u_xlat9Vu_xlat10gu_xlat11 outVertices_origX0X_typevalueoutVertices_origX0X outVertices_origX0X_bufu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G#H$#G%H&H&#G&G("G(!GZH[#G\H]H]#G]G_"G_!GwHx#Gy@HzHz#GzG|"G|!GH#GH#GG"G!G ! ;     ; +   ; +     ; !+ "# "$#%$&% '&;'(+0+6+<; A+D+J+PT; X+ YZ Y[Z\[]\ ^];^_; u+ vw vxwyxzy {z;{|+ } ~; ; ++ + ; + + +; + + ; ; @; V; g+? " ;     + @, 6;;;;A = A= >=A) = *)A+(*= ,+|-,A. = /.A1(/0= 21|32A4 = 54A7(56= 87|98A: = ;:A=(;<= >=|?>P@-39?>!@AB = CBAE(CD= FE|GFAH = IHAK(IJ= LK|MLAN = ONAQ(OP= RQ|SRPTUGMS=VAO WVU>AWA` = a`Ab_a= cb|dcAe = feAg_f0= hg|ihAj = kjAl_k6= ml|nmAo = poAq_p<= rq|srPtdins>XtA~X}=|A|= |A~X}=|A|0= |A~X}=|A|6= |PT=uO >uA~X}=|A|D= |A~X}=|A|J= |A~X}=|A|P= |PT=O >A~X}=|A|= |A~X}=|A|= |A~X}=|A|= |PT=O >A~X}=|A|= |A~X}=|A|= |A~X}=|A|= |PT=O >A~u =A~ >A~ =A~>A~ =A~}>A~ =A~>A~u=A~ >A~=A~>A~=A~}>A~=A~>A~u}=A~ >A~}=A~>A~}=A~}>A~X=|A|= |A~X=| A | 0=  |  A~ X= |A|6= |PT =uO >uA~X=|A|D= |A~X=|A|J= |! A~"X=#"|$#A%|$P= &%|'&PT(!'=)O *)(>*A~+X=,+|-,A.|-= /.|0/A~1X=21|32A4|3= 54|65A~7X=87|98A:|9= ;:|<;PT=06<=>O ?>=>?A~AX=BA|CBAD|C= ED|FEA~GX=HG|IHAJ|I= KJ|LKA~MX=NM|ONAP|O= QP|RQPTSFLR=T@O UTS>@UA~Wu =XWA~YV >YXA~Z =[ZA~\V>\[A~] =^]A~_V}>_^A~`@ =a`A~bV>ba=cXO dcc=eVfde>VfA~hu=ihA~jg >jiA~k=lkA~mg>mlA~n=onA~pg}>poA~q@=rqA~sg>sr=tXO utt=vgwuv>gwA~xu}=yxA~z@ >zyA~{}=|{A~}@>}|A~~}=~A~@}>=XO =@>u==XO =V>==XO =g>==XO =u>X=!OT=uO >uA~u>==uA~ >==uA~>=X=uA~}>A~!=A~A>=OT=AOTA~>=OT=AOTA~! >=XOT=AOTA~!>A = A~ =| A>A = A~=| A0>A = A~}=| A6>A = A~=| A<>A~A}=A~!}>A = A~! =| AD>A = A~!=| AJ>A = A~!}=| AP>8@mainCGlobals inMatricesinSkin inVertices outVertices<4#8 GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(Au_xlat1[u_xlat2lu_xlat3oinSkin_typeovalueqinSkinqinSkin_bufsu_xlat4inMatrices_typevalueinMatricesinMatrices_bufu_xlat5u_xlat6u_xlat7u_xlat8u_xlat9Su_xlat10iu_xlat11zu_xlat12 outVertices_origX0X_typevalueoutVertices_origX0X outVertices_origX0X_buf,u_xlat_precise_vec4/u_xlat_precise_ivec42u_xlat_precise_bvec45u_xlat_precise_uvec4G H#GG"G!G#H$#G%(H&H&#G&G("G(!GnHo#GpHqHq#GqGs"Gs!GH#G@HH#GG"G!GH#G(H#GG"G!G7 ! ;     ; +   ; +     ; !+ " # "$#%$&% '&;'(+++6+<; A+D+J+P+V; [+^+d h; l+ mn monpoqp rq;rs; +   ;+  ; ; + ; + + +; + + ; ; S; i; z+? " ; +- .-0 103  43+ 6@, 766;+,;./;12;45A = A= >=A) = *)A,(*+= -,|.-A/ = 0/A1(0= 21|32A4 = 54A7(56= 87|98A: = ;:A=(;<= >=|?>P@.39?>!@AB = CBAE(CD= FE|GFAH = IHAK(IJ= LK|MLAN = ONAQ(OP= RQ|SRAT = UTAW(UV= XW|YXPZGMSY>AZA\ = ]\A_(]^= `_|a`Ab = cbAe(cd= fe|gfPhiag=j[O kji>[kAt = utAvsu= wv|xwAy = zyA{sz6= |{|}|A~ = ~As<= |A = As+= |Px}>lAl=|A= |Al=|A6= |Al=|A<= |P=O >Al=|AD= |Al=|AJ= |Al=|AP= |P=O >Al=|A^= |Al=|Ad= |Al=|A= |P=O >Al=|A= |Al=|A= |Al=|A= |P=O >A =A >A =A>A =A>A =A>A=A >A=A>A=A>A= A >  A =  A  >  A=A>A=A>Al=|A= |Al=|A6= |A l=! |"!A#"<= $#|%$P&%='O ('&>(A)l=*)|+*A,+D= -,|.-A/l=0/|10A21J= 32|43A5l=65|76A87P= 98|:9P;.4:=<O =<;>=A>l=?>|@?AA@^= BA|CBADl=ED|FEAGFd= HG|IHAJl=KJ|LKAML= NM|ONPPCIO=QO RQP>RATl=UT|VUAWV= XW|YXAZl=[Z|\[A]\= ^]|_^A`l=a`|baAcb= dc|edPfY_e=gSO hgf>ShAj =kjAli >lkAm =nmAoi>onAp =qpAri>rqAsS =tsAui>ut=vlO wvv=xiywx>iyA{=|{A}z >}|A~=~Az>A=Az>AS=Az>=lO =z>zA=AS >A=AS>A=AS>=lO =S>==lO =i>==lO =z>==lO =>l=!O=O >A>==A >==A>=l=A>=AOh=!O >!=O=!OA>=O=!OA >=lO=!OA>=AOh=[O >[=O=[OA>=O=[OA>=lO=[OA[ >A = A =| A>A = A=| A6>A = A=| A<>A = A=| A+>A = A = |  A D>  A  =  A=| A J>A = A=| AP>A = A=| AV>A = A [ =! | "!A#^>#"A$ = %$A&[='&| ('A)%d>)(8@mainCGlobals inMatricesinSkin inVertices outVertices8># GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(>u_xlat1AinSkin_typeAvalueCinSkinCinSkin_bufE^u_xlati2xu_xlat3{inMatrices_type{value}inMatrices}inMatrices_bufu_xlat4u_xlat5u_xlat6u_xlat7u_xlat8.u_xlat9Au_xlat10Ru_xlat11u_xlat2 outVertices_origX0X_typevalueoutVertices_origX0X outVertices_origX0X_bufu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G#H$#G% H&H&#G&G("G(!G@HA#GB HCHC#GCGE"GE!GzH{#G|@H}H}#G}G"G!GH#G H#GG"G!G ! ;     ; +   ; +     ; !+ "# "$#%$&% '&;'(+0+6:; >+ ?@ ?A@BACB DC;DE+W\ ]\;]^+a+g+m+s; x+ yz y{z|{}| ~};~ ; ; ++ + ; + + +;  + + ; ; .; A; R; +y? " ;  \   + @, 6;;;;A = A= >=A) = *)A+(*= ,+|-,A. = /.A1(/0= 21|32A4 = 54A7(56= 87|98P:;-39=<!O =<;>!=AF = GFAHEG= IH|JIAK = LKAMEL0= NM|ONAP = QPAREQ6= SR|TSAU = VUAXEVW= YX|ZYP[JOTZ>>[A_ = `_AbE`a= cb|dcAe = feAhEfg= ih|jiAk = lkAnElm= on|poAq = rqAtErs= ut|vuP\wdjpv>^wA^ =A= |A^ =A0= |A^ =A6= |P:=xO >xA^ =Aa= |A^ =Ag= |A^ =Am= |P:=O >A^ =A= |A^ =A= |A^ =A= |P:=O >A^ =A= |A^ =A= |A^ =A= |P:=O >Ax =A >A =A>A =A>A =A">Ax=A >A=A>A=A>A=A">Ax=A >A=A>A=A>A^=A= |A^=A0= |A^=A6= |P:=xO  >x A ^=  A  a=  | A^=Ag= |A^=Am= |P:=O >A^=A= | A!^="!A#"= $#|%$A&^='&A('= )(|*)P:+ %*=,O -,+>-A/^=0/A10= 21|32A4^=54A65= 76|87A9^=:9A;:= <;|=<P:>38==?.O @?>>.@ABx =CBADA >DCAE =FEAGA>GFAH =IHAJA>JIAK. =LKAMA">ML=N>O ONN=PAQOP>AQASx=TSAUR >UTAV=WVAXR>XWAY=ZYA[R>[ZA\.=]\A^R">^]=_>O `__=aRb`a>RbAcx=dcAe. >edAf=gfAh.>hgAi=jiAk.>kj=l>O mll=n.omn>xo=p=q>O rqqspr=tAust>u=v=w>O xwwyvx=zR{yz>{=|=}>O ~}}|~=x>xA^=A= |A^=A0= |A^=A6= |P:=O >A^=Aa= |A^=Ag= |A^=Am= |P:=O >A^=A= |A^=A= |A^=A= |P:=O >A^=A= |A^=A= |A^=A= |P:=.O >.A =AA >A =AA>A =AA>A. =AA">A=AR >A=AR>A=AR>A.=AR">A=A. >A=A.>A=A.>=A=>O =>=R=>O =>=.=>O =x>xA^"=A= |A^"=A0= |A^"=A 6=  |  P:  = >O   >>A^"=Aa= |A^"=Ag= |A^"=Am= |P:= O ! >!A"^"=#"A$#= %$|&%A'^"=('A)(= *)|+*A,^"=-,A.-= /.|0/P:1&+0=2O 321>3A4^"=54A65= 76|87A9^"=:9A;:= <;|=<A>^"=?>A@?= A@|BAP:C8=B=DO EDC>EAF> =GFAH >HGAI =JIAK>KJAL =MLAN>NMAO =POAQ">QPAR>=SRAT. >TSAU=VUAW.>WVAX=YXAZ.>ZYA[=\[A].">]\A^>=_^A` >`_Aa=baAc>cbAd=edAf>fe=g=h>O ihhjgi=kljk>l=m.=n>O onnpmo=qrpq>r=s=t>O uttvsu=wxxvw>>xAz!">zy={=|!}{|A~ >~}==!A>=>=!A>A = A =| A>A = A=| A0>A = A=| A6>8@mainCGlobals inMatricesinSkin inVertices outVerticestC# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(Cu_xlat1Tu_xlat2WinSkin_typeWvalueYinSkinYinSkin_buf[su_xlati3u_xlat4inMatrices_typevalueinMatricesinMatrices_bufu_xlat5u_xlat6u_xlat7u_xlat8u_xlat9Bu_xlat10Uu_xlat11fu_xlat12#u_xlat3 outVertices_origX0X_typevalueoutVertices_origX0X outVertices_origX0X_bufu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G#H$#G%H&H&#G&G("G(!GVHW#GX HYHY#GYG["G[!GH#G@HH#GG"G!GH#GH#GG"G!G ! ;     ; +   ; +     ; !+ "# "$#%$&% '&;'(+0+6+<A BA;BC+F+LP; T+ UV UWVXWYX ZY;Z[q rq;rs++; +   ; ; ; ++ + ; + + +;  + + + ; ; B; U; f; #+? " ;  q   + @, 6;;;;A = A= >=A) = *)A+(*= ,+|-,A. = /.A1(/0= 21|32A4 = 54A7(56= 87|98A: = ;:A=(;<= >=|?>P@-39?>!@AD = EDAG(EF= HG|IHAJ = KJAM(KL= NM|ONPPQIO=ARCOASRQ>CSA\ = ]\A^[]= _^|`_Aa = baAc[b0= dc|edAf = gfAh[g6= ih|jiAk = lkAm[l<= nm|onPp`ejo>TpAt = utAv[uF= wv|xwAy = zyA{[zL= |{|}|A~ = ~A[= |A = A[= |Pqx}>sAs =A= |As =A0= |As =A6= |PA=O >As =AF= |As =AL= |As =A= |PA=O >As =A= |As =A= |As =A= |PA=O >As =A= |As =A= |As =A= |PA=O >A =A >A =A>A =A>A =A>A=A >A=A>A=A>A=A>A=A >A=A>A =  A >  A s=  A = |As=A0= |As=A6= |PA=O >As=A F= ! |"!A#s=$#A%$L= &%|'&A(s=)(A*)= +*|,+PA-"',=.O /.->/A0s=10A21= 32|43A5s=65A76= 87|98A:s=;:A<;= =<|>=PA?49>=@O A@?>AACs=DCAED= FE|GFAHs=IHAJI= KJ|LKAMs=NMAON= PO|QPPARGLQ=SBO TSR>BTAV =WVAXU >XWAY =ZYA[U>[ZA\ =]\A^U>^]A_B =`_AaU>a`=bTO cbb=dUecd>UeAg=hgAif >ihAj=kjAlf>lkAm=nmAof>onApB=qpArf>rq=sTO tss=ufvtu>fvAw=xwAyB >yxAz={zA|B>|{A}=~}AB>~=TO =B>==TO =U>==TO =f>==TO =>As=A= |As=A0= |As=A6= |PA=O >As=AF= |As=AL= |As=A= |PA=O >As=A= |As=A= |As=A= |PA=O >As=A= |As=A= |As=A= |PA=BO >BA =AU >A =AU>A =AU>AB =AU>A=Af >A=Af>A=Af>AB=Af>A=AB >A=AB>A=AB>=U=TO =>=f=TO =   > = B= TO      =>As=A= |As=A0= |As=A6= |PA =!TO "! >T"A$s=%$A&%F= '&|('A)s=*)A+*L= ,+|-,A.s=/.A0/= 10|21PA3(-2=4#O 543>#5A6s=76A87= 98|:9A;s=<;A=<= >=|?>A@s=A@ABA= CB|DCPAE:?D=FO GFE>GAHs=IHAJI= KJ|LKAMs=NMAON= PO|QPARs=SRATS= UT|VUPAWLQV=XO YXW>YAZT =[ZA\ >\[A]# =^]A_>_^A` =a`Ab>baAc =dcAe>edAfT=gfAhB >hgAi#=jiAkB>kjAl=mlAnB>nmAo=poAqB>qpArT=srAt >tsAu#=vuAw>wvAx=yxAz>zy={=|TO }||~{}=~>#=B=TO =>==TO =>T=!OA=O >A>=#=A >==A>=T=A>A!=AC>=#OA=ACA>=OA=ACA! >=TOA=ACA!>A = A =| A>A = A=| A0>A = A=| A6>A = A=| A<>A = A! =| AF>A = A!=| AL>8@mainCGlobals inMatricesinSkin inVertices outVerticesD# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(Au_xlat1Xu_xlat2[inSkin_type[value]inSkin]inSkin_buf_wu_xlati3u_xlat4inMatrices_typevalueinMatricesinMatrices_bufu_xlat5u_xlat6u_xlat7u_xlat8u_xlat9Eu_xlat10Xu_xlat11iu_xlat12&u_xlat3 outVertices_origX0X_typevalueoutVertices_origX0X outVertices_origX0X_bufu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G#H$#G%H&H&#G&G("G(!GZH[#G\ H]H]#G]G_"G_!GH#G@HH#GG"G!GH#GH#GG"G!G ! ;     ; +   ; +     ; !+ "# "$#%$&% '&;'(+0+6+<; A+D+J+PT; X+ YZ Y[Z\[]\ ^];^_u vu;vw+; +   ; ; ; ++ + ; + + +;  + + + ; ; E; X; i; &+? " ;  u   + @, 6;;;;A = A= >=A) = *)A+(*= ,+|-,A. = /.A1(/0= 21|32A4 = 54A7(56= 87|98A: = ;:A=(;<= >=|?>P@-39?>!@AB = CBAE(CD= FE|GFAH = IHAK(IJ= LK|MLAN = ONAQ(OP= RQ|SRPTUGMS=VAO WVU>AWA` = a`Ab_a= cb|dcAe = feAg_f0= hg|ihAj = kjAl_k6= ml|nmAo = poAq_p<= rq|srPtdins>XtAx = yxAz_yD= {z||{A} = ~}A_~J= |A = A_P= |A = A_= |Pu|>wAw =A= |Aw =A0= |Aw =A6= |PT=O >Aw =AD= |Aw =AJ= |Aw =AP= |PT=O >Aw =A= |Aw =A= |Aw =A= |PT=O >Aw =A= |Aw =A= |Aw =A= |PT=O >A =A >A =A>A =A>A =A>A=A >A=A>A=A>A=A>A=A >A =  A >  A =  A> Aw=A= |Aw=A0= |Aw=A6= |PT=O  > A!w="!A#"D= $#|%$A&w='&A('J= )(|*)A+w=,+A-,P= .-|/.PT0%*/=1O 210>2A3w=43A54= 65|76A8w=98A:9= ;:|<;A=w=>=A?>= @?|A@PTB7<A=CO DCB>DAFw=GFAHG= IH|JIAKw=LKAML= NM|ONAPw=QPARQ= SR|TSPTUJOT=VEO WVU>EWAY =ZYA[X >[ZA\ =]\A^X>^]A_ =`_AaX>a`AbE =cbAdX>dc=eXO fee=gXhfg>XhAj=kjAli >lkAm=nmAoi>onAp=qpAri>rqAsE=tsAui>ut=vXO wvv=xiywx>iyAz={zA|E >|{A}=~}AE>~A=AE>=XO =E>==XO =X>==XO =i>==XO =>Aw=A= |Aw=A0= |Aw=A6= |PT=O >Aw=AD= |Aw=AJ= |Aw=AP= |PT=O >Aw=A= |Aw=A= |Aw=A= |PT=O >Aw=A= |Aw=A= |Aw=A= |PT=EO >EA =AX >A =AX>A =AX>AE =AX>A=Ai >A=Ai>A=Ai>AE=Ai>A=AE >A=AE>A=AE>=X=XO =>=i= XO      =    > =E=XO =>Aw=A= |Aw=A0= |Aw=A 6= ! |"!PT#"=$XO %$#>X%A'w=('A)(D= *)|+*A,w=-,A.-J= /.|0/A1w=21A32P= 43|54PT6+05=7&O 876>&8A9w=:9A;:= <;|=<A>w=?>A@?= A@|BAACw=DCAED= FE|GFPTH=BG=IO JIH>JAKw=LKAML= NM|ONAPw=QPARQ= SR|TSAUw=VUAWV= XW|YXPTZOTY=[O \[Z>\A]X =^]A_ >_^A`& =a`Ab>baAc =dcAe>edAf =gfAh>hgAiX=jiAkE >kjAl&=mlAnE>nmAo=poAqE>qpAr=srAtE>tsAuX=vuAw >wvAx&=yxAz>zyA{=|{A}>}|=~=XO ~=>&=E=XO =>==XO =>X=!OT=O >A>=&=A >==A>=X=A>A!=AA>=&OT=AOTA>=OT=AOTA! >=XOT=AOTA!>A = A =| A>A = A=| A0>A = A=| A6>A = A=| A<>AA=A!>A = A! =| AD>A = A!=| AJ>A = A!=| AP>8@mainCGlobals inMatricesinSkin inVertices outVerticesJ#/ GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCount!u_xlat0$inVertices_type$value&inVertices&inVertices_buf(Au_xlat1[u_xlat2lu_xlat3oinSkin_typeovalueqinSkinqinSkin_bufsu_xlati4u_xlat5inMatrices_typevalueinMatricesinMatrices_bufu_xlat6u_xlat7u_xlat8u_xlat9 u_xlat10Wu_xlat11ju_xlat12{u_xlat138u_xlat4 outVertices_origX0X_typevalueoutVertices_origX0X outVertices_origX0X_buf$u_xlat_precise_vec4&u_xlat_precise_ivec4)u_xlat_precise_bvec4,u_xlat_precise_uvec4G H#GG"G!G#H$#G%(H&H&#G&G("G(!GnHo#Gp HqHq#GqGs"Gs!GH#G@HH#GG"G!GH#G(H#GG"G!G. ! ;     ; +   ; +     ; !+ " # "$#%$&% '&;'(+++6+<; A+D+J+P+V; [+^+d h; l+ mn monpoqp rq;rs ;; +   ; ; ; + ; + + +;  + + + ; ; W; j; {; 8+? " ; # %' ('*  +*+ -@, .-6;#$;%&;();+,A = A= >=A) = *)A,(*+= -,|.-A/ = 0/A1(0= 21|32A4 = 54A7(56= 87|98A: = ;:A=(;<= >=|?>P@.39?>!@AB = CBAE(CD= FE|GFAH = IHAK(IJ= LK|MLAN = ONAQ(OP= RQ|SRAT = UTAW(UV= XW|YXPZGMSY>AZA\ = ]\A_(]^= `_|a`Ab = cbAe(cd= fe|gfPhiag=j[O kji>[kAt = utAvsu= wv|xwAy = zyA{sz6= |{|}|A~ = ~As<= |A = As+= |Px}>lA = AsD= |A = AsJ= |A = AsP= |A = AsV= |P>A =A= |A =A6= |A =A<= |P=O >A =AD= |A =AJ= |A =AP= |P=O >A =A^= |A =Ad= |A =A= |P=O >A =A= |A =A= |A =A= |P=O >A =A >A =A>A =A>A =A  > A =  A  > A=A >A=A >A=A  >A=A >A=A>A=A > A!="!A#"= $#|%$A&='&A('6= )(|*)A+=,+A-,<= .-|/.P0%*/=1O 210>2A3=43A54D= 65|76A8=98A:9J= ;:|<;A==>=A?>P= @?|A@PB7<A=CO DCB>DAE=FEAGF^= HG|IHAJ=KJALKd= ML|NMAO=POAQP= RQ|SRPTINS=UO VUT>VAX=YXAZY= [Z|\[A]=^]A_^= `_|a`Ab=cbAdc= ed|fePg\af=hWO ihg>WiAk =lkAmj >mlAn =onApj>poAq =rqAsj>srAtW =utAvj >vu=wlO xww=yjzxy>jzA|=}|A~{ >~}A=A{>A=A{>AW=A{ >=lO ={>{A=AW >A=AW>A=AW>=lO =W>==lO =j>= =lO ={>==lO =>A=A= |A=A6= |A=A<= |P=O >A=AD= |A=AJ= |A=AP= |P=O >A=A^= |A=Ad= |A=A= |P= O > A=A= |A=A= |A=A= |P=WO >WA =Aj >A =Aj>A  =Aj>AW =Aj >A=A{ >A=A{>A =A{>AW= A { >  A =  A W >  A=AW>A =AW>=j=lO =>={=lO =>= W=!lO "!!# "=$%#$>%A& ='&A('= )(|*)A+ =,+A-,6= .-|/.A0 =10A21<= 32|43P5*/4=6lO 765>l7A9 =:9A;:D= <;|=<A> =?>A@?J= A@|BAAC =DCAEDP= FE|GFPH=BG=I8O JIH>8JAK =LKAML^= NM|ONAP =QPARQd= SR|TSAU =VUAWV= XW|YXPZOTY=[O \[Z>\A] =^]A_^= `_|a`Ab =cbAdc= ed|feAg =hgAih= ji|kjPlafk=mO nml>nAol =poAq  >qpAr8 =srAt >tsAu =vuAw >wvAx =yxAz  >zyA{l=|{A}W >}|A~8=~AW>A=AW>A=AW >Al=A >A8=A>A=A>= =lO =>8=W=lO =>==lO =>l=!O=O >A >=8=A >==A>=l=A>=AOh=!O >!=8O=!OA >=O=!OA >=lO=!OA>=AOh=[O >[=8O=[OA>=O=[OA >=lO=[OA[ >A = A =| A>A = A=| A6>A = A=| A<>A = A =| A+>A = A =| AD>A = A=| A J> A  =  A =  |  A P>A = A =| AV>A = A[ =| A^>A = A[=| A!d>! 8@mainCGlobals inMatricesinSkin inVertices outVerticesD #X GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Eu_xlati12Lu_xlat12NinSkinNinSkin_bufP^u_xlat2hu_xlat3mu_xlat4ru_xlat36{u_xlatb5u_xlati5u_xlat5u_xlatu17u_xlat17u_xlat6inMatrices_typevalueinMatricesinMatrices_bufu_xlat7u_xlat8u_xlat9u_xlat10u_xlat113outVertices_origX0X 3outVertices_origX0X_buf5Lu_xlat_precise_vec4Ou_xlat_precise_ivec4Ru_xlat_precise_bvec4Uu_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GMHNHN#GNGP"GP!GH#G@HH#GG"G!G2H3#G3G5"G5!GW ! ;     ; +   ; +  ;+# % &% '&;'() *) +*;+,+.+6A%;EJ% KJ;KLM NM ON;OP;'^+%_ `%+ b+ d+ f;'h;'m;`r)z;{;;`  ;+ ;`+%7+ A;  ;;+++;++ + ;'+ +;';'+%$?2 32 43;45 K&M NMP QPS  TS+ V@, WVbb6;KL;NO;QR;TUA = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(DAF = GF|HGIH.>EI=QERQ.SRATPS= UT|%VU=WEXW.YX6AZPY= [Z|%\[PJ]V\>L]A`a^ >a_A`c^b>c_A`e^d>e_A`g^f>g_A`ih >i_A`jhb>j_A`khd>k_A`lhf>l_A`nm >n_A`omb>o_A`pmd>p_A`qmf>q_A`sL =%ts>rtuuwxyyzvwv=%|r| }|A`~Lb=%~| }>{={w=%r|.>=.AP= |%>=%|  >= p%>=%%>=%|  |>=A= |%=A6= |%=A.= |%PA>=A= |%=A= |%=A= |%PA>=A= |%=A= |%=A= |%PA>=A#= |%=A= |%=A= |%PA=&O &>A` =%A` >A` =%A`b>A` =%A`d>A` =%A`f>A`b=%A` >A`b=%A`b>A`b=%A`d>A`b=%A`f>A`d=%A` >A`d=% A` b>  A` d=%  A` d>  =&=%P&&=&^&>^=&=%P&&=&h&>h=&=%P&&=&m&>m=% r|! "!6|%#">r#xxuwA`%(f>%$=&&^=&'(%(&'A`)^ >)(=&*h=&+(%,*+A`-^b>-,=&.m=&/(%0./A`1^d>10=676.A`8^ =%98| :9A;57>;:=<=<.>=6A`?^b=%@?| A@AB5>>BA=CDC.ED.A`F^d=%GF| HGAI5E>IH8@mainCGlobals inMatricesinSkin inVertices outVertices%# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Eu_xlati13Mu_xlat2au_xlati26hu_xlat26jinSkinjinSkin_buflzu_xlat3u_xlat4u_xlat5u_xlat41u_xlatb6u_xlati6u_xlat6u_xlatu19u_xlat19u_xlat7inMatrices_typevalueinMatricesinMatrices_bufu_xlat8u_xlat9u_xlat10 u_xlat11u_xlat12`outVertices_origX0X `outVertices_origX0X_bufbu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GiHjHj#GjGl"Gl!GH#G@HH#GG"G!G_H`#G`Gb"Gb!G ! ;     ; +   ; +  ;+#% &% '&;'() *) +*;+,+.+6A%;E+J LA;LM;af% gf;ghi ji kj;kl;'z+%{ |%+ ~+ + ;';';|);;;L  ;+ ;|+%7+ ;L  ;;L+++;L++ + ;'+ +;' ;'+%B?_ `_ a`;ab &    + @, ~~6;;;;A = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(DAF = GF|HGIH#KIJ>EK=NEON.POAQ,P= RQ|%SR=TEUT.VU6AW,V= XW|%YX=ZE[Z.\[.A],\= ^]|%_^PA`SY_>M`Ab = cb|dced.>ae=manm.onAplo= qp|%rq=sats.ut6Avlu= wv|%xwPfyrx>hyA|}z >}{A|z~>{A|z>{A|z>{A| >{A|~>{A|>{A|>{A| >{A|~>{A|>{A|>{A|h =%>=%| A|h~=%| >==%|.>=.Al= |%A| >A| =%|  >= p%>=%%>A| =%|  |>=A= |%=A6= |%=A.= |%PA>=A= |%=A= |%=A= |%PA>=A= |%=A= |%=A= |%PA>=AJ= |%=A= |%=A= |%PA=&O &>A|  =%  A|   >  A|  =% A| ~>A| =%A| >A| =%A| >A|~=%A| >A|~=%A|~>A|~=%A|>A| ~=%! A|">"!A|#=%$#A|% >%$A|&=%'&A|(~>('A|)=%*)A|+>+*=&, =%-P&.----&/,.=&0z&1/0>z1=&2=%3P&43333&524=&6&756>7=&8=%9P&:9999&;8:=&<&=;<>==%>|?>@?6|%A@>AA|C(>CB=&Dz=&E(%FDEA|G >GF=&H=&I(%JHIA|K~>KJ=&L=&M(%NLMA|O>ON=&PzOAQPP=ARM%SQRA|T( >TS=&UOAVUU=AWM%XVWA|Y(~>YX=&ZOA[ZZ=A\M%][\A|^(>^]=cdc.A|e =%fe| gfAhbd>hg=iji.kj6A|l~=%ml| nmAobk>on=pqp.rq.A|s=%ts| utAvbr>vu=wExw.A|y( =%zy| {zA|bx>|{=}E~}.~6A|(~=%| Ab>=E..A|(=%| Ab>8@mainCGlobals inMatricesinSkin inVertices outVertices|'# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Eu_xlati13Ku_xlat2fu_xlati26mu_xlat26oinSkinoinSkin_bufqu_xlat3u_xlat4u_xlat5u_xlat6u_xlatb19u_xlati19u_xlat19u_xlatu32u_xlat32u_xlat7inMatrices_typevalueinMatricesinMatrices_bufu_xlat8u_xlat9u_xlat10u_xlat11u_xlat12koutVertices_origX0X koutVertices_origX0X_bufmu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GnHoHo#GoGq"Gq!GH#G@HH#GG"G!GjHk#GkGm"Gm!G ! ;     ; +   ; +  ;+# % &% '&;'() *) +*;+,+.+6A%;E;'K+`;fk% lk;lmn on po;pq;'+% %+ + + ;';' A;);;;  ;+ ;+%7+ ;  ;;+++;++ + ;'+ +;';'+%J?j kj lk;lm &    + @, 6;;;;A = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(DAF = GF|HGIH#JI#>EJ=LEML.NMAO,N= PO|%QP=RESR.TS6AU,T= VU|%WV=XEYX.ZY.A[,Z= \[|%]\=^E_^.a_`Ab,a= cb|%dcP&eQW]d>KeAg = hg|ihji.>fj=rfsr.tsAuqt= vu|%wv=xfyx.zy6A{qz= |{|%}|Pk~w}>m~A >A>A>A>A >A>A>A>A >A>A>A>Am =%A >A =%| Am=%| >=A =%|.>=.Aq= |%>=%|  >= p%>=%%>=%|  |>=A= |%=A6= |%=A.= |%PA>=A= |%=A= |%=A= |%PA>=A= |%=A= |%=A= |%PA>=A#= |%=A= |%=A =  |%  PA  =& O &  >A =%A >A =%A>A =%A>A =%A>A=%A >A =%! A">"!A#=%$#A%>%$A&=%'&A(>('A)=%*)A+ >+*A,=%-,A.>.-A/=%0/A1>10=&2=%3P&43333&524=&6&756>7=&8=%9P&:9999&;8:=&<&=;<>==&>=%?P&@????&A>@=&B&CAB>CAD =%ED|FEGF6|%HGAI >IHAK(>KJ=&L=&M(%NLMAO >ON=&P=&Q(%RPQAS>SR=&T=&U(%VTUAW>WV=&XOAYXX=&ZKOA[ZZ%\Y[A]( >]\=&^OA_^^=&`KOAa``%b_aAc(>cb=&dOAedd=&fKOAgff%hegAi(>ih=non.Ap =%qp| rqAsmo>sr=tut.vu6Aw=%xw| yxAzmv>zy={|{.}|.A~=%~| Am}>AK=%A(>=E.A( =%| Am>=E.6A(=%| Am>=E..A(=%| Am>=E.`A(=%| Am>8@mainCGlobals inMatricesinSkin inVertices outVertices-# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Gu_xlati14Ru_xlat2ku_xlat3u_xlati42u_xlat4inSkininSkin_bufu_xlat5u_xlat6u_xlat7u_xlat42u_xlatb44u_xlati44u_xlat44u_xlatu32u_xlat32u_xlat8inMatrices_typevalueinMatricesinMatrices_bufu_xlat9u_xlat10u_xlat111u_xlat12>u_xlat13outVertices_origX0X outVertices_origX0X_bufu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GHH#GG"G!GH#G@HH#GG"G!GH#GG"G!G ! ;     ; +   ; +  ;+#(% &% '&;'() *) +*;+,+.+6A%E FE;FGH ,EL##+N +O,EPNO;'R;'k+ l+; A;  ;%;'+% %+ + ;';';);;;  ;+ ;+%7+ ;  ;;+++ ;++ + ;'+% +*;'1;'>+%j?  ; &    + @, ll6;;;;A = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(D= I OHJII|EKJEMKLEQMP>GQASG =TSUT.VUAW,V= XW|%YXAZG =[Z\[.]\6A^,]= _^|%`_AaG =bacb.dc.Ae,d= fe|%gfPAhY`g=&iRO &jih>RjAmGl=nmon.poAq,p= rq|%srAtGl=utvu.wv6Ax,w= yx|%zyA{Gl=|{}|.~}.A,~= |%AGl=.A,= |%P&sz>kA = |.>=.A= |%=.6A= |%P=AOA>A >Al>A>A>A >Al>A>A>A >Al>A>A>A =%>=%| Al=%| >==%|.>=.A= |%>=%|  >= p%>=%%>=%|  |>=A= |%=A6= |%=A.= |%PA>=A= |%=A= |%=A  =  |%  PA  > =A= |%=A= |%=A= |%PA>= A! N= "!|%#"=$A&$%= '&|%('=)A+)*= ,+|%-,PA.#(-=&/O &0/.>0A2 =%32A41 >43A5 =%65A71l>76A8 =%98A:1>:9A; =%<;A=1>=<A?l=%@?AA> >A@ABl=%CBAD>l>DCAEl=%FEAG>>GFAHl=%IHAJ>>JIAK=%LKAM >MLAN=%ONAPl>POAQ=%RQAS>SR=&T1=%UP&VUUUU&WTV=&X&YWX>Y=&Z>=%[P&\[[[[&]Z\=&^&_]^>_=&`=%aP&baaaa&c`b=&d&ecd>e=%f|gfhg6|%ih>iAk(>kj=&l=&m(%nlmAo >on=&p=&q(%rpqAsl>sr=&t=&u(%vtuAw>wv=&xOAyxx=&zROA{zz%|y{A}( >}|=&~OA~~=&ROA%A(l>=&OA=&ROA%A(>=&OA=&kOA%AR >=&OA=&kOA%ARl>=&OA=&kOA%AR>=.A =%| A>=.6Al=%| A>=..A=%| A>AG =.A( =%| A>AG =.6A(l=%| A>AG =..A(=%| A>Ak=%AR>AGl=.AR =%| A>AGl=.6ARl=%| A>AGl=..AR=%| A>AGl=.AR=%| A>8@mainCGlobals inMatricesinSkin inVertices outVertices# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Eu_xlati8Ku_xlat8MinSkinMinSkin_bufOWu_xlat2ZinMatrices_typeZvalue\inMatrices\inMatrices_buf^ou_xlat3u_xlat4u_xlat5u_xlat6u_xlat7outVertices_origX0X outVertices_origX0X_bufu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GLHMHM#GMGO"GO!GYHZ#G[@H\H\#G\G^"G^!GH#GG"G!G ! ;     ; +   ; +  ;+# % &% '&;'() *) +*;+,+.+6A%;E J%;JKL ML NM;NO VA;VW+ XY XZY[Z\[ ]\;]^;Vo+r+x+~;V++ + ;'+ +;'+ + + +%?;'  ; &    + @, 6;;;;A = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(DAF = GF|HGIH.>EI=PEQP.RQASOR= TS|%UT>KU=%_K|`_Aa^`= ba|%cb=%dK|edAf^e6= gf|%hg=%iK|jiAk^j.= lk|%mlPAnchm>Wn=%pK|qpAs^qr= ts|%ut=%vK|wvAy^wx= zy|%{z=%|K|}|A^}~= |%PAu{>o=%K|A^= |%=%K|A^= |%=%K|A^= |%PA>=%K|A^#= |%=%K|A^= |%=%K|A^= |%PA=&O &>AJW =%AJ >AJo =%AJ>AJ =%AJ>AJ =%AJ>AJ(>=&=&(%AJ >AJW=%AJ >AJo=%AJ>AJ=%AJ>AJ=%AJ>=&=&(%AJ>AJW=%AJ >AJo=%AJ>AJ=%AJ>=&=&(%AJ>=.AJ =%| A>=.6AJ=%| A>=..AJ=%| A>8@mainCGlobals inMatricesinSkin inVertices outVertices#E GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Eu_xlati10Mu_xlat2au_xlati20gu_xlat20iinSkiniinSkin_bufkru_xlat3uinMatrices_typeuvaluewinMatriceswinMatrices_bufyu_xlat4u_xlat5u_xlat6u_xlat7u_xlat8u_xlat9 outVertices_origX0X outVertices_origX0X_buf9u_xlat_precise_vec4<u_xlat_precise_ivec4?u_xlat_precise_bvec4Bu_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GhHiHi#GiGk"Gk!GtHu#Gv@HwHw#GwGy"Gy!G H #G G"G!GD ! ;     ; +   ; +  ;+#% &% '&;'() *) +*;+,+.+6A%;E+J LA;LM;a f%;fgh ih ji;jk;Lr+ st sutvuwv xw;xy;L+++;L++ + ;'+ +;'+ + + +%?;L;'       ;  8&: ;:= >=@  A@+ C@, DC6;89;;<;>?;ABA = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(DAF = GF|HGIH#KIJ>EK=NEON.POAQ,P= RQ|%SR=TEUT.VU6AW,V= XW|%YX=ZE[Z.\[.A],\= ^]|%_^PA`SY_>M`Ab = cb|dced.>ae=laml.nmAokn= po|%qp>gq=%zg|{zA|y{= }||%~}=%g|Ay6= |%=%g|Ay.= |%PA~>r=%g|Ay= |%=%g|Ay= |%=%g|Ay= |%PA>=%g|Ay= |%=%g|Ay= |%=%g|Ay= |%PA>=%g|AyJ= |%=%g|Ay= |%=%g|Ay= |%PA=&O &>Afr =%Af >Af =%Af>Af =%Af>Af =%Af>Af(>=&=&(%Af >Afr=%Af >Af=%Af>Af=%Af>Af=%Af>=&=&(%Af>Afr=%Af >Af=%Af>Af=%Af>=&=&(%Af>=&OA=AM%Af( >=&OA=AM%Af(>=&OA=AM% Af (>  =.Af =%| A>=.6Af=%| A>=..Af=% | ! A">"!=#E$#.Af%( =%&%| '&A($>('=)E*).+*6Af,(=%-,| .-A/+>/.=0E10.21.Af3(=%43| 54A62>658@mainCGlobals inMatricesinSkin inVertices outVertices#X GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Eu_xlati10Ku_xlat2fu_xlati20lu_xlat20ninSkinninSkin_bufpxu_xlat3{inMatrices_type{value}inMatrices}inMatrices_bufu_xlat4u_xlat5u_xlat6u_xlat7u_xlat8u_xlat9outVertices_origX0X outVertices_origX0X_bufLu_xlat_precise_vec4Ou_xlat_precise_ivec4Ru_xlat_precise_bvec4Uu_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GmHnHn#GnGp"Gp!GzH{#G|@H}H}#G}G"G!GH#GG"G!GW ! ;     ; +   ; +  ;+# % &% '&;'() *) +*;+,+.+6A%;E;'K+`;f k%;klm nm on;op wA;wx+ yz y{z|{}| ~};~;w+++;w++ + ;'+ +;'+ + + +%?;w;'  ; K&M NMP QPS  TS+ V@, WV6;KL;NO;QR;TUA = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(DAF = GF|HGIH#JI#>EJ=LEML.NMAO,N= PO|%QP=RESR.TS6AU,T= VU|%WV=XEYX.ZY.A[,Z= \[|%]\=^E_^.a_`Ab,a= cb|%dcP&eQW]d>KeAg = hg|ihji.>fj=qfrq.srAtps= ut|%vu>lv=%l|A= |%=%l|A6= |%=%l|A.= |%PA>x=%l|A= |%=%l|A= |%=%l|A= |%PA>=%l|A= |%=%l|A= |%=%l|A= |%PA>=%l|A#= |%=%l|A= |%=%l|A= |%PA=&O &>Akx =%Ak >Ak =%Ak>Ak =%Ak>Ak =%Ak>Ak(>=&=&(%Ak >Akx=%Ak >Ak=%Ak>Ak=%Ak>Ak=%Ak>=&=&(%Ak>Akx=%Ak >Ak=%Ak>Ak=%Ak>=&=&(%Ak>=&OA=&KOA%Ak( >=&OA =& KOA   %   Ak (>  =&OA=&KOA%Ak(>=.Ak =%| A>=. 6Ak!=%"!| #"A$ >$#=%&%.'&.Ak(=%)(| *)A+'>+*Ak,K=%-,Ak.(>.-=/E0/.Ak1( =%21| 32A40>43=5E65.766Ak8(=%98| :9A;7>;:=<E=<.>=.Ak?(=%@?| A@AB>>BA=CEDC.ED`AkF(=%GF| HGAIE>IH8@mainCGlobals inMatricesinSkin inVertices outVertices<&# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Gu_xlati11Ru_xlat2ku_xlat3u_xlati33u_xlat33inSkininSkin_bufu_xlat4inMatrices_typevalueinMatricesinMatrices_bufu_xlat5u_xlat6u_xlat7u_xlat8u_xlat9u_xlat10KoutVertices_origX0X KoutVertices_origX0X_bufMu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GHH#GG"G!GH#G@HH#GG"G!GJHK#GKGM"GM!G ! ;     ; +   ; +  ;+#(% &% '&;'() *) +*;+,+.+6A%E FE;FGH ,EL##+N +O,EPNO;'R;'k+ l+; %;  ; A;+   ;;+++;++ + ;'+ +;'+ + +%?;;'J KJ LK;LM &    + @, ll6;;;;A = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(D= I OHJII|EKJEMKLEQMP>GQASG =TSUT.VUAW,V= XW|%YXAZG =[Z\[.]\6A^,]= _^|%`_AaG =bacb.dc.Ae,d= fe|%gfPAhY`g=&iRO &jih>RjAmGl=nmon.poAq,p= rq|%srAtGl=utvu.wv6Ax,w= yx|%zyA{Gl=|{}|.~}.A,~= |%AGl=.A,= |%P&sz>kA = |.>=.A= |%>=%|A= |%=%|A6= |%=%|A.= |%PA>=%|A= |%=%|A= |%=%|A= |%PA>=%|A= |%=%|A= |%=%|A= |%PA>=%|AN= |%=%|A= |%=%|A= |%PA=&O &>A =%A >A =%Al>A =%A>A =%A>A(>=&=&(%A >A l=%  A  >  A l=%  Al> Al=%A>Al=%A>=&=&(%Al>A=%A >A=%Al>A=% A!>! =&"=&#(%$"#A%>%$=&&OA'&&=&(ROA)((%*')A+( >+*=&,OA-,,=&.ROA/..%0-/A1(l>10=&2OA322=&4ROA544%635A7(>76=&8OA988=&:kOA;::%<9;A=R >=<=&>OA?>>=&@kOAA@@%B?AACRl>CB=&DOAEDD=&FkOAGFF%HEGAIR>IH=NON.AP =%QP| RQASMO>SR=TUT.VU6AWl=%XW| YXAZMV>ZY=[\[.]\.A^=%_^| `_AaM]>a`AbG =cbdc.Ae( =%fe| gfAhMd>hgAiG =jikj.lk6Am(l=%nm| onApMl>poAqG =rqsr.ts.Au(=%vu| wvAxMt>xwAyk=%zyA{R>{zA|Gl=}|~}.AR =%| AM~>AGl=.6ARl=%| AM>AGl=..AR=%| AM>AGl=.AR=%| AM>8@mainCGlobals inMatricesinSkin inVertices outVertices(# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Eu_xlati11Ku_xlat2MinSkinMinSkin_bufOku_xlat11ninMatrices_typenvaluepinMatricespinMatrices_bufru_xlat3u_xlat4u_xlat5u_xlat6u_xlat73u_xlat8Iu_xlat9Zu_xlat10outVertices_origX0X outVertices_origX0X_bufu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GLHMHM#GMGO"GO!GmHn#Go@HpHp#GpGr"Gr!GH#GG"G!G ! ;     ; +   ; +  ;+# % &% '&;'() *) +*;+,+.+6A%;E+I;'KL ML NM;NO+d jA;jk+ lm lnmonpo qp;qr+ s t%;'++;'++ + ;'+ +;'+ + ;';'3;'I;'Z+%?  ; &    + @, 6;;;;A = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(DAF = GF|HGJHI>EJ=PEQP.RQASOR= TS|%UT=VEWV.XW6AYOX= ZY|%[Z=\E]\.^].A_O^= `_|%a`=bEcb.ecdAfOe= gf|%hgP&iU[ah>KiAtuKs=%vu|wvAxrw= yx|%zyAt{Ks=%|{|}|A~r}6= ~|%AtKs=%|Ar.= |%PAz>kAtKs=%|ArI= |%AtKs=%|Ar= |%AtKs=%|Ar= |%PA=&O &>AtKs=%|Ar= |%AtKs=%|Ar= |%AtKs=%|Ar= |%PA=&O &>AtKs=%|Ar#= |%AtKs=%|Ar= |%AtKs=%|Ar= |%PA=&O &>Atk =%At >At =%At>At =%Ats>At =%At>Atk=%At >At=%At>At=%Ats>At=%At>Atks=%At >Ats=%At>Ats=%Ats>AtK=%|Ar= |%AtK=%|Ar6= |%AtK=%|Ar.= |%PA>kAt K=%  |  A r I=  |% AtK=%|Ar= |%AtK=%|Ar= |%PA=&O &>AtK=%| A!r = "!|%#"At$K=%%$|&%A'r&= ('|%)(At*K=%+*|,+A-r,= .-|%/.PA0#)/=&1O &210>2At4K=%54|65A7r6#= 87|%98At:K=%;:|<;A=r<= >=|%?>At@K=%A@|BAACrB= DC|%EDPAF9?E=&G3O &HGF>3HAtJk =%KJAtLI >LKAtM =%NMAtOI>ONAtP =%QPAtRIs>RQAtS3 =%TSAtUI>UT=&VKO &WVV=&XI&YWX>IYAt[k=%\[At]Z >]\At^=%_^At`Z>`_Ata=%baAtcZs>cbAtd3=%edAtfZ>fe=&gKO &hgg=&iZ&jhi>ZjAtkks=%lkAtm3 >mlAtns=%onAtp3>poAtqs=%rqAts3s>sr=&tKO &utt=&v3&wuv>w=&x=&yKO &zyy&{xz=&|I&}{|>}=&~=&KO &&~=&Z&>=&=&KO &&=&&>KAt(>=&=&(%At >=&=&(%At>=&K=&(%Ats>=.At =%| A>=.6At=%| A>=..Ats=%| A>8@mainCGlobals inMatricesinSkin inVertices outVertices-# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Eu_xlati13Mu_xlat2au_xlati26gu_xlat3iinSkiniinSkin_bufku_xlat4inMatrices_typevalueinMatricesinMatrices_bufu_xlat5u_xlat6u_xlat7u_xlat8u_xlat9Ru_xlat10hu_xlat11yu_xlat12outVertices_origX0X outVertices_origX0X_bufu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GhHiHi#GiGk"Gk!GH#G@HH#GG"G!GH#GG"G!G ! ;     ; +   ; +  ;+#% &% '&;'() *) +*;+,+.+6A%;E+J LA;LM;a+e;'gh ih ji;jk+;'+   ;+  %;'++;'++ + ;'+ +;'+ + ;';'R;'h;'y+%?  ; &    + @, 6;;;;A = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(DAF = GF|HGIH#KIJ>EK=NEON.POAQ,P= RQ|%SR=TEUT.VU6AW,V= XW|%YX=ZE[Z.\[.A],\= ^]|%_^PA`SY_>M`Ab = cb|dcfde>af=laml.nmAokn= po|%qp=rasr.ts6Aukt= vu|%wv=xayx.zy.A{kz= |{|%}|=~a~.Ak= |%P&qw}>gAg=%|A= |%Ag=%|A6= |%Ag=%|A.= |%PA=&O &>Ag=%|Ae= |%Ag=%|A= |%Ag=%|A= |%PA=&O &>Ag=%|A= |%Ag=%|A= |%Ag=%|A= |%PA=&O &>Ag=%|AJ= |%Ag=%|A= |%Ag=%|A= |%PA=&O &>A =%A >A =%A>A =%A>A =%A>A=%A >A=%A>A=%A>A=%A > A =%  A  >  A =% A>A=%A>Ag=%|A= |%Ag=%|A6= |%Ag=% |! A"!.= #"|%$#PA%$=&&O &'&%>'A(g=%)(|*)A+*e= ,+|%-,A.g=%/.|0/A10= 21|%32A4g=%54|65A76= 87|%98PA:-39=&;O &<;:><A=g=%>=|?>A@?= A@|%BAACg=%DC|EDAFE= GF|%HGAIg=%JI|KJALK= ML|%NMPAOBHN=&PO &QPO>QASg=%TS|UTAVUJ= WV|%XWAYg=%ZY|[ZA\[= ]\|%^]A_g=%`_|a`Aba= cb|%dcPAeX^d=&fRO &gfe>RgAi =%jiAkh >kjAl =%mlAnh>nmAo =%poAqh>qpArR =%srAth>ts=&ugO &vuu=&wh&xvw>hxAz=%{zA|y >|{A}=%~}Ay>~A=%Ay>AR=%Ay>=&gO &=&y&>yA=%AR >A=%AR>A=%AR>=&gO &=&R&>=&=&gO &&=&h&>=&=&gO &&=&y&>=&=&gO &&=&&>gA(>=&=&(%A >=&=&(%A>=&g=&(%A>=&OA=AM%A( >=&OA=AM%A(>=&gOA=AM%A(>=.A =%| A>=.6A=%| A>=..A=%| A>=E.A( =%| A>=E.6A(=%| A>=E..A(=%| A>8@mainCGlobals inMatricesinSkin inVertices outVertices0/# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Eu_xlati13Ku_xlat2fu_xlati26lu_xlat3ninSkinninSkin_bufpu_xlat4inMatrices_typevalueinMatricesinMatrices_bufu_xlat5u_xlat6u_xlat7u_xlat8u_xlat9Vu_xlat10lu_xlat11}u_xlat12outVertices_origX0X outVertices_origX0X_bufu_xlat_precise_vec4u_xlat_precise_ivec4 u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GmHnHn#GnGp"Gp!GH#G@HH#GG"G!GH#GG"G!G ! ;     ; +   ; +  ;+# % &% '&;'() *) +*;+,+.+6A%;E;'K+`;f+j;'lm nm on;op;'+   ;+  %;'++;'++ + ;'+ +;'+ + ;';'V;'l;'}+%?  ; &          + @, 6;;;  ; A = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(DAF = GF|HGIH#JI#>EJ=LEML.NMAO,N= PO|%QP=RESR.TS6AU,T= VU|%WV=XEYX.ZY.A[,Z= \[|%]\=^E_^.a_`Ab,a= cb|%dcP&eQW]d>KeAg = hg|ihkij>fk=qfrq.srAtps= ut|%vu=wfxw.yx6Azpy= {z|%|{=}f~}.~.Ap= |%=f.`Ap= |%P&v|>lAl=%|A= |%Al=%|A6= |%Al=%|A.= |%PA=&O &>Al=%|Aj= |%Al=%|A= |%Al=%|A= |%PA=&O &>Al=%|A= |%Al=%|A= |%Al=%|A= |%PA=&O &>Al=%|A#= |%Al=%|A= |%Al=%|A= |%PA=&O &>A =%A >A =%A>A =%A>A =%A>A=%A >A=%A>A=% A >  A =%  A >  A=%A >A=%A>A=%A>Al=%|A= |%Al=%|A 6= ! |%"!A#l=%$#|%$A&%.= '&|%('PA)"(=&*O &+*)>+A,l=%-,|.-A/.j= 0/|%10A2l=%32|43A54= 65|%76A8l=%98|:9A;:= <;|%=<PA>17==&?O &@?>>@AAl=%BA|CBADC= ED|%FEAGl=%HG|IHAJI= KJ|%LKAMl=%NM|ONAPO= QP|%RQPASFLR=&TO &UTS>UAWl=%XW|YXAZY#= [Z|%\[A]l=%^]|_^A`_= a`|%baAcl=%dc|edAfe= gf|%hgPAi\bh=&jVO &kji>VkAm =%nmAol >onAp =%qpArl>rqAs =%tsAul>utAvV =%wvAxl>xw=&ylO &zyy=&{l&|z{>l|A~=%~A} >A=%A}>A=%A}>AV=%A}>=&lO &=&}&>}A=%AV >A=%AV>A=%AV>=&lO &=&V&>=&=&lO &&=&l&>=&=&lO &&=&}&>=&=&lO &&=&&>lA(>=&=&(%A >=&=&(%A>=&l=&(%A>=&OA=&KOA%A( >=&OA=&KOA%A(>=&lOA=&KOA%A(>=.A =%| A>=.6A=%| A>=..A=%| A>AK=%A(>=E.A( =%| A>=E.6A(=%| A>=E..A(=%| A>=E.`A(=%| A>8@mainCGlobals inMatricesinSkin inVertices outVertices5#b GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Gu_xlati14Ru_xlat2ku_xlat3u_xlati42u_xlat4inSkininSkin_bufu_xlat5inMatrices_typevalueinMatricesinMatrices_bufu_xlat6u_xlat7u_xlat8u_xlat9%u_xlat10zu_xlat11u_xlat12u_xlat13outVertices_origX0X outVertices_origX0X_bufVu_xlat_precise_vec4Yu_xlat_precise_ivec4\u_xlat_precise_bvec4_u_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GHH#GG"G!GH#G@HH#GG"G!GH#GG"G!Ga ! ;     ; +   ; +  ;+#(% &% '&;'() *) +*;+,+.+6A%E FE;FGH ,EL##+N +O,EPNO;'R;'k+ l+;+;'  ;;'+   ;+  %;'++;'++ + ;'+  +;'+ #;'%;'z;';'+%?  ; U&W XWZ [Z]  ^]+ `@, a`ll6;UV;XY;[\;^_A = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(D= I OHJII|EKJEMKLEQMP>GQASG =TSUT.VUAW,V= XW|%YXAZG =[Z\[.]\6A^,]= _^|%`_AaG =bacb.dc.Ae,d= fe|%gfPAhY`g=&iRO &jih>RjAmGl=nmon.poAq,p= rq|%srAtGl=utvu.wv6Ax,w= yx|%zyA{Gl=|{}|.~}.A,~= |%AGl=.A,= |%P&sz>kA = |>=.A= |%=.6A= |%=..A= |%=.A= |%P&>A=%|A= |%A=%|A6= |%A=%|A.= |%PA=&O &>A=%|A= |%A=%|A= |%A=%|A= |%PA=&O &>A=%|A= |%A=%|A= |%A=%|A= |%PA=&O &>A=%|AN= |%A=%|A  =  |%  A =% |A= |%PA =&O &>A =%A >A =%Al>A =%A > A! =%"!A$#>$"A&l=%'&A(% >('A)l=%*)A+%l>+*A,l=%-,A.%>.-A/l=%0/A1%#>10A2=%32A4 >43A5=%65A7l>76A8=%98A:>:9A;#=%<;|=<A>== ?>|%@?AA#=%BA|CBADC6= ED|%FEAG#=%HG|IHAJI.= KJ|%LKPAM@FL=&NO &ONM>OAP#=%QP|RQASR= TS|%UTAV#=%WV|XWAYX= ZY|%[ZA\#=%]\|^]A_^= `_|%a`PAbU[a=&cO &dcb>dAe#=%fe|gfAhg= ih|%jiAk#=%lk|mlAnm= on|%poAq#=%rq|srAts= ut|%vuPAwjpv=&xO &yxw>yA{#=%|{|}|A~}N= ~|%A#=%|A = |%A#=%|A= |%PA=&zO &>zA =%A >A =%Al>A =%A>Az =%A#>=&O &=&&>Al=%A >Al=%Al>Al=%A>Azl=%A#>=&O &=&&>A=%Az >A=%Azl>A=%Az>=&O &=&z&>=&=&O &&=&&>=&%=&O &&=&&>=&=&O &&=&&>A(#>=&=&(%A >=&=&(%Al>=&=&(%A>=&OA=&ROA%A( >=&OA=&ROA%A(l>=&OA=&ROA%A(>=&OA=&kOA%AR >=&OA=&kOA%ARl>=&OA=&kOA%AR>=.A  =%  |  A >  =  .6Al=%| A>=..A=%| A>AG =.A( =%| A!>! A"G =#"$#.%$6A&(l=%'&| ('A)%>)(A*G =+*,+.-,.A.(=%/.| 0/A1->10A2k#=%32A4R#>43A5Gl=6576.A8R =%98| :9A;7>;:A<Gl==<>=.?>6A@Rl=%A@| BAAC?>CBADGl=EDFE.GF.AHR=%IH| JIAKG>KJALGl=MLNM.ONAPR#=%QP| RQASO>SR8@mainCGlobals inMatricesinSkin inVertices outVertices@# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Eu_xlati12Ku_xlat2MinSkinMinSkin_bufOqu_xlat3u_xlat12inMatrices_typevalueinMatricesinMatrices_bufu_xlat4u_xlat5u_xlat6u_xlat7u_xlat8Tu_xlat9ju_xlat10{u_xlat11outVertices_origX0X outVertices_origX0X_bufu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GLHMHM#GMGO"GO!GH#G@HH#GG"G!GH#GG"G!G ! ;     ; +   ; +  ;+# % &% '&;'() *) +*;+,+.+6A%;E+I;'KL ML NM;NO+d+m +o;'q A;+   ; %;'++;'++ + ;'+ +;'+ + + ;';'T;'j;'{+%?  ; &    + @, 6;;;;A = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(DAF = GF|HGJHI>EJ=PEQP.RQASOR= TS|%UT=VEWV.XW6AYOX= ZY|%[Z=\E]\.^].A_O^= `_|%a`=bEcb.ecdAfOe= gf|%hgP&iU[ah>KiAj = kj|lknlmpno>Ep=rEsr.tsAuOt= vu|%wv=xEyx.zy6A{Oz= |{|%}|=~E~..AO= |%=E.dAO= |%P&w}>qAq =%|A= |%Aq =%|A6= |%Aq =%|A.= |%PA>Aq =%|A= |%Aq =%|AI= |%Aq =%|A= |%PA=&O &>Aq =%|A= |%Aq =%|A= |%Aq =%|A= |%PA=&O &>Aq =%|A#= |%Aq =%|A= |%Aq =%|A= |%PA=&O &>A =%A >A =%A>A =%A>A =%A>A=%A >A=%A>A=% A >  A =%  A >  A=%A >A=%A>A=%A>Aq=%|A= |%Aq=%|A 6= ! |%"!A#q=%$#|%$A&%.= '&|%('PA)"(>)A*q=%+*|,+A-,= .-|%/.A0q=%10|21A32I= 43|%54A6q=%76|87A98= :9|%;:PA</5;=&=O &>=<>>A?q=%@?|A@ABA= CB|%DCAEq=%FE|GFAHG= IH|%JIAKq=%LK|MLANM= ON|%POPAQDJP=&RO &SRQ>SAUq=%VU|WVAXW#= YX|%ZYA[q=%\[|]\A^]= _^|%`_Aaq=%ba|cbAdc= ed|%fePAgZ`f=&hTO &ihg>TiAk =%lkAmj >mlAn =%onApj>poAq =%rqAsj>srAtT =%utAvj>vu=&wKO &xww=&yj&zxy>jzA|=%}|A~{ >~}A=%A{>A=%A{>AT=%A{>=&KO &=&{&>{A=%AT >A=%AT>A=%AT>=&KO &=&T&>=&=&KO &&=&j&>=&=&KO &&=&{&>=&=&KO &&=&&>Aq=%|A= |%Aq=%|A6= |%Aq=%|A.= |%PA>Aq=%|A= |%Aq=%|AI= |%Aq=%|A= |%PA=&O &>Aq=%|A= |%Aq=%|A= |%Aq=%|A= |%PA=&O &>Aq=%|A#= |%Aq=%|A= |%Aq=%|A= |%PA=&TO &>TA =%Aj >A =%Aj>A =%Aj>AT =%Aj>A =%  A { >  A =%  A{> A=%A{>AT=%A{>A=%AT >A=%AT>A=%AT>=&j=&KO & &! =&"&#!">#=&${=&%KO &&%%&'$&=&(&)'(>)=&*T=&+KO &,++&-*,=&.&/-.>/A0q=%10|21A32= 43|%54A6q=%76|87A986= :9|%;:A<q=%=<|>=A?>.= @?|%A@PAB5;A>BACq=%DC|EDAFE= GF|%HGAIq=%JI|KJALKI= ML|%NMAOq=%PO|QPARQ= SR|%TSPAUHNT=&VKO &WVU>KWAXq=%YX|ZYA[Z= \[|%]\A^q=%_^|`_Aa`= ba|%cbAdq=%ed|feAgf= hg|%ihPAj]ci=&kqO &lkj>qlAmq=%nm|onApo#= qp|%rqAsq=%ts|utAvu= wv|%xwAyq=%zy|{zA|{= }||%~}PArx~=&O &>A =%A >AK =%A>Aq =%A>A =%A>A=%AT >AK=%AT>Aq=%AT>A=%AT>A=%A >AK=%A>Aq=%A>=&=&KO &&=&&>q=&T=&KO &&=&&>=&=&KO &&=&&>KA(>=&q=&(%Aq >=&=&(%Aq>=&K=&(%Aq>=.Aq =%| A>=.6Aq=%| A>=..Aq=%| A>8@mainCGlobals inMatricesinSkin inVertices outVerticesF#/ GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Eu_xlati14Mu_xlat2au_xlati28gu_xlat3iinSkiniinSkin_bufku_xlat4u_xlat5inMatrices_typevalueinMatricesinMatrices_bufu_xlat6u_xlat7u_xlat8u_xlat9u_xlat10su_xlat11u_xlat12u_xlat13outVertices_origX0X outVertices_origX0X_buf#u_xlat_precise_vec4&u_xlat_precise_ivec4)u_xlat_precise_bvec4,u_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GhHiHi#GiGk"Gk!GH#G@HH#GG"G!GH#GG"G!G. ! ;     ; +   ; +  ;+#% &% '&;'() *) +*;+,+.+6A%;E+J LA;LM;a+e;'gh ih ji;jk++ +;';'+   ; %;'++;'++ + ;'+ +;'+ + + ;';'s;';'+%?  ; "&$ %$' ('*  +*+ -@, .-6;"#;%&;();+,A = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(DAF = GF|HGIH#KIJ>EK=NEON.POAQ,P= RQ|%SR=TEUT.VU6AW,V= XW|%YX=ZE[Z.\[.A],\= ^]|%_^PA`SY_>M`Ab = cb|dcfde>af=laml.nmAokn= po|%qp=rasr.ts6Aukt= vu|%wv=xayx.zy.A{kz= |{|%}|=~a~.Ak= |%P&qw}>gA = |>a=a.Ak= |%=a.6Ak= |%=a..Ak= |%=a.Ak= |%P&>A =%|A= |%A =%|A6= |%A =%|A.= |%PA=&O &>A =%|A= |%A =%|Ae= |%A =%|A= |%PA=&O &>A =%|A= |%A =%|A= |%A =%|A= |%PA=&O &>A =%|AJ= |%A =%|A= |%A =%|A= |%  PA  =& O &   > A =%A >A =%A>A =%A>A =%A>A=% A! >! A"=%#"A$>$#A%=%&%A'>'&A(=%)(A*>*)A+=%,+A- >-,A.=%/.A0>0/A1=%21A3>32A4=%54|65A76= 87|%98A:=%;:|<;A=<6= >=|%?>A@=%A@|BAACB.= DC|%EDPAF9?E=&GO &HGF>HAI=%JI|KJALK= ML|%NMAO=%PO|QPARQe= SR|%TSAU=%VU|WVAXW= YX|%ZYPA[NTZ=&\O &]\[>]A^=%_^|`_Aa`= ba|%cbAd=%ed|feAgf= hg|%ihAj=%kj|lkAml= nm|%onPApcio=&qO &rqp>rAt=%ut|vuAwvJ= xw|%yxAz=%{z||{A}|= ~}|%~A=%|A= |%PAy=&sO &>sA =%A >A =%A>A =%A>As =%A>=&gO &=&&>A=%A >A=%A>A=%A>As=%A>=&gO &=&&>A=%As >A=%As>A=%As>=&gO &=&s&>=&=&gO &&=&&>=&=&gO &&=&&>=&=&gO &&=&&>A=%|A= |%A=%|A6= |%A=%|A.= |%PA=&O &>A=%|A= |%A=%|Ae= |%A=%|A= |%PA=&O &>A=%|A= |%A=%|A= |%A=%|A= |%PA=&O &>A =%  |  A  J=  |% A=%|A= |%A=%|A= |%PA=&sO &>sA =%A  > A! =%"!A#>#"A$ =%%$A&>&%A's =%('A)>)(A*=%+*A, >,+A-=%.-A/>/.A0=%10A2>21A3s=%43A5>54A6=%76A8s >87A9=%:9A;s>;:A<=%=<A>s>>==&?=&@gO &A@@&B?A=&C&DBC>D=&E=&FgO &GFF&HEG=&I&JHI>J=&Ks=&LgO &MLL&NKM=&O&PNO>PAQ=%RQ|SRATS= UT|%VUAW=%XW|YXAZY6= [Z|%\[A]=%^]|_^A`_.= a`|%baPAcV\b=&dgO &edc>geAf=%gf|hgAih= ji|%kjAl=%ml|nmAone= po|%qpAr=%sr|tsAut= vu|%wvPAxkqw=&yO &zyx>zA{=%|{|}|A~}= ~|%A=%|A= |%A=%|A= |%PA=&O &>A=%|AJ= |%A=%|A= |%A=%|A= |%PA=&O &>Ag =%A >A =%A>A =%A>A =%A>Ag=%As >A=%As>A=%As>A=%As>Ag=%A >A=%A>A=%A>=&=&gO &&=&&>=&s=&gO &&=&&>=&=&gO &&=&&>gA(>=&=&(%A >=&=&(%A>=&g=&(%A>=&OA=AM%A( >=&OA=AM%A(>=&gOA=AM%A(>=.A =%| A>=.6A=%| A>=..A =%  |  A >  = E .A( =%| A>=E.6A(=%| A>=E..A(=%| A > 8@mainCGlobals inMatricesinSkin inVertices outVerticeslH#@ GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Eu_xlati14Ku_xlat2fu_xlati28lu_xlat3ninSkinninSkin_bufpu_xlat4u_xlat5inMatrices_typevalueinMatricesinMatrices_bufu_xlat6u_xlat7u_xlat8u_xlat9"u_xlat10wu_xlat11u_xlat12u_xlat13outVertices_origX0X outVertices_origX0X_buf4u_xlat_precise_vec47u_xlat_precise_ivec4:u_xlat_precise_bvec4=u_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GmHnHn#GnGp"Gp!GH#G@HH#GG"G!GH#GG"G!G? ! ;     ; +   ; +  ;+# % &% '&;'() *) +*;+,+.+6A%;E;'K+`;f+j;'lm nm on;op+ +;';'+   ; %;'++;'++ + ;'+ + ;'+ + + ;'";'w;';'+%?  ; 3&5 658 98;  <;+ >@, ?>6;34;67;9:;<=A = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(DAF = GF|HGIH#JI#>EJ=LEML.NMAO,N= PO|%QP=RESR.TS6AU,T= VU|%WV=XEYX.ZY.A[,Z= \[|%]\=^E_^.a_`Ab,a= cb|%dcP&eQW]d>KeAg = hg|ihkij>fk=qfrq.srAtps= ut|%vu=wfxw.yx6Azpy= {z|%|{=}f~}.~.Ap= |%=f.`Ap= |%P&v|>lA = |>f=f.Ap= |%=f.6Ap= |%=f..Ap= |%=f.`Ap= |%P&>A =%|A= |%A =%|A6= |%A =%|A.= |%PA=&O &>A =%|A= |%A =%|Aj= |%A =%|A= |%PA=&O &>A =%|A= |%A =%|A= |%A =%|A= |%PA=&O &>A =%|A#= |%A =%|A= |%A =% |  A   =  |% PA=&O &>A =%A >A =%A>A =%A>A =%A! >!A#=%$#A%" >%$A&=%'&A(">('A)=%*)A+">+*A,=%-,A." >.-A/=%0/A1 >10A2=%32A4>43A5=%65A7>76A8=%98|:9A;:= <;|%=<A>=%?>|@?AA@6= BA|%CBAD=%ED|FEAGF.= HG|%IHPAJ=CI=&KO &LKJ>LAM=%NM|ONAPO= QP|%RQAS=%TS|UTAVUj= WV|%XWAY=%ZY|[ZA\[= ]\|%^]PA_RX^=&`O &a`_>aAb=%cb|dcAed= fe|%gfAh=%ih|jiAkj= lk|%mlAn=%on|poAqp= rq|%srPAtgms=&uO &vut>vAx=%yx|zyA{z#= |{|%}|A~=%~|A= |%A=%|A = |%PA}=&wO &>wA =%A >A =%A>A =%A>Aw =%A >=&lO &=&&>A=%A >A=%A>A=%A>Aw=%A >=&lO &=&&>A=%Aw >A=%Aw>A=%Aw>=&lO &=&w&>=&=&lO &&=&&>=&"=&lO &&=&&>=&=&lO &&=&&>A=%|A= |%A=%|A6= |%A=%|A.= |%PA=&O &>A=%|A= |%A=%|Aj= |%A=%|A= |%PA=&O &>A=%|A= |%A=%|A= |%A=%|A= |% PA  =& "O &   >" A =% |A#= |%A=%|A= |%A=%|A = |%PA=& wO &! >w!A" =%#"A$ >$#A% =%&%A'>'&A(" =%)(A*>*)A+w =%,+A- >-,A.=%/.A0 >0/A1=%21A3>32A4"=%54A6>65A7w=%87A9 >98A:=%;:A<w ><;A==%>=A?w>?>A@"=%A@ABw>BA=&C=&DlO &EDD&FCE=&G&HFG>H=&I=&JlO &KJJ&LIK=&M&NLM>N=&Ow=&PlO &QPP&ROQ=&S&TRS>TAU =%VU|WVAXW= YX|%ZYA[ =%\[|]\A^]6= _^|%`_Aa =%ba|cbAdc.= ed|%fePAgZ`f=&hlO &ihg>liAj =%kj|lkAml= nm|%onAp =%qp|rqAsrj= ts|%utAv =%wv|xwAyx= zy|%{zPA|ou{=&}O &~}|>~A =%|A= |%A =%|A= |%A =%|A= |%PA=&O &>A =%|A#= |%A =%|A= |%A =%|A = |%PA=&O &>Al =%A" >A =%A">A =%A">A =%A" >Al=%Aw >A=%Aw>A=%Aw>A=%Aw >Al=%A >A=%A>A=%A>=&"=&lO &&=&&>=&w=&lO &&=&&>=&=&lO &&=&&>lA( >=&=&(%A >=&=&(%A>=&l=&(%A>=&OA=&KOA%A( >=&OA=&KOA%A(>=&lOA=&KOA%A(>=.A =%| A>=.6A =%  |  A >  =  ..A=%| A>AK =%A( >=E.A( =%| A>=E.6A (=%! | "!A#>#"=$E%$.&%.A'(=%('| )(A*&>*)=+E,+.-,`A.( =%/.| 0/A1->108@mainCGlobals inMatricesinSkin inVertices outVertices(O# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_VertCountu_xlati0(u_xlat1*inVertices*inVertices_buf,Gu_xlati15Ru_xlat2ku_xlat3u_xlati45u_xlat4inSkininSkin_bufu_xlat5u_xlat6inMatrices_typevalueinMatricesinMatrices_bufu_xlat7u_xlat8u_xlat97u_xlat10Fu_xlat11u_xlat12u_xlat13u_xlat143outVertices_origX0X 3outVertices_origX0X_buf5u_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#GG"G!G)H*H*#G*G,"G,!GHH#GG"G!GH#G@HH#GG"G!G2H3#G3G5"G5!G ! ;     ; +   ; +  ;+#(% &% '&;'() *) +*;+,+.+6A%E FE;FGH ,EL##+N +O,EPNO;'R;'k+ l+;+;'  ;+ +;';'+   ; %;'++;'+ + + ;'+) +0;'7+ @+ D;'F;';';'+%?2 32 43;45 &    + @, ll6;;;;A = A= >=A = ! |"!$"#>$=-/-.0/A1,0= 21|%32=454.756A8,7= 98|%:9=;<;.=<.A>,== ?>|%@?PAB3:@=&C(O &DCB>(D= I OHJII|EKJEMKLEQMP>GQASG =TSUT.VUAW,V= XW|%YXAZG =[Z\[.]\6A^,]= _^|%`_AaG =bacb.dc.Ae,d= fe|%gfPAhY`g=&iRO &jih>RjAmGl=nmon.poAq,p= rq|%srAtGl=utvu.wv6Ax,w= yx|%zyA{Gl=|{}|.~}.A,~= |%AGl=.A,= |%P&sz>kA = |>=.A= |%=.6A= |%=..A= |%=.A= |%P&>A = |>=.A= |%=.6A= |%=..A= |%=.A= |%P&>A =%|A= |%A =%|A6= |%A =%|A.= |%PA=&O &>A =%|A= |%A =%|A= |%A =%|A= |%PA=&O &>A =%| A   =  |%  A =%|A= |%A =%|A= |%PA =&O &>A  =%! |"!A#"N= $#|%%$A& =%'&|('A*()= +*|%,+A- =%.-|/.A1/0= 21|%32PA4%,3=&5O &654>6A8 =%98A:7 >:9A; =%<;A=7l>=<A> =%?>AA7@>A?AB =%CBAE7D>ECAGl=%HGAIF >IHAJl=%KJALFl>LKAMl=%NMAOF@>ONAPl=%QPARFD>RQAS@=%TSAU >UTAV@=%WVAXl>XWAY@=%ZYA[@>[ZA\l=%]\|^]A_^= `_|%a`Abl=%cb|dcAed6= fe|%gfAhl=%ih|jiAkj.= lk|%mlPAnagm=&oO &pon>pAql=%rq|srAts= ut|%vuAwl=%xw|yxAzy= {z|%|{A}l=%~}|~A= |%PAv|=&O &>Al=%|A = |%Al=%|A= |%Al=%|A= |%PA=&O &>Al=%|AN= |%Al=%|A)= |%Al=%|A0= |%PA=&O &>A =%A >A =%Al>A =%A@>A =%AD>=&O &=&&>Al=%A >Al=%Al>Al=%A@>Al=%AD>=&O &=&&>A@=%A >A@=%Al>A@=%A@>=&O &=&&>=&7=&O &&=&&>=&F=&O &&=&&>=&=&O &&=&&>A@=%|A= |%A@=%|A6= |%A@=%|A.= |%PA=&O &>A@=%| A  =  |%  A @=% |A= |%A@=%|A= |%PA =&7O &>7A@=%|A = |%! A"@=%#"|$#A%$= &%|%'&A(@=%)(|*)A+*= ,+|%-,PA.!'-=&/FO &0/.>F0A1@=%21|32A43N= 54|%65A7@=%87|98A:9)= ;:|%<;A=@=%>=|?>A@?0= A@|%BAPAC6<B=&DO &EDC>EAF =%GFAH >HGAI7 =%JIAKl>KJALF =%MLAN@>NMAO =%POAQD>QPARl=%SRAT >TSAU7l=%VUAWl>WVAXFl=%YXAZ@>ZYA[l=%\[A]D>]\A^@=%_^A` >`_Aa7@=%baAcl>cbAdF@=%edAf@>fe=&g=&hO &ihh&jgi=&k&ljk>l=&m=&nO &onn&pmo=&q&rpq>r=&s=&tO &utt&vsu=&w&xvw>xAyD=%zy|{zA|{= }||%~}AD=%|A6= |%AD=%|A.= |%PA~=&O &>AD=%|A= |%AD=%|A= |%AD=%|A= |%PA=&O &>AD=%|A = |%AD=%|A= |%AD=%|A= |%PA=&O &>AD=%|AN= |%AD=%|A)= |%AD=%|A0= |%PA=&7O &>7A =%AF >A =%AFl>A =%AF@>A7 =%AFD>Al=%A >Al=%Al>Al=%A@>A7l=%AD>A@=%A7 >A@=%A7l>A@=%A7@>=&F=&O &&=&&>=&=&O &&=&&>=&7=&O &&=&&>A(D>=&=&(%A >=&=&(%A l> =& =& (%   A @>  =&OA=&ROA%A( >=&OA=&ROA%A(l>=&OA=&ROA%A(@>=& OA!  =&"kOA#""%$!#A%R >%$=&&OA'&&=&(kOA)((%*')A+Rl>+*=&,OA-,,=&.kOA/..%0-/A1R@>10=676.A8 =%98| :9A;57>;:=<=<.>=6A?l=%@?| A@AB5>>BA=CDC.ED.AF@=%GF| HGAI5E>IHAJG =KJLK.AM( =%NM| ONAP5L>POAQG =RQSR.TS6AU(l=%VU| WVAX5T>XWAYG =ZY[Z.\[.A](@=%^]| _^A`5\>`_AakD=%baAcRD>cbAdGl=edfe.AgR =%hg| ihAj5f>jiAkGl=lkml.nm6AoRl=%po| qpAr5n>rqAsGl=tsut.vu.AwR@=%xw| yxAz5v>zyA{Gl=|{}|.~}ARD=%| A5~>8@CGlobals g_VertCount main$Globals inVerticesinSkin inMatrices outVerticesF#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[3] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[3] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec3 u_xlat1; uint u_xlatu1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; float u_xlat5; uint u_xlatu5; vec3 u_xlat6; vec3 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; int u_xlati12; uint u_xlatu12; vec3 u_xlat16; uint u_xlatu23; int u_xlati34; uint u_xlatu34; bool u_xlatb34; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlatu1 = inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]; u_xlati12 = int(gl_GlobalInvocationID.x) + 1; u_xlatu12 = inSkin_buf[u_xlati12].value[(0 >> 2) + 0]; u_xlat2.x = float(0.0); u_xlat2.y = float(0.0); u_xlat2.z = float(0.0); u_xlat2.w = float(0.0); u_xlat3.x = float(0.0); u_xlat3.y = float(0.0); u_xlat3.z = float(0.0); u_xlat3.w = float(0.0); u_xlat4.x = float(0.0); u_xlat4.y = float(0.0); u_xlat4.z = float(0.0); u_xlat4.w = float(0.0); u_xlatu23 = u_xlatu1; while(true){ u_xlatb34 = u_xlatu23>=u_xlatu12; if(u_xlatb34){break;} u_xlatu34 = inSkin_buf[u_xlatu23].value[(0 >> 2) + 0]; u_xlatu5 = u_xlatu34 >> 16u; u_xlat5 = float(u_xlatu5); u_xlat5 = u_xlat5 * 1.52590219e-05; u_xlati34 = int(u_xlatu34 & 65535u); u_xlat16.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati34].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati34].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati34].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati34].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat16.x; u_xlat9.y = u_xlat6.x; u_xlat9.z = u_xlat7.x; u_xlat9.w = u_xlat8.x; u_xlat10.x = u_xlat16.y; u_xlat10.y = u_xlat6.y; u_xlat10.z = u_xlat7.y; u_xlat10.w = u_xlat8.y; u_xlat8.x = u_xlat16.z; u_xlat8.y = u_xlat6.z; u_xlat8.z = u_xlat7.z; u_xlat2 = u_xlat9 * vec4(u_xlat5) + u_xlat2; u_xlat3 = u_xlat10 * vec4(u_xlat5) + u_xlat3; u_xlat4 = u_xlat8 * vec4(u_xlat5) + u_xlat4; u_xlatu23 = u_xlatu23 + 1u; } u_xlat0.w = 1.0; u_xlat1.x = dot(u_xlat2, u_xlat0); u_xlat1.y = dot(u_xlat3, u_xlat0); u_xlat1.z = dot(u_xlat4, u_xlat0); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat1.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat1.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat1.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices=#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[6] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[6] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec3 u_xlat1; vec4 u_xlat2; int u_xlati2; uint u_xlatu2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec3 u_xlat7; vec3 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; uint u_xlatu14; int u_xlati26; uint u_xlatu26; bool u_xlatb26; uint u_xlatu37; float u_xlat38; uint u_xlatu38; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1])); u_xlatu37 = inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]; u_xlati2 = int(gl_GlobalInvocationID.x) + 1; u_xlatu2 = inSkin_buf[u_xlati2].value[(0 >> 2) + 0]; u_xlat3.x = float(0.0); u_xlat3.y = float(0.0); u_xlat3.z = float(0.0); u_xlat3.w = float(0.0); u_xlat4.x = float(0.0); u_xlat4.y = float(0.0); u_xlat4.z = float(0.0); u_xlat4.w = float(0.0); u_xlat5.x = float(0.0); u_xlat5.y = float(0.0); u_xlat5.z = float(0.0); u_xlat5.w = float(0.0); u_xlatu14 = u_xlatu37; while(true){ u_xlatb26 = u_xlatu14>=u_xlatu2; if(u_xlatb26){break;} u_xlatu26 = inSkin_buf[u_xlatu14].value[(0 >> 2) + 0]; u_xlatu38 = u_xlatu26 >> 16u; u_xlat38 = float(u_xlatu38); u_xlat38 = u_xlat38 * 1.52590219e-05; u_xlati26 = int(u_xlatu26 & 65535u); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati26].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(0 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati26].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati26].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati26].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat6.x; u_xlat10.y = u_xlat7.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat6.y; u_xlat11.y = u_xlat7.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat6.z; u_xlat9.y = u_xlat7.z; u_xlat9.z = u_xlat8.z; u_xlat3 = u_xlat10 * vec4(u_xlat38) + u_xlat3; u_xlat4 = u_xlat11 * vec4(u_xlat38) + u_xlat4; u_xlat5 = u_xlat9 * vec4(u_xlat38) + u_xlat5; u_xlatu14 = u_xlatu14 + 1u; } u_xlat2.xyz = u_xlat0.xyz; u_xlat2.w = 1.0; u_xlat6.x = dot(u_xlat3, u_xlat2); u_xlat6.y = dot(u_xlat4, u_xlat2); u_xlat6.z = dot(u_xlat5, u_xlat2); u_xlat1.z = u_xlat0.w; u_xlat6.w = dot(u_xlat3.yzx, u_xlat1.xyz); u_xlat0.x = dot(u_xlat4.yzx, u_xlat1.xyz); u_xlat0.y = dot(u_xlat5.yzx, u_xlat1.xyz); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat6.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat6.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat6.z); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = floatBitsToUint(u_xlat6.w); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = floatBitsToUint(u_xlat0.x); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = floatBitsToUint(u_xlat0.y); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[7] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[7] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; uint u_xlatu2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; uint u_xlatu6; vec3 u_xlat7; vec3 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; int u_xlati14; uint u_xlatu14; vec3 u_xlat18; uint u_xlatu26; int u_xlati38; uint u_xlatu38; bool u_xlatb38; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2])); u_xlatu2 = inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]; u_xlati14 = int(gl_GlobalInvocationID.x) + 1; u_xlatu14 = inSkin_buf[u_xlati14].value[(0 >> 2) + 0]; u_xlat3.x = float(0.0); u_xlat3.y = float(0.0); u_xlat3.z = float(0.0); u_xlat3.w = float(0.0); u_xlat4.x = float(0.0); u_xlat4.y = float(0.0); u_xlat4.z = float(0.0); u_xlat4.w = float(0.0); u_xlat5.x = float(0.0); u_xlat5.y = float(0.0); u_xlat5.z = float(0.0); u_xlat5.w = float(0.0); u_xlatu26 = u_xlatu2; while(true){ u_xlatb38 = u_xlatu26>=u_xlatu14; if(u_xlatb38){break;} u_xlatu38 = inSkin_buf[u_xlatu26].value[(0 >> 2) + 0]; u_xlatu6 = u_xlatu38 >> 16u; u_xlat6.x = float(u_xlatu6); u_xlat6.x = u_xlat6.x * 1.52590219e-05; u_xlati38 = int(u_xlatu38 & 65535u); u_xlat18.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati38].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(0 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati38].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati38].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati38].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat18.x; u_xlat10.y = u_xlat7.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat18.y; u_xlat11.y = u_xlat7.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat18.z; u_xlat9.y = u_xlat7.z; u_xlat9.z = u_xlat8.z; u_xlat3 = u_xlat10 * u_xlat6.xxxx + u_xlat3; u_xlat4 = u_xlat11 * u_xlat6.xxxx + u_xlat4; u_xlat5 = u_xlat9 * u_xlat6.xxxx + u_xlat5; u_xlatu26 = u_xlatu26 + 1u; } u_xlat2.xyz = u_xlat0.xyz; u_xlat2.w = 1.0; u_xlat6.x = dot(u_xlat3, u_xlat2); u_xlat6.y = dot(u_xlat4, u_xlat2); u_xlat6.z = dot(u_xlat5, u_xlat2); u_xlat1.w = u_xlat0.w; u_xlat6.w = dot(u_xlat3.yzx, u_xlat1.xyw); u_xlat0.x = dot(u_xlat4.yzx, u_xlat1.xyw); u_xlat0.y = dot(u_xlat5.yzx, u_xlat1.xyw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat6.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat6.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat6.z); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = floatBitsToUint(u_xlat6.w); u_xlat0.z = u_xlat1.z; outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = floatBitsToUint(u_xlat0.x); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = floatBitsToUint(u_xlat0.y); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = floatBitsToUint(u_xlat0.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[10] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[10] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; uint u_xlatu3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; uint u_xlatu7; vec3 u_xlat8; vec3 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; int u_xlati16; uint u_xlatu16; vec3 u_xlat20; uint u_xlatu29; int u_xlati42; uint u_xlatu42; bool u_xlatb42; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlat1 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat2.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1])); u_xlatu3 = inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]; u_xlati16 = int(gl_GlobalInvocationID.x) + 1; u_xlatu16 = inSkin_buf[u_xlati16].value[(0 >> 2) + 0]; u_xlat4.x = float(0.0); u_xlat4.y = float(0.0); u_xlat4.z = float(0.0); u_xlat4.w = float(0.0); u_xlat5.x = float(0.0); u_xlat5.y = float(0.0); u_xlat5.z = float(0.0); u_xlat5.w = float(0.0); u_xlat6.x = float(0.0); u_xlat6.y = float(0.0); u_xlat6.z = float(0.0); u_xlat6.w = float(0.0); u_xlatu29 = u_xlatu3; while(true){ u_xlatb42 = u_xlatu29>=u_xlatu16; if(u_xlatb42){break;} u_xlatu42 = inSkin_buf[u_xlatu29].value[(0 >> 2) + 0]; u_xlatu7 = u_xlatu42 >> 16u; u_xlat7.x = float(u_xlatu7); u_xlat7.x = u_xlat7.x * 1.52590219e-05; u_xlati42 = int(u_xlatu42 & 65535u); u_xlat20.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati42].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(0 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati42].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(16 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati42].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati42].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat20.x; u_xlat11.y = u_xlat8.x; u_xlat11.z = u_xlat9.x; u_xlat11.w = u_xlat10.x; u_xlat12.x = u_xlat20.y; u_xlat12.y = u_xlat8.y; u_xlat12.z = u_xlat9.y; u_xlat12.w = u_xlat10.y; u_xlat10.x = u_xlat20.z; u_xlat10.y = u_xlat8.z; u_xlat10.z = u_xlat9.z; u_xlat4 = u_xlat11 * u_xlat7.xxxx + u_xlat4; u_xlat5 = u_xlat12 * u_xlat7.xxxx + u_xlat5; u_xlat6 = u_xlat10 * u_xlat7.xxxx + u_xlat6; u_xlatu29 = u_xlatu29 + 1u; } u_xlat3.xyz = u_xlat0.yzw; u_xlat3.w = 1.0; u_xlat7.x = dot(u_xlat4, u_xlat3); u_xlat7.y = dot(u_xlat5, u_xlat3); u_xlat7.z = dot(u_xlat6, u_xlat3); u_xlat0.yz = u_xlat1.xy; u_xlat7.w = dot(u_xlat4.xyz, u_xlat0.xyz); u_xlat3.x = dot(u_xlat5.xyz, u_xlat0.xyz); u_xlat3.y = dot(u_xlat6.xyz, u_xlat0.xyz); u_xlat2.zw = u_xlat1.zw; u_xlat3.z = dot(u_xlat4.zxy, u_xlat2.xzw); u_xlat3.w = dot(u_xlat5.zxy, u_xlat2.xzw); u_xlat2.x = dot(u_xlat6.zxy, u_xlat2.xzw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat7.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat7.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat7.z); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = floatBitsToUint(u_xlat7.w); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = floatBitsToUint(u_xlat3.x); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = floatBitsToUint(u_xlat3.y); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = floatBitsToUint(u_xlat3.z); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3] = floatBitsToUint(u_xlat3.w); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2)] = floatBitsToUint(u_xlat2.x); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1] = floatBitsToUint(u_xlat2.y); return; } @main$Globals inVerticesinSkin inMatrices outVerticesj #version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[3] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[3] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; int u_xlati1; vec3 u_xlat2; vec3 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec3 u_xlat8; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlati1 = int(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati1].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(0 >> 2) + 2])); u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati1].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(16 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati1].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(32 >> 2) + 2])); u_xlat4.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati1].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(48 >> 2) + 2])); u_xlat5.x = u_xlat8.x; u_xlat5.y = u_xlat2.x; u_xlat5.z = u_xlat3.x; u_xlat5.w = u_xlat4.x; u_xlat0.w = 1.0; u_xlat5.x = dot(u_xlat5, u_xlat0); u_xlat6.x = u_xlat8.y; u_xlat6.y = u_xlat2.y; u_xlat6.z = u_xlat3.y; u_xlat6.w = u_xlat4.y; u_xlat5.y = dot(u_xlat6, u_xlat0); u_xlat4.x = u_xlat8.z; u_xlat4.y = u_xlat2.z; u_xlat4.z = u_xlat3.z; u_xlat5.z = dot(u_xlat4, u_xlat0); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat5.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat5.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat5.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[6] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[6] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec3 u_xlat1; vec3 u_xlat2; vec3 u_xlat3; vec3 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; int u_xlati31; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1])); u_xlati31 = int(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]); u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati31].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati31].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(16 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati31].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(32 >> 2) + 2])); u_xlat5.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati31].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(48 >> 2) + 2])); u_xlat6.x = u_xlat2.x; u_xlat6.y = u_xlat3.x; u_xlat6.z = u_xlat4.x; u_xlat6.w = u_xlat5.x; u_xlat7.xyz = u_xlat0.xyz; u_xlat7.w = 1.0; u_xlat8.x = dot(u_xlat6, u_xlat7); u_xlat9.x = u_xlat2.y; u_xlat9.y = u_xlat3.y; u_xlat9.z = u_xlat4.y; u_xlat9.w = u_xlat5.y; u_xlat8.y = dot(u_xlat9, u_xlat7); u_xlat5.x = u_xlat2.z; u_xlat5.y = u_xlat3.z; u_xlat5.z = u_xlat4.z; u_xlat8.z = dot(u_xlat5, u_xlat7); u_xlat1.z = u_xlat0.w; u_xlat8.w = dot(u_xlat6.yzx, u_xlat1.xyz); u_xlat0.x = dot(u_xlat9.yzx, u_xlat1.xyz); u_xlat0.y = dot(u_xlat5.yzx, u_xlat1.xyz); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat8.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat8.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat8.z); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = floatBitsToUint(u_xlat8.w); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = floatBitsToUint(u_xlat0.x); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = floatBitsToUint(u_xlat0.y); return; } @main$Globals inVerticesinSkin inMatrices outVerticesE#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[7] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[7] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; int u_xlati2; vec3 u_xlat3; vec3 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec3 u_xlat12; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2])); u_xlati2 = int(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]); u_xlat12.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(16 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(32 >> 2) + 2])); u_xlat5.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(48 >> 2) + 2])); u_xlat6.x = u_xlat12.x; u_xlat6.y = u_xlat3.x; u_xlat6.z = u_xlat4.x; u_xlat6.w = u_xlat5.x; u_xlat7.xyz = u_xlat0.xyz; u_xlat7.w = 1.0; u_xlat8.x = dot(u_xlat6, u_xlat7); u_xlat9.x = u_xlat12.y; u_xlat9.y = u_xlat3.y; u_xlat9.z = u_xlat4.y; u_xlat9.w = u_xlat5.y; u_xlat8.y = dot(u_xlat9, u_xlat7); u_xlat5.x = u_xlat12.z; u_xlat5.y = u_xlat3.z; u_xlat5.z = u_xlat4.z; u_xlat8.z = dot(u_xlat5, u_xlat7); u_xlat1.w = u_xlat0.w; u_xlat8.w = dot(u_xlat6.yzx, u_xlat1.xyw); u_xlat0.x = dot(u_xlat9.yzx, u_xlat1.xyw); u_xlat0.y = dot(u_xlat5.yzx, u_xlat1.xyw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat8.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat8.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat8.z); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = floatBitsToUint(u_xlat8.w); u_xlat0.z = u_xlat1.z; outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = floatBitsToUint(u_xlat0.x); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = floatBitsToUint(u_xlat0.y); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = floatBitsToUint(u_xlat0.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[10] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[10] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; int u_xlati3; vec3 u_xlat4; vec3 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec3 u_xlat14; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlat1 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat2.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1])); u_xlati3 = int(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]); u_xlat14.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(32 >> 2) + 2])); u_xlat6.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(48 >> 2) + 2])); u_xlat7.x = u_xlat14.x; u_xlat7.y = u_xlat4.x; u_xlat7.z = u_xlat5.x; u_xlat7.w = u_xlat6.x; u_xlat8.xyz = u_xlat0.yzw; u_xlat8.w = 1.0; u_xlat9.x = dot(u_xlat7, u_xlat8); u_xlat10.x = u_xlat14.y; u_xlat10.y = u_xlat4.y; u_xlat10.z = u_xlat5.y; u_xlat10.w = u_xlat6.y; u_xlat9.y = dot(u_xlat10, u_xlat8); u_xlat6.x = u_xlat14.z; u_xlat6.y = u_xlat4.z; u_xlat6.z = u_xlat5.z; u_xlat9.z = dot(u_xlat6, u_xlat8); u_xlat0.yz = u_xlat1.xy; u_xlat9.w = dot(u_xlat7.xyz, u_xlat0.xyz); u_xlat3.x = dot(u_xlat10.xyz, u_xlat0.xyz); u_xlat3.y = dot(u_xlat6.xyz, u_xlat0.xyz); u_xlat2.zw = u_xlat1.zw; u_xlat3.z = dot(u_xlat7.zxy, u_xlat2.xzw); u_xlat3.w = dot(u_xlat10.zxy, u_xlat2.xzw); u_xlat2.x = dot(u_xlat6.zxy, u_xlat2.xzw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat9.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat9.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat9.z); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = floatBitsToUint(u_xlat9.w); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = floatBitsToUint(u_xlat3.x); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = floatBitsToUint(u_xlat3.y); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = floatBitsToUint(u_xlat3.z); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3] = floatBitsToUint(u_xlat3.w); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2)] = floatBitsToUint(u_xlat2.x); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1] = floatBitsToUint(u_xlat2.y); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[3] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[4] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[3] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlat1 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(16 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(32 >> 2) + 2])); u_xlat5.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(48 >> 2) + 2])); u_xlat6.x = u_xlat2.x; u_xlat6.y = u_xlat3.x; u_xlat6.z = u_xlat4.x; u_xlat6.w = u_xlat5.x; u_xlat7.x = u_xlat2.y; u_xlat7.y = u_xlat3.y; u_xlat7.z = u_xlat4.y; u_xlat7.w = u_xlat5.y; u_xlat5.x = u_xlat2.z; u_xlat5.y = u_xlat3.z; u_xlat5.z = u_xlat4.z; u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(16 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat2.x; u_xlat9.y = u_xlat3.x; u_xlat9.z = u_xlat4.x; u_xlat9.w = u_xlat8.x; u_xlat9 = u_xlat1.yyyy * u_xlat9; u_xlat10.x = u_xlat2.y; u_xlat10.y = u_xlat3.y; u_xlat10.z = u_xlat4.y; u_xlat10.w = u_xlat8.y; u_xlat10 = u_xlat1.yyyy * u_xlat10; u_xlat8.x = u_xlat2.z; u_xlat8.y = u_xlat3.z; u_xlat8.z = u_xlat4.z; u_xlat2 = u_xlat1.yyyy * u_xlat8; u_xlat3 = u_xlat6 * u_xlat1.xxxx + u_xlat9; u_xlat4 = u_xlat7 * u_xlat1.xxxx + u_xlat10; u_xlat1 = u_xlat5 * u_xlat1.xxxx + u_xlat2; u_xlat0.w = 1.0; u_xlat2.x = dot(u_xlat3, u_xlat0); u_xlat2.y = dot(u_xlat4, u_xlat0); u_xlat2.z = dot(u_xlat1, u_xlat0); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat2.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat2.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat2.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[6] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[4] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[6] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec3 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1])); u_xlat2 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 2])); u_xlat6.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 2])); u_xlat7.x = u_xlat3.x; u_xlat7.y = u_xlat4.x; u_xlat7.z = u_xlat5.x; u_xlat7.w = u_xlat6.x; u_xlat8.x = u_xlat3.y; u_xlat8.y = u_xlat4.y; u_xlat8.z = u_xlat5.y; u_xlat8.w = u_xlat6.y; u_xlat6.x = u_xlat3.z; u_xlat6.y = u_xlat4.z; u_xlat6.z = u_xlat5.z; u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat3.x; u_xlat10.y = u_xlat4.x; u_xlat10.z = u_xlat5.x; u_xlat10.w = u_xlat9.x; u_xlat10 = u_xlat2.yyyy * u_xlat10; u_xlat11.x = u_xlat3.y; u_xlat11.y = u_xlat4.y; u_xlat11.z = u_xlat5.y; u_xlat11.w = u_xlat9.y; u_xlat11 = u_xlat2.yyyy * u_xlat11; u_xlat9.x = u_xlat3.z; u_xlat9.y = u_xlat4.z; u_xlat9.z = u_xlat5.z; u_xlat3 = u_xlat2.yyyy * u_xlat9; u_xlat4 = u_xlat7 * u_xlat2.xxxx + u_xlat10; u_xlat5 = u_xlat8 * u_xlat2.xxxx + u_xlat11; u_xlat2 = u_xlat6 * u_xlat2.xxxx + u_xlat3; u_xlat3.xyz = u_xlat0.xyz; u_xlat3.w = 1.0; u_xlat6.x = dot(u_xlat4, u_xlat3); u_xlat6.y = dot(u_xlat5, u_xlat3); u_xlat6.z = dot(u_xlat2, u_xlat3); u_xlat1.z = u_xlat0.w; u_xlat6.w = dot(u_xlat4.yzx, u_xlat1.xyz); u_xlat0.x = dot(u_xlat5.yzx, u_xlat1.xyz); u_xlat0.y = dot(u_xlat2.yzx, u_xlat1.xyz); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat6.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat6.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat6.z); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = floatBitsToUint(u_xlat6.w); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = floatBitsToUint(u_xlat0.x); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = floatBitsToUint(u_xlat0.y); return; } @main$Globals inVerticesinSkin inMatrices outVerticesm#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[7] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[4] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[7] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2])); u_xlat2 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 2])); u_xlat6.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 2])); u_xlat7.x = u_xlat3.x; u_xlat7.y = u_xlat4.x; u_xlat7.z = u_xlat5.x; u_xlat7.w = u_xlat6.x; u_xlat8.x = u_xlat3.y; u_xlat8.y = u_xlat4.y; u_xlat8.z = u_xlat5.y; u_xlat8.w = u_xlat6.y; u_xlat6.x = u_xlat3.z; u_xlat6.y = u_xlat4.z; u_xlat6.z = u_xlat5.z; u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat3.x; u_xlat10.y = u_xlat4.x; u_xlat10.z = u_xlat5.x; u_xlat10.w = u_xlat9.x; u_xlat10 = u_xlat2.yyyy * u_xlat10; u_xlat11.x = u_xlat3.y; u_xlat11.y = u_xlat4.y; u_xlat11.z = u_xlat5.y; u_xlat11.w = u_xlat9.y; u_xlat11 = u_xlat2.yyyy * u_xlat11; u_xlat9.x = u_xlat3.z; u_xlat9.y = u_xlat4.z; u_xlat9.z = u_xlat5.z; u_xlat3 = u_xlat2.yyyy * u_xlat9; u_xlat4 = u_xlat7 * u_xlat2.xxxx + u_xlat10; u_xlat5 = u_xlat8 * u_xlat2.xxxx + u_xlat11; u_xlat2 = u_xlat6 * u_xlat2.xxxx + u_xlat3; u_xlat3.xyz = u_xlat0.xyz; u_xlat3.w = 1.0; u_xlat6.x = dot(u_xlat4, u_xlat3); u_xlat6.y = dot(u_xlat5, u_xlat3); u_xlat6.z = dot(u_xlat2, u_xlat3); u_xlat1.w = u_xlat0.w; u_xlat6.w = dot(u_xlat4.yzx, u_xlat1.xyw); u_xlat0.x = dot(u_xlat5.yzx, u_xlat1.xyw); u_xlat0.y = dot(u_xlat2.yzx, u_xlat1.xyw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat6.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat6.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat6.z); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = floatBitsToUint(u_xlat6.w); u_xlat0.z = u_xlat1.z; outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = floatBitsToUint(u_xlat0.x); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = floatBitsToUint(u_xlat0.y); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = floatBitsToUint(u_xlat0.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices2#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[10] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[4] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[10] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlat1 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat2.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1])); u_xlat3 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat4.x; u_xlat8.y = u_xlat5.x; u_xlat8.z = u_xlat6.x; u_xlat8.w = u_xlat7.x; u_xlat9.x = u_xlat4.y; u_xlat9.y = u_xlat5.y; u_xlat9.z = u_xlat6.y; u_xlat9.w = u_xlat7.y; u_xlat7.x = u_xlat4.z; u_xlat7.y = u_xlat5.z; u_xlat7.z = u_xlat6.z; u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat4.x; u_xlat11.y = u_xlat5.x; u_xlat11.z = u_xlat6.x; u_xlat11.w = u_xlat10.x; u_xlat11 = u_xlat3.yyyy * u_xlat11; u_xlat12.x = u_xlat4.y; u_xlat12.y = u_xlat5.y; u_xlat12.z = u_xlat6.y; u_xlat12.w = u_xlat10.y; u_xlat12 = u_xlat3.yyyy * u_xlat12; u_xlat10.x = u_xlat4.z; u_xlat10.y = u_xlat5.z; u_xlat10.z = u_xlat6.z; u_xlat4 = u_xlat3.yyyy * u_xlat10; u_xlat5 = u_xlat8 * u_xlat3.xxxx + u_xlat11; u_xlat6 = u_xlat9 * u_xlat3.xxxx + u_xlat12; u_xlat3 = u_xlat7 * u_xlat3.xxxx + u_xlat4; u_xlat4.xyz = u_xlat0.yzw; u_xlat4.w = 1.0; u_xlat7.x = dot(u_xlat5, u_xlat4); u_xlat7.y = dot(u_xlat6, u_xlat4); u_xlat7.z = dot(u_xlat3, u_xlat4); u_xlat0.yz = u_xlat1.xy; u_xlat7.w = dot(u_xlat5.xyz, u_xlat0.xyz); u_xlat4.x = dot(u_xlat6.xyz, u_xlat0.xyz); u_xlat4.y = dot(u_xlat3.xyz, u_xlat0.xyz); u_xlat2.zw = u_xlat1.zw; u_xlat4.z = dot(u_xlat5.zxy, u_xlat2.xzw); u_xlat4.w = dot(u_xlat6.zxy, u_xlat2.xzw); u_xlat2.x = dot(u_xlat3.zxy, u_xlat2.xzw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat7.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat7.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat7.z); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = floatBitsToUint(u_xlat7.w); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = floatBitsToUint(u_xlat4.x); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = floatBitsToUint(u_xlat4.y); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = floatBitsToUint(u_xlat4.z); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3] = floatBitsToUint(u_xlat4.w); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2)] = floatBitsToUint(u_xlat2.x); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1] = floatBitsToUint(u_xlat2.y); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[3] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[8] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[3] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; ivec4 u_xlati2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlat1 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlati2 = ivec4(int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(32 >> 2) + 2])); u_xlat6.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(48 >> 2) + 2])); u_xlat7.x = u_xlat3.x; u_xlat7.y = u_xlat4.x; u_xlat7.z = u_xlat5.x; u_xlat7.w = u_xlat6.x; u_xlat8.x = u_xlat3.y; u_xlat8.y = u_xlat4.y; u_xlat8.z = u_xlat5.y; u_xlat8.w = u_xlat6.y; u_xlat6.x = u_xlat3.z; u_xlat6.y = u_xlat4.z; u_xlat6.z = u_xlat5.z; u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat3.x; u_xlat10.y = u_xlat4.x; u_xlat10.z = u_xlat5.x; u_xlat10.w = u_xlat9.x; u_xlat10 = u_xlat1.yyyy * u_xlat10; u_xlat11.x = u_xlat3.y; u_xlat11.y = u_xlat4.y; u_xlat11.z = u_xlat5.y; u_xlat11.w = u_xlat9.y; u_xlat11 = u_xlat1.yyyy * u_xlat11; u_xlat9.x = u_xlat3.z; u_xlat9.y = u_xlat4.z; u_xlat9.z = u_xlat5.z; u_xlat3 = u_xlat1.yyyy * u_xlat9; u_xlat4 = u_xlat7 * u_xlat1.xxxx + u_xlat10; u_xlat5 = u_xlat8 * u_xlat1.xxxx + u_xlat11; u_xlat3 = u_xlat6 * u_xlat1.xxxx + u_xlat3; u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(0 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat6.x; u_xlat10.y = u_xlat7.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat6.y; u_xlat11.y = u_xlat7.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat6.z; u_xlat9.y = u_xlat7.z; u_xlat9.z = u_xlat8.z; u_xlat4 = u_xlat10 * u_xlat1.zzzz + u_xlat4; u_xlat5 = u_xlat11 * u_xlat1.zzzz + u_xlat5; u_xlat3 = u_xlat9 * u_xlat1.zzzz + u_xlat3; u_xlat1.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(0 >> 2) + 2])); u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat1.x; u_xlat8.y = u_xlat2.x; u_xlat8.z = u_xlat6.x; u_xlat8.w = u_xlat7.x; u_xlat9.x = u_xlat1.y; u_xlat9.y = u_xlat2.y; u_xlat9.z = u_xlat6.y; u_xlat9.w = u_xlat7.y; u_xlat7.x = u_xlat1.z; u_xlat7.y = u_xlat2.z; u_xlat7.z = u_xlat6.z; u_xlat2 = u_xlat8 * u_xlat1.wwww + u_xlat4; u_xlat4 = u_xlat9 * u_xlat1.wwww + u_xlat5; u_xlat1 = u_xlat7 * u_xlat1.wwww + u_xlat3; u_xlat0.w = 1.0; u_xlat2.x = dot(u_xlat2, u_xlat0); u_xlat2.y = dot(u_xlat4, u_xlat0); u_xlat2.z = dot(u_xlat1, u_xlat0); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat2.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat2.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat2.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices"#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[6] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[8] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[6] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec3 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; ivec4 u_xlati3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1])); u_xlat2 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlati3 = ivec4(int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat4.x; u_xlat8.y = u_xlat5.x; u_xlat8.z = u_xlat6.x; u_xlat8.w = u_xlat7.x; u_xlat9.x = u_xlat4.y; u_xlat9.y = u_xlat5.y; u_xlat9.z = u_xlat6.y; u_xlat9.w = u_xlat7.y; u_xlat7.x = u_xlat4.z; u_xlat7.y = u_xlat5.z; u_xlat7.z = u_xlat6.z; u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat4.x; u_xlat11.y = u_xlat5.x; u_xlat11.z = u_xlat6.x; u_xlat11.w = u_xlat10.x; u_xlat11 = u_xlat2.yyyy * u_xlat11; u_xlat12.x = u_xlat4.y; u_xlat12.y = u_xlat5.y; u_xlat12.z = u_xlat6.y; u_xlat12.w = u_xlat10.y; u_xlat12 = u_xlat2.yyyy * u_xlat12; u_xlat10.x = u_xlat4.z; u_xlat10.y = u_xlat5.z; u_xlat10.z = u_xlat6.z; u_xlat4 = u_xlat2.yyyy * u_xlat10; u_xlat5 = u_xlat8 * u_xlat2.xxxx + u_xlat11; u_xlat6 = u_xlat9 * u_xlat2.xxxx + u_xlat12; u_xlat4 = u_xlat7 * u_xlat2.xxxx + u_xlat4; u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(0 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(16 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat7.x; u_xlat11.y = u_xlat8.x; u_xlat11.z = u_xlat9.x; u_xlat11.w = u_xlat10.x; u_xlat12.x = u_xlat7.y; u_xlat12.y = u_xlat8.y; u_xlat12.z = u_xlat9.y; u_xlat12.w = u_xlat10.y; u_xlat10.x = u_xlat7.z; u_xlat10.y = u_xlat8.z; u_xlat10.z = u_xlat9.z; u_xlat5 = u_xlat11 * u_xlat2.zzzz + u_xlat5; u_xlat6 = u_xlat12 * u_xlat2.zzzz + u_xlat6; u_xlat4 = u_xlat10 * u_xlat2.zzzz + u_xlat4; u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat2.x; u_xlat9.y = u_xlat3.x; u_xlat9.z = u_xlat7.x; u_xlat9.w = u_xlat8.x; u_xlat10.x = u_xlat2.y; u_xlat10.y = u_xlat3.y; u_xlat10.z = u_xlat7.y; u_xlat10.w = u_xlat8.y; u_xlat8.x = u_xlat2.z; u_xlat8.y = u_xlat3.z; u_xlat8.z = u_xlat7.z; u_xlat3 = u_xlat9 * u_xlat2.wwww + u_xlat5; u_xlat5 = u_xlat10 * u_xlat2.wwww + u_xlat6; u_xlat2 = u_xlat8 * u_xlat2.wwww + u_xlat4; u_xlat4.xyz = u_xlat0.xyz; u_xlat4.w = 1.0; u_xlat6.x = dot(u_xlat3, u_xlat4); u_xlat6.y = dot(u_xlat5, u_xlat4); u_xlat6.z = dot(u_xlat2, u_xlat4); u_xlat1.z = u_xlat0.w; u_xlat6.w = dot(u_xlat3.yzx, u_xlat1.xyz); u_xlat0.x = dot(u_xlat5.yzx, u_xlat1.xyz); u_xlat0.y = dot(u_xlat2.yzx, u_xlat1.xyz); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat6.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat6.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat6.z); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = floatBitsToUint(u_xlat6.w); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = floatBitsToUint(u_xlat0.x); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = floatBitsToUint(u_xlat0.y); return; } @main$Globals inVerticesinSkin inMatrices outVertices##version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[7] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[8] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[7] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; ivec4 u_xlati3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2])); u_xlat2 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlati3 = ivec4(int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat4.x; u_xlat8.y = u_xlat5.x; u_xlat8.z = u_xlat6.x; u_xlat8.w = u_xlat7.x; u_xlat9.x = u_xlat4.y; u_xlat9.y = u_xlat5.y; u_xlat9.z = u_xlat6.y; u_xlat9.w = u_xlat7.y; u_xlat7.x = u_xlat4.z; u_xlat7.y = u_xlat5.z; u_xlat7.z = u_xlat6.z; u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat4.x; u_xlat11.y = u_xlat5.x; u_xlat11.z = u_xlat6.x; u_xlat11.w = u_xlat10.x; u_xlat11 = u_xlat2.yyyy * u_xlat11; u_xlat12.x = u_xlat4.y; u_xlat12.y = u_xlat5.y; u_xlat12.z = u_xlat6.y; u_xlat12.w = u_xlat10.y; u_xlat12 = u_xlat2.yyyy * u_xlat12; u_xlat10.x = u_xlat4.z; u_xlat10.y = u_xlat5.z; u_xlat10.z = u_xlat6.z; u_xlat4 = u_xlat2.yyyy * u_xlat10; u_xlat5 = u_xlat8 * u_xlat2.xxxx + u_xlat11; u_xlat6 = u_xlat9 * u_xlat2.xxxx + u_xlat12; u_xlat4 = u_xlat7 * u_xlat2.xxxx + u_xlat4; u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(0 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(16 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat7.x; u_xlat11.y = u_xlat8.x; u_xlat11.z = u_xlat9.x; u_xlat11.w = u_xlat10.x; u_xlat12.x = u_xlat7.y; u_xlat12.y = u_xlat8.y; u_xlat12.z = u_xlat9.y; u_xlat12.w = u_xlat10.y; u_xlat10.x = u_xlat7.z; u_xlat10.y = u_xlat8.z; u_xlat10.z = u_xlat9.z; u_xlat5 = u_xlat11 * u_xlat2.zzzz + u_xlat5; u_xlat6 = u_xlat12 * u_xlat2.zzzz + u_xlat6; u_xlat4 = u_xlat10 * u_xlat2.zzzz + u_xlat4; u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat2.x; u_xlat9.y = u_xlat3.x; u_xlat9.z = u_xlat7.x; u_xlat9.w = u_xlat8.x; u_xlat10.x = u_xlat2.y; u_xlat10.y = u_xlat3.y; u_xlat10.z = u_xlat7.y; u_xlat10.w = u_xlat8.y; u_xlat8.x = u_xlat2.z; u_xlat8.y = u_xlat3.z; u_xlat8.z = u_xlat7.z; u_xlat3 = u_xlat9 * u_xlat2.wwww + u_xlat5; u_xlat5 = u_xlat10 * u_xlat2.wwww + u_xlat6; u_xlat2 = u_xlat8 * u_xlat2.wwww + u_xlat4; u_xlat4.xyz = u_xlat0.xyz; u_xlat4.w = 1.0; u_xlat6.x = dot(u_xlat3, u_xlat4); u_xlat6.y = dot(u_xlat5, u_xlat4); u_xlat6.z = dot(u_xlat2, u_xlat4); u_xlat1.w = u_xlat0.w; u_xlat6.w = dot(u_xlat3.yzx, u_xlat1.xyw); u_xlat0.x = dot(u_xlat5.yzx, u_xlat1.xyw); u_xlat0.y = dot(u_xlat2.yzx, u_xlat1.xyw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat6.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat6.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat6.z); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = floatBitsToUint(u_xlat6.w); u_xlat0.z = u_xlat1.z; outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = floatBitsToUint(u_xlat0.x); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = floatBitsToUint(u_xlat0.y); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = floatBitsToUint(u_xlat0.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices{&#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[10] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[8] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[10] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; ivec4 u_xlati4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; vec4 u_xlat13; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlat1 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat2.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1])); u_xlat3 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlati4 = ivec4(int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat5.x; u_xlat9.y = u_xlat6.x; u_xlat9.z = u_xlat7.x; u_xlat9.w = u_xlat8.x; u_xlat10.x = u_xlat5.y; u_xlat10.y = u_xlat6.y; u_xlat10.z = u_xlat7.y; u_xlat10.w = u_xlat8.y; u_xlat8.x = u_xlat5.z; u_xlat8.y = u_xlat6.z; u_xlat8.z = u_xlat7.z; u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat5.x; u_xlat12.y = u_xlat6.x; u_xlat12.z = u_xlat7.x; u_xlat12.w = u_xlat11.x; u_xlat12 = u_xlat3.yyyy * u_xlat12; u_xlat13.x = u_xlat5.y; u_xlat13.y = u_xlat6.y; u_xlat13.z = u_xlat7.y; u_xlat13.w = u_xlat11.y; u_xlat13 = u_xlat3.yyyy * u_xlat13; u_xlat11.x = u_xlat5.z; u_xlat11.y = u_xlat6.z; u_xlat11.z = u_xlat7.z; u_xlat5 = u_xlat3.yyyy * u_xlat11; u_xlat6 = u_xlat9 * u_xlat3.xxxx + u_xlat12; u_xlat7 = u_xlat10 * u_xlat3.xxxx + u_xlat13; u_xlat5 = u_xlat8 * u_xlat3.xxxx + u_xlat5; u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(0 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(16 >> 2) + 2])); u_xlat10.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat8.x; u_xlat12.y = u_xlat9.x; u_xlat12.z = u_xlat10.x; u_xlat12.w = u_xlat11.x; u_xlat13.x = u_xlat8.y; u_xlat13.y = u_xlat9.y; u_xlat13.z = u_xlat10.y; u_xlat13.w = u_xlat11.y; u_xlat11.x = u_xlat8.z; u_xlat11.y = u_xlat9.z; u_xlat11.z = u_xlat10.z; u_xlat6 = u_xlat12 * u_xlat3.zzzz + u_xlat6; u_xlat7 = u_xlat13 * u_xlat3.zzzz + u_xlat7; u_xlat5 = u_xlat11 * u_xlat3.zzzz + u_xlat5; u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat3.x; u_xlat10.y = u_xlat4.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat3.y; u_xlat11.y = u_xlat4.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat3.z; u_xlat9.y = u_xlat4.z; u_xlat9.z = u_xlat8.z; u_xlat4 = u_xlat10 * u_xlat3.wwww + u_xlat6; u_xlat6 = u_xlat11 * u_xlat3.wwww + u_xlat7; u_xlat3 = u_xlat9 * u_xlat3.wwww + u_xlat5; u_xlat5.xyz = u_xlat0.yzw; u_xlat5.w = 1.0; u_xlat7.x = dot(u_xlat4, u_xlat5); u_xlat7.y = dot(u_xlat6, u_xlat5); u_xlat7.z = dot(u_xlat3, u_xlat5); u_xlat0.yz = u_xlat1.xy; u_xlat7.w = dot(u_xlat4.xyz, u_xlat0.xyz); u_xlat5.x = dot(u_xlat6.xyz, u_xlat0.xyz); u_xlat5.y = dot(u_xlat3.xyz, u_xlat0.xyz); u_xlat2.zw = u_xlat1.zw; u_xlat5.z = dot(u_xlat4.zxy, u_xlat2.xzw); u_xlat5.w = dot(u_xlat6.zxy, u_xlat2.xzw); u_xlat2.x = dot(u_xlat3.zxy, u_xlat2.xzw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = floatBitsToUint(u_xlat7.x); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat7.y); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat7.z); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = floatBitsToUint(u_xlat7.w); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = floatBitsToUint(u_xlat5.x); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = floatBitsToUint(u_xlat5.y); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = floatBitsToUint(u_xlat5.z); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3] = floatBitsToUint(u_xlat5.w); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2)] = floatBitsToUint(u_xlat2.x); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1] = floatBitsToUint(u_xlat2.y); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; float u_xlat5; int u_xlati5; bool u_xlatb5; vec3 u_xlat6; vec3 u_xlat7; vec3 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec2 u_xlat12; int u_xlati12; float u_xlat17; uint u_xlatu17; float u_xlat36; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati12 = int(gl_GlobalInvocationID.x) << 2; u_xlat12.xy = vec2(uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 1])); u_xlat2.x = float(0.0); u_xlat2.y = float(0.0); u_xlat2.z = float(0.0); u_xlat2.w = float(0.0); u_xlat3.x = float(0.0); u_xlat3.y = float(0.0); u_xlat3.z = float(0.0); u_xlat3.w = float(0.0); u_xlat4.x = float(0.0); u_xlat4.y = float(0.0); u_xlat4.z = float(0.0); u_xlat4.w = float(0.0); u_xlat36 = u_xlat12.x; while(true){ u_xlatb5 = floatBitsToUint(u_xlat36)>=floatBitsToUint(u_xlat12.y); if(u_xlatb5){break;} u_xlati5 = floatBitsToInt(u_xlat36) << 2; u_xlat5 = uintBitsToFloat(inSkin_buf[(u_xlati5 >> 2) + 0]); u_xlatu17 = floatBitsToUint(u_xlat5) >> 16u; u_xlat17 = float(u_xlatu17); u_xlat17 = u_xlat17 * 1.52590219e-05; u_xlati5 = int(floatBitsToUint(u_xlat5) & 65535u); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati5].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(0 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati5].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati5].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati5].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat6.x; u_xlat10.y = u_xlat7.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat6.y; u_xlat11.y = u_xlat7.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat6.z; u_xlat9.y = u_xlat7.z; u_xlat9.z = u_xlat8.z; u_xlat2 = u_xlat10 * vec4(u_xlat17) + u_xlat2; u_xlat3 = u_xlat11 * vec4(u_xlat17) + u_xlat3; u_xlat4 = u_xlat9 * vec4(u_xlat17) + u_xlat4; u_xlat36 = intBitsToFloat(floatBitsToInt(u_xlat36) + 1); } u_xlat1.w = 1.0; u_xlat2.x = dot(u_xlat2, u_xlat1); u_xlat2.y = dot(u_xlat3, u_xlat1); u_xlat2.z = dot(u_xlat4, u_xlat1); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat2.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat2.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat2.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices=#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec3 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec3 u_xlat6; int u_xlati6; bool u_xlatb6; vec3 u_xlat7; vec3 u_xlat8; vec3 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; int u_xlati13; float u_xlat19; uint u_xlatu19; vec2 u_xlat26; int u_xlati26; float u_xlat41; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 24; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati13 = int(gl_GlobalInvocationID.x) * 24 + 12; u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 2])); u_xlati26 = int(gl_GlobalInvocationID.x) << 2; u_xlat26.xy = vec2(uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 1])); u_xlat3.x = float(0.0); u_xlat3.y = float(0.0); u_xlat3.z = float(0.0); u_xlat3.w = float(0.0); u_xlat4.x = float(0.0); u_xlat4.y = float(0.0); u_xlat4.z = float(0.0); u_xlat4.w = float(0.0); u_xlat5.x = float(0.0); u_xlat5.y = float(0.0); u_xlat5.z = float(0.0); u_xlat5.w = float(0.0); u_xlat41 = u_xlat26.x; while(true){ u_xlatb6 = floatBitsToUint(u_xlat41)>=floatBitsToUint(u_xlat26.y); if(u_xlatb6){break;} u_xlati6 = floatBitsToInt(u_xlat41) << 2; u_xlat6.x = uintBitsToFloat(inSkin_buf[(u_xlati6 >> 2) + 0]); u_xlatu19 = floatBitsToUint(u_xlat6.x) >> 16u; u_xlat19 = float(u_xlatu19); u_xlat19 = u_xlat19 * 1.52590219e-05; u_xlati6 = int(floatBitsToUint(u_xlat6.x) & 65535u); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati6].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(0 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati6].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(16 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati6].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati6].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat7.x; u_xlat11.y = u_xlat8.x; u_xlat11.z = u_xlat9.x; u_xlat11.w = u_xlat10.x; u_xlat12.x = u_xlat7.y; u_xlat12.y = u_xlat8.y; u_xlat12.z = u_xlat9.y; u_xlat12.w = u_xlat10.y; u_xlat10.x = u_xlat7.z; u_xlat10.y = u_xlat8.z; u_xlat10.z = u_xlat9.z; u_xlat3 = u_xlat11 * vec4(u_xlat19) + u_xlat3; u_xlat4 = u_xlat12 * vec4(u_xlat19) + u_xlat4; u_xlat5 = u_xlat10 * vec4(u_xlat19) + u_xlat5; u_xlat41 = intBitsToFloat(floatBitsToInt(u_xlat41) + 1); } u_xlat1.w = 1.0; u_xlat6.x = dot(u_xlat3, u_xlat1); u_xlat6.y = dot(u_xlat4, u_xlat1); u_xlat6.z = dot(u_xlat5, u_xlat1); u_xlat1.x = dot(u_xlat3.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat4.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat5.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat6.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat6.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat6.z); outVertices_buf[(u_xlati13 >> 2)] = floatBitsToUint(u_xlat1.x); outVertices_buf[(u_xlati13 >> 2) + 1] = floatBitsToUint(u_xlat1.y); outVertices_buf[(u_xlati13 >> 2) + 2] = floatBitsToUint(u_xlat1.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec3 u_xlat6; vec3 u_xlat7; vec3 u_xlat8; vec3 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; int u_xlati13; float u_xlat19; int u_xlati19; bool u_xlatb19; vec2 u_xlat26; int u_xlati26; float u_xlat32; uint u_xlatu32; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati13 = int(gl_GlobalInvocationID.x) * 12 + 12; u_xlat2 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 3])); u_xlati26 = int(gl_GlobalInvocationID.x) << 2; u_xlat26.xy = vec2(uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 1])); u_xlat3.x = float(0.0); u_xlat3.y = float(0.0); u_xlat3.z = float(0.0); u_xlat3.w = float(0.0); u_xlat4.x = float(0.0); u_xlat4.y = float(0.0); u_xlat4.z = float(0.0); u_xlat4.w = float(0.0); u_xlat5.x = float(0.0); u_xlat5.y = float(0.0); u_xlat5.z = float(0.0); u_xlat5.w = float(0.0); u_xlat6.x = u_xlat26.x; while(true){ u_xlatb19 = floatBitsToUint(u_xlat6.x)>=floatBitsToUint(u_xlat26.y); if(u_xlatb19){break;} u_xlati19 = floatBitsToInt(u_xlat6.x) << 2; u_xlat19 = uintBitsToFloat(inSkin_buf[(u_xlati19 >> 2) + 0]); u_xlatu32 = floatBitsToUint(u_xlat19) >> 16u; u_xlat32 = float(u_xlatu32); u_xlat32 = u_xlat32 * 1.52590219e-05; u_xlati19 = int(floatBitsToUint(u_xlat19) & 65535u); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati19].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(0 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati19].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(16 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati19].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati19].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat7.x; u_xlat11.y = u_xlat8.x; u_xlat11.z = u_xlat9.x; u_xlat11.w = u_xlat10.x; u_xlat12.x = u_xlat7.y; u_xlat12.y = u_xlat8.y; u_xlat12.z = u_xlat9.y; u_xlat12.w = u_xlat10.y; u_xlat10.x = u_xlat7.z; u_xlat10.y = u_xlat8.z; u_xlat10.z = u_xlat9.z; u_xlat3 = u_xlat11 * vec4(u_xlat32) + u_xlat3; u_xlat4 = u_xlat12 * vec4(u_xlat32) + u_xlat4; u_xlat5 = u_xlat10 * vec4(u_xlat32) + u_xlat5; u_xlat6.x = intBitsToFloat(floatBitsToInt(u_xlat6.x) + 1); } u_xlat1.w = 1.0; u_xlat6.x = dot(u_xlat3, u_xlat1); u_xlat6.y = dot(u_xlat4, u_xlat1); u_xlat6.z = dot(u_xlat5, u_xlat1); u_xlat1.x = dot(u_xlat3.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat4.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat5.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat6.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat6.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat6.z); u_xlat1.w = u_xlat2.w; outVertices_buf[(u_xlati13 >> 2)] = floatBitsToUint(u_xlat1.x); outVertices_buf[(u_xlati13 >> 2) + 1] = floatBitsToUint(u_xlat1.y); outVertices_buf[(u_xlati13 >> 2) + 2] = floatBitsToUint(u_xlat1.z); outVertices_buf[(u_xlati13 >> 2) + 3] = floatBitsToUint(u_xlat1.w); return; } @main$Globals inVerticesinSkin inMatrices outVerticesL#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec3 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec3 u_xlat8; vec3 u_xlat9; vec3 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; vec4 u_xlat13; ivec2 u_xlati14; float u_xlat32; uint u_xlatu32; float u_xlat42; int u_xlati42; float u_xlat44; int u_xlati44; bool u_xlatb44; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 40; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati14.xy = ivec2(gl_GlobalInvocationID.xx) * ivec2(40, 40) + ivec2(12, 24); u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati14.x >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati14.x >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati14.x >> 2) + 2])); u_xlat3 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 3])); u_xlati42 = int(gl_GlobalInvocationID.x) << 2; u_xlat4.xy = vec2(uintBitsToFloat(inSkin_buf[(u_xlati42 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati42 >> 2) + 1])); u_xlat5.x = float(0.0); u_xlat5.y = float(0.0); u_xlat5.z = float(0.0); u_xlat5.w = float(0.0); u_xlat6.x = float(0.0); u_xlat6.y = float(0.0); u_xlat6.z = float(0.0); u_xlat6.w = float(0.0); u_xlat7.x = float(0.0); u_xlat7.y = float(0.0); u_xlat7.z = float(0.0); u_xlat7.w = float(0.0); u_xlat42 = u_xlat4.x; while(true){ u_xlatb44 = floatBitsToUint(u_xlat42)>=floatBitsToUint(u_xlat4.y); if(u_xlatb44){break;} u_xlati44 = floatBitsToInt(u_xlat42) << 2; u_xlat44 = uintBitsToFloat(inSkin_buf[(u_xlati44 >> 2) + 0]); u_xlatu32 = floatBitsToUint(u_xlat44) >> 16u; u_xlat32 = float(u_xlatu32); u_xlat32 = u_xlat32 * 1.52590219e-05; u_xlati44 = int(floatBitsToUint(u_xlat44) & 65535u); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati44].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(0 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati44].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(16 >> 2) + 2])); u_xlat10.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati44].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati44].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat8.x; u_xlat12.y = u_xlat9.x; u_xlat12.z = u_xlat10.x; u_xlat12.w = u_xlat11.x; u_xlat13.x = u_xlat8.y; u_xlat13.y = u_xlat9.y; u_xlat13.z = u_xlat10.y; u_xlat13.w = u_xlat11.y; u_xlat11.x = u_xlat8.z; u_xlat11.y = u_xlat9.z; u_xlat11.z = u_xlat10.z; u_xlat5 = u_xlat12 * vec4(u_xlat32) + u_xlat5; u_xlat6 = u_xlat13 * vec4(u_xlat32) + u_xlat6; u_xlat7 = u_xlat11 * vec4(u_xlat32) + u_xlat7; u_xlat42 = intBitsToFloat(floatBitsToInt(u_xlat42) + 1); } u_xlat1.w = 1.0; u_xlat4.x = dot(u_xlat5, u_xlat1); u_xlat4.y = dot(u_xlat6, u_xlat1); u_xlat4.z = dot(u_xlat7, u_xlat1); u_xlat1.x = dot(u_xlat5.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat6.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat7.xyz, u_xlat2.xyz); u_xlat2.x = dot(u_xlat5.xyz, u_xlat3.xyz); u_xlat2.y = dot(u_xlat6.xyz, u_xlat3.xyz); u_xlat2.z = dot(u_xlat7.xyz, u_xlat3.xyz); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat4.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat4.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat4.z); outVertices_buf[(u_xlati14.x >> 2)] = floatBitsToUint(u_xlat1.x); outVertices_buf[(u_xlati14.x >> 2) + 1] = floatBitsToUint(u_xlat1.y); outVertices_buf[(u_xlati14.x >> 2) + 2] = floatBitsToUint(u_xlat1.z); u_xlat2.w = u_xlat3.w; outVertices_buf[(u_xlati14.y >> 2)] = floatBitsToUint(u_xlat2.x); outVertices_buf[(u_xlati14.y >> 2) + 1] = floatBitsToUint(u_xlat2.y); outVertices_buf[(u_xlati14.y >> 2) + 2] = floatBitsToUint(u_xlat2.z); outVertices_buf[(u_xlati14.y >> 2) + 3] = floatBitsToUint(u_xlat2.w); return; } @main$Globals inVerticesinSkin inMatrices outVertices] #version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec3 u_xlat2; vec3 u_xlat3; vec3 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; float u_xlat8; int u_xlati8; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati8 = int(gl_GlobalInvocationID.x) << 2; u_xlat8 = uintBitsToFloat(inSkin_buf[(u_xlati8 >> 2) + 0]); u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(16 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(32 >> 2) + 2])); u_xlat5.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(48 >> 2) + 2])); u_xlat6.x = u_xlat2.x; u_xlat6.y = u_xlat3.x; u_xlat6.z = u_xlat4.x; u_xlat6.w = u_xlat5.x; u_xlat1.w = 1.0; u_xlat6.x = dot(u_xlat6, u_xlat1); u_xlat7.x = u_xlat2.y; u_xlat7.y = u_xlat3.y; u_xlat7.z = u_xlat4.y; u_xlat7.w = u_xlat5.y; u_xlat6.y = dot(u_xlat7, u_xlat1); u_xlat5.x = u_xlat2.z; u_xlat5.y = u_xlat3.z; u_xlat5.z = u_xlat4.z; u_xlat6.z = dot(u_xlat5, u_xlat1); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat6.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat6.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat6.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec3 u_xlat2; vec3 u_xlat3; vec3 u_xlat4; vec3 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec3 u_xlat8; vec4 u_xlat9; int u_xlati10; float u_xlat20; int u_xlati20; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 24; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati10 = int(gl_GlobalInvocationID.x) * 24 + 12; u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati10 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati10 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati10 >> 2) + 2])); u_xlati20 = int(gl_GlobalInvocationID.x) << 2; u_xlat20 = uintBitsToFloat(inSkin_buf[(u_xlati20 >> 2) + 0]); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(32 >> 2) + 2])); u_xlat6.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(48 >> 2) + 2])); u_xlat7.x = u_xlat3.x; u_xlat7.y = u_xlat4.x; u_xlat7.z = u_xlat5.x; u_xlat7.w = u_xlat6.x; u_xlat1.w = 1.0; u_xlat8.x = dot(u_xlat7, u_xlat1); u_xlat9.x = u_xlat3.y; u_xlat9.y = u_xlat4.y; u_xlat9.z = u_xlat5.y; u_xlat9.w = u_xlat6.y; u_xlat8.y = dot(u_xlat9, u_xlat1); u_xlat6.x = u_xlat3.z; u_xlat6.y = u_xlat4.z; u_xlat6.z = u_xlat5.z; u_xlat8.z = dot(u_xlat6, u_xlat1); u_xlat1.x = dot(u_xlat7.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat9.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat6.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat8.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat8.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat8.z); outVertices_buf[(u_xlati10 >> 2)] = floatBitsToUint(u_xlat1.x); outVertices_buf[(u_xlati10 >> 2) + 1] = floatBitsToUint(u_xlat1.y); outVertices_buf[(u_xlati10 >> 2) + 2] = floatBitsToUint(u_xlat1.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec3 u_xlat3; vec3 u_xlat4; vec3 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec3 u_xlat8; vec4 u_xlat9; int u_xlati10; float u_xlat20; int u_xlati20; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati10 = int(gl_GlobalInvocationID.x) * 12 + 12; u_xlat2 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati10 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati10 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati10 >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati10 >> 2) + 3])); u_xlati20 = int(gl_GlobalInvocationID.x) << 2; u_xlat20 = uintBitsToFloat(inSkin_buf[(u_xlati20 >> 2) + 0]); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(32 >> 2) + 2])); u_xlat6.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(48 >> 2) + 2])); u_xlat7.x = u_xlat3.x; u_xlat7.y = u_xlat4.x; u_xlat7.z = u_xlat5.x; u_xlat7.w = u_xlat6.x; u_xlat1.w = 1.0; u_xlat8.x = dot(u_xlat7, u_xlat1); u_xlat9.x = u_xlat3.y; u_xlat9.y = u_xlat4.y; u_xlat9.z = u_xlat5.y; u_xlat9.w = u_xlat6.y; u_xlat8.y = dot(u_xlat9, u_xlat1); u_xlat6.x = u_xlat3.z; u_xlat6.y = u_xlat4.z; u_xlat6.z = u_xlat5.z; u_xlat8.z = dot(u_xlat6, u_xlat1); u_xlat1.x = dot(u_xlat7.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat9.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat6.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat8.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat8.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat8.z); u_xlat1.w = u_xlat2.w; outVertices_buf[(u_xlati10 >> 2)] = floatBitsToUint(u_xlat1.x); outVertices_buf[(u_xlati10 >> 2) + 1] = floatBitsToUint(u_xlat1.y); outVertices_buf[(u_xlati10 >> 2) + 2] = floatBitsToUint(u_xlat1.z); outVertices_buf[(u_xlati10 >> 2) + 3] = floatBitsToUint(u_xlat1.w); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec3 u_xlat4; vec3 u_xlat5; vec3 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec3 u_xlat9; vec4 u_xlat10; ivec2 u_xlati11; float u_xlat33; int u_xlati33; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 40; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati11.xy = ivec2(gl_GlobalInvocationID.xx) * ivec2(40, 40) + ivec2(12, 24); u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati11.x >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati11.x >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati11.x >> 2) + 2])); u_xlat3 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati11.y >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati11.y >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati11.y >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati11.y >> 2) + 3])); u_xlati33 = int(gl_GlobalInvocationID.x) << 2; u_xlat33 = uintBitsToFloat(inSkin_buf[(u_xlati33 >> 2) + 0]); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat4.x; u_xlat8.y = u_xlat5.x; u_xlat8.z = u_xlat6.x; u_xlat8.w = u_xlat7.x; u_xlat1.w = 1.0; u_xlat9.x = dot(u_xlat8, u_xlat1); u_xlat10.x = u_xlat4.y; u_xlat10.y = u_xlat5.y; u_xlat10.z = u_xlat6.y; u_xlat10.w = u_xlat7.y; u_xlat9.y = dot(u_xlat10, u_xlat1); u_xlat7.x = u_xlat4.z; u_xlat7.y = u_xlat5.z; u_xlat7.z = u_xlat6.z; u_xlat9.z = dot(u_xlat7, u_xlat1); u_xlat1.x = dot(u_xlat8.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat10.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat7.xyz, u_xlat2.xyz); u_xlat2.x = dot(u_xlat8.xyz, u_xlat3.xyz); u_xlat2.y = dot(u_xlat10.xyz, u_xlat3.xyz); u_xlat2.z = dot(u_xlat7.xyz, u_xlat3.xyz); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat9.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat9.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat9.z); outVertices_buf[(u_xlati11.x >> 2)] = floatBitsToUint(u_xlat1.x); outVertices_buf[(u_xlati11.x >> 2) + 1] = floatBitsToUint(u_xlat1.y); outVertices_buf[(u_xlati11.x >> 2) + 2] = floatBitsToUint(u_xlat1.z); u_xlat2.w = u_xlat3.w; outVertices_buf[(u_xlati11.y >> 2)] = floatBitsToUint(u_xlat2.x); outVertices_buf[(u_xlati11.y >> 2) + 1] = floatBitsToUint(u_xlat2.y); outVertices_buf[(u_xlati11.y >> 2) + 2] = floatBitsToUint(u_xlat2.z); outVertices_buf[(u_xlati11.y >> 2) + 3] = floatBitsToUint(u_xlat2.w); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec3 u_xlat11; int u_xlati11; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati11 = int(gl_GlobalInvocationID.x) << 4; u_xlat2 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati11 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati11 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati11 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati11 >> 2) + 3])); u_xlat11.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 2])); u_xlat5.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 2])); u_xlat6.x = u_xlat11.x; u_xlat6.y = u_xlat3.x; u_xlat6.z = u_xlat4.x; u_xlat6.w = u_xlat5.x; u_xlat7.x = u_xlat11.y; u_xlat7.y = u_xlat3.y; u_xlat7.z = u_xlat4.y; u_xlat7.w = u_xlat5.y; u_xlat5.x = u_xlat11.z; u_xlat5.y = u_xlat3.z; u_xlat5.z = u_xlat4.z; u_xlat11.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat11.x; u_xlat9.y = u_xlat3.x; u_xlat9.z = u_xlat4.x; u_xlat9.w = u_xlat8.x; u_xlat9 = u_xlat2.yyyy * u_xlat9; u_xlat10.x = u_xlat11.y; u_xlat10.y = u_xlat3.y; u_xlat10.z = u_xlat4.y; u_xlat10.w = u_xlat8.y; u_xlat10 = u_xlat2.yyyy * u_xlat10; u_xlat8.x = u_xlat11.z; u_xlat8.y = u_xlat3.z; u_xlat8.z = u_xlat4.z; u_xlat3 = u_xlat2.yyyy * u_xlat8; u_xlat4 = u_xlat6 * u_xlat2.xxxx + u_xlat9; u_xlat6 = u_xlat7 * u_xlat2.xxxx + u_xlat10; u_xlat2 = u_xlat5 * u_xlat2.xxxx + u_xlat3; u_xlat1.w = 1.0; u_xlat3.x = dot(u_xlat4, u_xlat1); u_xlat3.y = dot(u_xlat6, u_xlat1); u_xlat3.z = dot(u_xlat2, u_xlat1); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat3.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat3.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat3.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec3 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; int u_xlati13; int u_xlati26; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 24; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati13 = int(gl_GlobalInvocationID.x) * 24 + 12; u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 2])); u_xlati26 = int(gl_GlobalInvocationID.x) << 4; u_xlat3 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 3])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat4.x; u_xlat8.y = u_xlat5.x; u_xlat8.z = u_xlat6.x; u_xlat8.w = u_xlat7.x; u_xlat9.x = u_xlat4.y; u_xlat9.y = u_xlat5.y; u_xlat9.z = u_xlat6.y; u_xlat9.w = u_xlat7.y; u_xlat7.x = u_xlat4.z; u_xlat7.y = u_xlat5.z; u_xlat7.z = u_xlat6.z; u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat4.x; u_xlat11.y = u_xlat5.x; u_xlat11.z = u_xlat6.x; u_xlat11.w = u_xlat10.x; u_xlat11 = u_xlat3.yyyy * u_xlat11; u_xlat12.x = u_xlat4.y; u_xlat12.y = u_xlat5.y; u_xlat12.z = u_xlat6.y; u_xlat12.w = u_xlat10.y; u_xlat12 = u_xlat3.yyyy * u_xlat12; u_xlat10.x = u_xlat4.z; u_xlat10.y = u_xlat5.z; u_xlat10.z = u_xlat6.z; u_xlat4 = u_xlat3.yyyy * u_xlat10; u_xlat5 = u_xlat8 * u_xlat3.xxxx + u_xlat11; u_xlat6 = u_xlat9 * u_xlat3.xxxx + u_xlat12; u_xlat3 = u_xlat7 * u_xlat3.xxxx + u_xlat4; u_xlat1.w = 1.0; u_xlat4.x = dot(u_xlat5, u_xlat1); u_xlat4.y = dot(u_xlat6, u_xlat1); u_xlat4.z = dot(u_xlat3, u_xlat1); u_xlat1.x = dot(u_xlat5.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat6.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat3.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat4.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat4.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat4.z); outVertices_buf[(u_xlati13 >> 2)] = floatBitsToUint(u_xlat1.x); outVertices_buf[(u_xlati13 >> 2) + 1] = floatBitsToUint(u_xlat1.y); outVertices_buf[(u_xlati13 >> 2) + 2] = floatBitsToUint(u_xlat1.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; int u_xlati13; int u_xlati26; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati13 = int(gl_GlobalInvocationID.x) * 12 + 12; u_xlat2 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 3])); u_xlati26 = int(gl_GlobalInvocationID.x) << 4; u_xlat3 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 3])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat4.x; u_xlat8.y = u_xlat5.x; u_xlat8.z = u_xlat6.x; u_xlat8.w = u_xlat7.x; u_xlat9.x = u_xlat4.y; u_xlat9.y = u_xlat5.y; u_xlat9.z = u_xlat6.y; u_xlat9.w = u_xlat7.y; u_xlat7.x = u_xlat4.z; u_xlat7.y = u_xlat5.z; u_xlat7.z = u_xlat6.z; u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat4.x; u_xlat11.y = u_xlat5.x; u_xlat11.z = u_xlat6.x; u_xlat11.w = u_xlat10.x; u_xlat11 = u_xlat3.yyyy * u_xlat11; u_xlat12.x = u_xlat4.y; u_xlat12.y = u_xlat5.y; u_xlat12.z = u_xlat6.y; u_xlat12.w = u_xlat10.y; u_xlat12 = u_xlat3.yyyy * u_xlat12; u_xlat10.x = u_xlat4.z; u_xlat10.y = u_xlat5.z; u_xlat10.z = u_xlat6.z; u_xlat4 = u_xlat3.yyyy * u_xlat10; u_xlat5 = u_xlat8 * u_xlat3.xxxx + u_xlat11; u_xlat6 = u_xlat9 * u_xlat3.xxxx + u_xlat12; u_xlat3 = u_xlat7 * u_xlat3.xxxx + u_xlat4; u_xlat1.w = 1.0; u_xlat4.x = dot(u_xlat5, u_xlat1); u_xlat4.y = dot(u_xlat6, u_xlat1); u_xlat4.z = dot(u_xlat3, u_xlat1); u_xlat1.x = dot(u_xlat5.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat6.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat3.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat4.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat4.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat4.z); u_xlat1.w = u_xlat2.w; outVertices_buf[(u_xlati13 >> 2)] = floatBitsToUint(u_xlat1.x); outVertices_buf[(u_xlati13 >> 2) + 1] = floatBitsToUint(u_xlat1.y); outVertices_buf[(u_xlati13 >> 2) + 2] = floatBitsToUint(u_xlat1.z); outVertices_buf[(u_xlati13 >> 2) + 3] = floatBitsToUint(u_xlat1.w); return; } @main$Globals inVerticesinSkin inMatrices outVertices!#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; vec4 u_xlat13; ivec2 u_xlati14; int u_xlati42; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 40; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati14.xy = ivec2(gl_GlobalInvocationID.xx) * ivec2(40, 40) + ivec2(12, 24); u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati14.x >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati14.x >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati14.x >> 2) + 2])); u_xlat3 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 3])); u_xlati42 = int(gl_GlobalInvocationID.x) << 4; u_xlat4 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati42 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati42 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati42 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati42 >> 2) + 3])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat5.x; u_xlat9.y = u_xlat6.x; u_xlat9.z = u_xlat7.x; u_xlat9.w = u_xlat8.x; u_xlat10.x = u_xlat5.y; u_xlat10.y = u_xlat6.y; u_xlat10.z = u_xlat7.y; u_xlat10.w = u_xlat8.y; u_xlat8.x = u_xlat5.z; u_xlat8.y = u_xlat6.z; u_xlat8.z = u_xlat7.z; u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat5.x; u_xlat12.y = u_xlat6.x; u_xlat12.z = u_xlat7.x; u_xlat12.w = u_xlat11.x; u_xlat12 = u_xlat4.yyyy * u_xlat12; u_xlat13.x = u_xlat5.y; u_xlat13.y = u_xlat6.y; u_xlat13.z = u_xlat7.y; u_xlat13.w = u_xlat11.y; u_xlat13 = u_xlat4.yyyy * u_xlat13; u_xlat11.x = u_xlat5.z; u_xlat11.y = u_xlat6.z; u_xlat11.z = u_xlat7.z; u_xlat5 = u_xlat4.yyyy * u_xlat11; u_xlat6 = u_xlat9 * u_xlat4.xxxx + u_xlat12; u_xlat7 = u_xlat10 * u_xlat4.xxxx + u_xlat13; u_xlat4 = u_xlat8 * u_xlat4.xxxx + u_xlat5; u_xlat1.w = 1.0; u_xlat5.x = dot(u_xlat6, u_xlat1); u_xlat5.y = dot(u_xlat7, u_xlat1); u_xlat5.z = dot(u_xlat4, u_xlat1); u_xlat1.x = dot(u_xlat6.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat7.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat4.xyz, u_xlat2.xyz); u_xlat2.x = dot(u_xlat6.xyz, u_xlat3.xyz); u_xlat2.y = dot(u_xlat7.xyz, u_xlat3.xyz); u_xlat2.z = dot(u_xlat4.xyz, u_xlat3.xyz); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat5.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat5.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat5.z); outVertices_buf[(u_xlati14.x >> 2)] = floatBitsToUint(u_xlat1.x); outVertices_buf[(u_xlati14.x >> 2) + 1] = floatBitsToUint(u_xlat1.y); outVertices_buf[(u_xlati14.x >> 2) + 2] = floatBitsToUint(u_xlat1.z); u_xlat2.w = u_xlat3.w; outVertices_buf[(u_xlati14.y >> 2)] = floatBitsToUint(u_xlat2.x); outVertices_buf[(u_xlati14.y >> 2) + 1] = floatBitsToUint(u_xlat2.y); outVertices_buf[(u_xlati14.y >> 2) + 2] = floatBitsToUint(u_xlat2.z); outVertices_buf[(u_xlati14.y >> 2) + 3] = floatBitsToUint(u_xlat2.w); return; } @main$Globals inVerticesinSkin inMatrices outVertices!#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec3 u_xlat12; int u_xlati12; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati12 = int(gl_GlobalInvocationID.x) << 5; u_xlat2 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 3])); u_xlati12 = int(gl_GlobalInvocationID.x) * 32 + 16; u_xlat3 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 3])); u_xlat12.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(32 >> 2) + 2])); u_xlat6.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(48 >> 2) + 2])); u_xlat7.x = u_xlat12.x; u_xlat7.y = u_xlat4.x; u_xlat7.z = u_xlat5.x; u_xlat7.w = u_xlat6.x; u_xlat8.x = u_xlat12.y; u_xlat8.y = u_xlat4.y; u_xlat8.z = u_xlat5.y; u_xlat8.w = u_xlat6.y; u_xlat6.x = u_xlat12.z; u_xlat6.y = u_xlat4.z; u_xlat6.z = u_xlat5.z; u_xlat12.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat12.x; u_xlat10.y = u_xlat4.x; u_xlat10.z = u_xlat5.x; u_xlat10.w = u_xlat9.x; u_xlat10 = u_xlat2.yyyy * u_xlat10; u_xlat11.x = u_xlat12.y; u_xlat11.y = u_xlat4.y; u_xlat11.z = u_xlat5.y; u_xlat11.w = u_xlat9.y; u_xlat11 = u_xlat2.yyyy * u_xlat11; u_xlat9.x = u_xlat12.z; u_xlat9.y = u_xlat4.z; u_xlat9.z = u_xlat5.z; u_xlat4 = u_xlat2.yyyy * u_xlat9; u_xlat5 = u_xlat7 * u_xlat2.xxxx + u_xlat10; u_xlat7 = u_xlat8 * u_xlat2.xxxx + u_xlat11; u_xlat4 = u_xlat6 * u_xlat2.xxxx + u_xlat4; u_xlat12.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat12.x; u_xlat10.y = u_xlat6.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat12.y; u_xlat11.y = u_xlat6.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat12.z; u_xlat9.y = u_xlat6.z; u_xlat9.z = u_xlat8.z; u_xlat5 = u_xlat10 * u_xlat2.zzzz + u_xlat5; u_xlat6 = u_xlat11 * u_xlat2.zzzz + u_xlat7; u_xlat4 = u_xlat9 * u_xlat2.zzzz + u_xlat4; u_xlat12.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 2])); u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat12.x; u_xlat8.y = u_xlat2.x; u_xlat8.z = u_xlat3.x; u_xlat8.w = u_xlat7.x; u_xlat9.x = u_xlat12.y; u_xlat9.y = u_xlat2.y; u_xlat9.z = u_xlat3.y; u_xlat9.w = u_xlat7.y; u_xlat7.x = u_xlat12.z; u_xlat7.y = u_xlat2.z; u_xlat7.z = u_xlat3.z; u_xlat3 = u_xlat8 * u_xlat2.wwww + u_xlat5; u_xlat5 = u_xlat9 * u_xlat2.wwww + u_xlat6; u_xlat2 = u_xlat7 * u_xlat2.wwww + u_xlat4; u_xlat1.w = 1.0; u_xlat3.x = dot(u_xlat3, u_xlat1); u_xlat3.y = dot(u_xlat5, u_xlat1); u_xlat3.z = dot(u_xlat2, u_xlat1); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat3.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat3.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat3.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices.$#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec3 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; vec4 u_xlat13; int u_xlati14; int u_xlati28; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 24; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati14 = int(gl_GlobalInvocationID.x) * 24 + 12; u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati14 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati14 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati14 >> 2) + 2])); u_xlati28 = int(gl_GlobalInvocationID.x) << 5; u_xlat3 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 3])); u_xlati28 = int(gl_GlobalInvocationID.x) * 32 + 16; u_xlat4 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 3])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat5.x; u_xlat9.y = u_xlat6.x; u_xlat9.z = u_xlat7.x; u_xlat9.w = u_xlat8.x; u_xlat10.x = u_xlat5.y; u_xlat10.y = u_xlat6.y; u_xlat10.z = u_xlat7.y; u_xlat10.w = u_xlat8.y; u_xlat8.x = u_xlat5.z; u_xlat8.y = u_xlat6.z; u_xlat8.z = u_xlat7.z; u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat5.x; u_xlat12.y = u_xlat6.x; u_xlat12.z = u_xlat7.x; u_xlat12.w = u_xlat11.x; u_xlat12 = u_xlat3.yyyy * u_xlat12; u_xlat13.x = u_xlat5.y; u_xlat13.y = u_xlat6.y; u_xlat13.z = u_xlat7.y; u_xlat13.w = u_xlat11.y; u_xlat13 = u_xlat3.yyyy * u_xlat13; u_xlat11.x = u_xlat5.z; u_xlat11.y = u_xlat6.z; u_xlat11.z = u_xlat7.z; u_xlat5 = u_xlat3.yyyy * u_xlat11; u_xlat6 = u_xlat9 * u_xlat3.xxxx + u_xlat12; u_xlat7 = u_xlat10 * u_xlat3.xxxx + u_xlat13; u_xlat5 = u_xlat8 * u_xlat3.xxxx + u_xlat5; u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 2])); u_xlat10.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat8.x; u_xlat12.y = u_xlat9.x; u_xlat12.z = u_xlat10.x; u_xlat12.w = u_xlat11.x; u_xlat13.x = u_xlat8.y; u_xlat13.y = u_xlat9.y; u_xlat13.z = u_xlat10.y; u_xlat13.w = u_xlat11.y; u_xlat11.x = u_xlat8.z; u_xlat11.y = u_xlat9.z; u_xlat11.z = u_xlat10.z; u_xlat6 = u_xlat12 * u_xlat3.zzzz + u_xlat6; u_xlat7 = u_xlat13 * u_xlat3.zzzz + u_xlat7; u_xlat5 = u_xlat11 * u_xlat3.zzzz + u_xlat5; u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat3.x; u_xlat10.y = u_xlat4.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat3.y; u_xlat11.y = u_xlat4.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat3.z; u_xlat9.y = u_xlat4.z; u_xlat9.z = u_xlat8.z; u_xlat4 = u_xlat10 * u_xlat3.wwww + u_xlat6; u_xlat6 = u_xlat11 * u_xlat3.wwww + u_xlat7; u_xlat3 = u_xlat9 * u_xlat3.wwww + u_xlat5; u_xlat1.w = 1.0; u_xlat5.x = dot(u_xlat4, u_xlat1); u_xlat5.y = dot(u_xlat6, u_xlat1); u_xlat5.z = dot(u_xlat3, u_xlat1); u_xlat1.x = dot(u_xlat4.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat6.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat3.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat5.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat5.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat5.z); outVertices_buf[(u_xlati14 >> 2)] = floatBitsToUint(u_xlat1.x); outVertices_buf[(u_xlati14 >> 2) + 1] = floatBitsToUint(u_xlat1.y); outVertices_buf[(u_xlati14 >> 2) + 2] = floatBitsToUint(u_xlat1.z); return; } @main$Globals inVerticesinSkin inMatrices outVertices$#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; vec4 u_xlat13; int u_xlati14; int u_xlati28; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati14 = int(gl_GlobalInvocationID.x) * 12 + 12; u_xlat2 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati14 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati14 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati14 >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati14 >> 2) + 3])); u_xlati28 = int(gl_GlobalInvocationID.x) << 5; u_xlat3 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 3])); u_xlati28 = int(gl_GlobalInvocationID.x) * 32 + 16; u_xlat4 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 3])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat5.x; u_xlat9.y = u_xlat6.x; u_xlat9.z = u_xlat7.x; u_xlat9.w = u_xlat8.x; u_xlat10.x = u_xlat5.y; u_xlat10.y = u_xlat6.y; u_xlat10.z = u_xlat7.y; u_xlat10.w = u_xlat8.y; u_xlat8.x = u_xlat5.z; u_xlat8.y = u_xlat6.z; u_xlat8.z = u_xlat7.z; u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat5.x; u_xlat12.y = u_xlat6.x; u_xlat12.z = u_xlat7.x; u_xlat12.w = u_xlat11.x; u_xlat12 = u_xlat3.yyyy * u_xlat12; u_xlat13.x = u_xlat5.y; u_xlat13.y = u_xlat6.y; u_xlat13.z = u_xlat7.y; u_xlat13.w = u_xlat11.y; u_xlat13 = u_xlat3.yyyy * u_xlat13; u_xlat11.x = u_xlat5.z; u_xlat11.y = u_xlat6.z; u_xlat11.z = u_xlat7.z; u_xlat5 = u_xlat3.yyyy * u_xlat11; u_xlat6 = u_xlat9 * u_xlat3.xxxx + u_xlat12; u_xlat7 = u_xlat10 * u_xlat3.xxxx + u_xlat13; u_xlat5 = u_xlat8 * u_xlat3.xxxx + u_xlat5; u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 2])); u_xlat10.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat8.x; u_xlat12.y = u_xlat9.x; u_xlat12.z = u_xlat10.x; u_xlat12.w = u_xlat11.x; u_xlat13.x = u_xlat8.y; u_xlat13.y = u_xlat9.y; u_xlat13.z = u_xlat10.y; u_xlat13.w = u_xlat11.y; u_xlat11.x = u_xlat8.z; u_xlat11.y = u_xlat9.z; u_xlat11.z = u_xlat10.z; u_xlat6 = u_xlat12 * u_xlat3.zzzz + u_xlat6; u_xlat7 = u_xlat13 * u_xlat3.zzzz + u_xlat7; u_xlat5 = u_xlat11 * u_xlat3.zzzz + u_xlat5; u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat3.x; u_xlat10.y = u_xlat4.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat3.y; u_xlat11.y = u_xlat4.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat3.z; u_xlat9.y = u_xlat4.z; u_xlat9.z = u_xlat8.z; u_xlat4 = u_xlat10 * u_xlat3.wwww + u_xlat6; u_xlat6 = u_xlat11 * u_xlat3.wwww + u_xlat7; u_xlat3 = u_xlat9 * u_xlat3.wwww + u_xlat5; u_xlat1.w = 1.0; u_xlat5.x = dot(u_xlat4, u_xlat1); u_xlat5.y = dot(u_xlat6, u_xlat1); u_xlat5.z = dot(u_xlat3, u_xlat1); u_xlat1.x = dot(u_xlat4.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat6.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat3.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat5.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat5.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat5.z); u_xlat1.w = u_xlat2.w; outVertices_buf[(u_xlati14 >> 2)] = floatBitsToUint(u_xlat1.x); outVertices_buf[(u_xlati14 >> 2) + 1] = floatBitsToUint(u_xlat1.y); outVertices_buf[(u_xlati14 >> 2) + 2] = floatBitsToUint(u_xlat1.z); outVertices_buf[(u_xlati14 >> 2) + 3] = floatBitsToUint(u_xlat1.w); return; } @main$Globals inVerticesinSkin inMatrices outVertices;'#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; vec4 u_xlat13; vec4 u_xlat14; ivec2 u_xlati15; int u_xlati45; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 40; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati15.xy = ivec2(gl_GlobalInvocationID.xx) * ivec2(40, 40) + ivec2(12, 24); u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati15.x >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati15.x >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati15.x >> 2) + 2])); u_xlat3 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati15.y >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati15.y >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati15.y >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati15.y >> 2) + 3])); u_xlati45 = int(gl_GlobalInvocationID.x) << 5; u_xlat4 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 3])); u_xlati45 = int(gl_GlobalInvocationID.x) * 32 + 16; u_xlat5 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 3])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(0 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat6.x; u_xlat10.y = u_xlat7.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat6.y; u_xlat11.y = u_xlat7.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat6.z; u_xlat9.y = u_xlat7.z; u_xlat9.z = u_xlat8.z; u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(0 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(32 >> 2) + 2])); u_xlat12.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(48 >> 2) + 2])); u_xlat13.x = u_xlat6.x; u_xlat13.y = u_xlat7.x; u_xlat13.z = u_xlat8.x; u_xlat13.w = u_xlat12.x; u_xlat13 = u_xlat4.yyyy * u_xlat13; u_xlat14.x = u_xlat6.y; u_xlat14.y = u_xlat7.y; u_xlat14.z = u_xlat8.y; u_xlat14.w = u_xlat12.y; u_xlat14 = u_xlat4.yyyy * u_xlat14; u_xlat12.x = u_xlat6.z; u_xlat12.y = u_xlat7.z; u_xlat12.z = u_xlat8.z; u_xlat6 = u_xlat4.yyyy * u_xlat12; u_xlat7 = u_xlat10 * u_xlat4.xxxx + u_xlat13; u_xlat8 = u_xlat11 * u_xlat4.xxxx + u_xlat14; u_xlat6 = u_xlat9 * u_xlat4.xxxx + u_xlat6; u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(0 >> 2) + 2])); u_xlat10.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(16 >> 2) + 2])); u_xlat11.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(32 >> 2) + 2])); u_xlat12.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(48 >> 2) + 2])); u_xlat13.x = u_xlat9.x; u_xlat13.y = u_xlat10.x; u_xlat13.z = u_xlat11.x; u_xlat13.w = u_xlat12.x; u_xlat14.x = u_xlat9.y; u_xlat14.y = u_xlat10.y; u_xlat14.z = u_xlat11.y; u_xlat14.w = u_xlat12.y; u_xlat12.x = u_xlat9.z; u_xlat12.y = u_xlat10.z; u_xlat12.z = u_xlat11.z; u_xlat7 = u_xlat13 * u_xlat4.zzzz + u_xlat7; u_xlat8 = u_xlat14 * u_xlat4.zzzz + u_xlat8; u_xlat6 = u_xlat12 * u_xlat4.zzzz + u_xlat6; u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(16 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat4.x; u_xlat11.y = u_xlat5.x; u_xlat11.z = u_xlat9.x; u_xlat11.w = u_xlat10.x; u_xlat12.x = u_xlat4.y; u_xlat12.y = u_xlat5.y; u_xlat12.z = u_xlat9.y; u_xlat12.w = u_xlat10.y; u_xlat10.x = u_xlat4.z; u_xlat10.y = u_xlat5.z; u_xlat10.z = u_xlat9.z; u_xlat5 = u_xlat11 * u_xlat4.wwww + u_xlat7; u_xlat7 = u_xlat12 * u_xlat4.wwww + u_xlat8; u_xlat4 = u_xlat10 * u_xlat4.wwww + u_xlat6; u_xlat1.w = 1.0; u_xlat6.x = dot(u_xlat5, u_xlat1); u_xlat6.y = dot(u_xlat7, u_xlat1); u_xlat6.z = dot(u_xlat4, u_xlat1); u_xlat1.x = dot(u_xlat5.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat7.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat4.xyz, u_xlat2.xyz); u_xlat2.x = dot(u_xlat5.xyz, u_xlat3.xyz); u_xlat2.y = dot(u_xlat7.xyz, u_xlat3.xyz); u_xlat2.z = dot(u_xlat4.xyz, u_xlat3.xyz); outVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat6.x); outVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat6.y); outVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat6.z); outVertices_buf[(u_xlati15.x >> 2)] = floatBitsToUint(u_xlat1.x); outVertices_buf[(u_xlati15.x >> 2) + 1] = floatBitsToUint(u_xlat1.y); outVertices_buf[(u_xlati15.x >> 2) + 2] = floatBitsToUint(u_xlat1.z); u_xlat2.w = u_xlat3.w; outVertices_buf[(u_xlati15.y >> 2)] = floatBitsToUint(u_xlat2.x); outVertices_buf[(u_xlati15.y >> 2) + 1] = floatBitsToUint(u_xlat2.y); outVertices_buf[(u_xlati15.y >> 2) + 2] = floatBitsToUint(u_xlat2.z); outVertices_buf[(u_xlati15.y >> 2) + 3] = floatBitsToUint(u_xlat2.w); return; } @$Globals g_VertCount  main$Globals inVerticesinSkin inMatrices outVerticesb#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[3] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[3] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec3 u_xlat1; uint u_xlatu1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; float u_xlat5; uint u_xlatu5; vec3 u_xlat6; vec3 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; int u_xlati12; uint u_xlatu12; vec3 u_xlat16; uint u_xlatu23; int u_xlati34; uint u_xlatu34; bool u_xlatb34; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlatu1 = inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]; u_xlati12 = int(gl_GlobalInvocationID.x) + 1; u_xlatu12 = inSkin_buf[u_xlati12].value[(0 >> 2) + 0]; u_xlat2.x = float(0.0); u_xlat2.y = float(0.0); u_xlat2.z = float(0.0); u_xlat2.w = float(0.0); u_xlat3.x = float(0.0); u_xlat3.y = float(0.0); u_xlat3.z = float(0.0); u_xlat3.w = float(0.0); u_xlat4.x = float(0.0); u_xlat4.y = float(0.0); u_xlat4.z = float(0.0); u_xlat4.w = float(0.0); for(uint u_xlatu_loop_1 = u_xlatu1 ; u_xlatu_loop_1> 2) + 0]; u_xlatu5 = u_xlatu34 >> 16u; u_xlat5 = float(u_xlatu5); u_xlat5 = u_xlat5 * 1.52590219e-05; u_xlati34 = int(u_xlatu34 & 65535u); u_xlat16.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati34].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati34].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati34].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati34].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati34].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat16.x; u_xlat9.y = u_xlat6.x; u_xlat9.z = u_xlat7.x; u_xlat9.w = u_xlat8.x; u_xlat10.x = u_xlat16.y; u_xlat10.y = u_xlat6.y; u_xlat10.z = u_xlat7.y; u_xlat10.w = u_xlat8.y; u_xlat8.x = u_xlat16.z; u_xlat8.y = u_xlat6.z; u_xlat8.z = u_xlat7.z; u_xlat2 = u_xlat9 * vec4(u_xlat5) + u_xlat2; u_xlat3 = u_xlat10 * vec4(u_xlat5) + u_xlat3; u_xlat4 = u_xlat8 * vec4(u_xlat5) + u_xlat4; } u_xlat0.w = 1.0; u_xlat1.x = dot(u_xlat2, u_xlat0); u_xlat1.y = dot(u_xlat3, u_xlat0); u_xlat1.z = dot(u_xlat4, u_xlat0); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat1.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat1.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat1.z)); return; } @main$Globals inVerticesinSkin inMatrices outVerticesk#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[6] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[6] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec3 u_xlat1; vec4 u_xlat2; int u_xlati2; uint u_xlatu2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec3 u_xlat7; vec3 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; uint u_xlatu14; int u_xlati26; uint u_xlatu26; bool u_xlatb26; uint u_xlatu37; float u_xlat38; uint u_xlatu38; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1])); u_xlatu37 = inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]; u_xlati2 = int(gl_GlobalInvocationID.x) + 1; u_xlatu2 = inSkin_buf[u_xlati2].value[(0 >> 2) + 0]; u_xlat3.x = float(0.0); u_xlat3.y = float(0.0); u_xlat3.z = float(0.0); u_xlat3.w = float(0.0); u_xlat4.x = float(0.0); u_xlat4.y = float(0.0); u_xlat4.z = float(0.0); u_xlat4.w = float(0.0); u_xlat5.x = float(0.0); u_xlat5.y = float(0.0); u_xlat5.z = float(0.0); u_xlat5.w = float(0.0); for(uint u_xlatu_loop_1 = u_xlatu37 ; u_xlatu_loop_1> 2) + 0]; u_xlatu38 = u_xlatu26 >> 16u; u_xlat38 = float(u_xlatu38); u_xlat38 = u_xlat38 * 1.52590219e-05; u_xlati26 = int(u_xlatu26 & 65535u); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati26].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(0 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati26].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati26].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati26].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati26].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat6.x; u_xlat10.y = u_xlat7.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat6.y; u_xlat11.y = u_xlat7.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat6.z; u_xlat9.y = u_xlat7.z; u_xlat9.z = u_xlat8.z; u_xlat3 = u_xlat10 * vec4(u_xlat38) + u_xlat3; u_xlat4 = u_xlat11 * vec4(u_xlat38) + u_xlat4; u_xlat5 = u_xlat9 * vec4(u_xlat38) + u_xlat5; } u_xlat2.xyz = u_xlat0.xyz; u_xlat2.w = 1.0; u_xlat6.x = dot(u_xlat3, u_xlat2); u_xlat6.y = dot(u_xlat4, u_xlat2); u_xlat6.z = dot(u_xlat5, u_xlat2); u_xlat1.z = u_xlat0.w; u_xlat6.w = dot(u_xlat3.yzx, u_xlat1.xyz); u_xlat0.x = dot(u_xlat4.yzx, u_xlat1.xyz); u_xlat0.y = dot(u_xlat5.yzx, u_xlat1.xyz); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat6.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat6.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat6.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = uint(floatBitsToUint(u_xlat6.w)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = uint(floatBitsToUint(u_xlat0.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = uint(floatBitsToUint(u_xlat0.y)); return; } @main$Globals inVerticesinSkin inMatrices outVertices<#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[7] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[7] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; uint u_xlatu2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; uint u_xlatu6; vec3 u_xlat7; vec3 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; int u_xlati14; uint u_xlatu14; vec3 u_xlat18; uint u_xlatu26; int u_xlati38; uint u_xlatu38; bool u_xlatb38; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2])); u_xlatu2 = inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]; u_xlati14 = int(gl_GlobalInvocationID.x) + 1; u_xlatu14 = inSkin_buf[u_xlati14].value[(0 >> 2) + 0]; u_xlat3.x = float(0.0); u_xlat3.y = float(0.0); u_xlat3.z = float(0.0); u_xlat3.w = float(0.0); u_xlat4.x = float(0.0); u_xlat4.y = float(0.0); u_xlat4.z = float(0.0); u_xlat4.w = float(0.0); u_xlat5.x = float(0.0); u_xlat5.y = float(0.0); u_xlat5.z = float(0.0); u_xlat5.w = float(0.0); for(uint u_xlatu_loop_1 = u_xlatu2 ; u_xlatu_loop_1> 2) + 0]; u_xlatu6 = u_xlatu38 >> 16u; u_xlat6.x = float(u_xlatu6); u_xlat6.x = u_xlat6.x * 1.52590219e-05; u_xlati38 = int(u_xlatu38 & 65535u); u_xlat18.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati38].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(0 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati38].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati38].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati38].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati38].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat18.x; u_xlat10.y = u_xlat7.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat18.y; u_xlat11.y = u_xlat7.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat18.z; u_xlat9.y = u_xlat7.z; u_xlat9.z = u_xlat8.z; u_xlat3 = u_xlat10 * u_xlat6.xxxx + u_xlat3; u_xlat4 = u_xlat11 * u_xlat6.xxxx + u_xlat4; u_xlat5 = u_xlat9 * u_xlat6.xxxx + u_xlat5; } u_xlat2.xyz = u_xlat0.xyz; u_xlat2.w = 1.0; u_xlat6.x = dot(u_xlat3, u_xlat2); u_xlat6.y = dot(u_xlat4, u_xlat2); u_xlat6.z = dot(u_xlat5, u_xlat2); u_xlat1.w = u_xlat0.w; u_xlat6.w = dot(u_xlat3.yzx, u_xlat1.xyw); u_xlat0.x = dot(u_xlat4.yzx, u_xlat1.xyw); u_xlat0.y = dot(u_xlat5.yzx, u_xlat1.xyw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat6.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat6.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat6.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = uint(floatBitsToUint(u_xlat6.w)); u_xlat0.z = u_xlat1.z; outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = uint(floatBitsToUint(u_xlat0.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = uint(floatBitsToUint(u_xlat0.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = uint(floatBitsToUint(u_xlat0.z)); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[10] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[10] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; uint u_xlatu3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; uint u_xlatu7; vec3 u_xlat8; vec3 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; int u_xlati16; uint u_xlatu16; vec3 u_xlat20; uint u_xlatu29; int u_xlati42; uint u_xlatu42; bool u_xlatb42; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlat1 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat2.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1])); u_xlatu3 = inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]; u_xlati16 = int(gl_GlobalInvocationID.x) + 1; u_xlatu16 = inSkin_buf[u_xlati16].value[(0 >> 2) + 0]; u_xlat4.x = float(0.0); u_xlat4.y = float(0.0); u_xlat4.z = float(0.0); u_xlat4.w = float(0.0); u_xlat5.x = float(0.0); u_xlat5.y = float(0.0); u_xlat5.z = float(0.0); u_xlat5.w = float(0.0); u_xlat6.x = float(0.0); u_xlat6.y = float(0.0); u_xlat6.z = float(0.0); u_xlat6.w = float(0.0); for(uint u_xlatu_loop_1 = u_xlatu3 ; u_xlatu_loop_1> 2) + 0]; u_xlatu7 = u_xlatu42 >> 16u; u_xlat7.x = float(u_xlatu7); u_xlat7.x = u_xlat7.x * 1.52590219e-05; u_xlati42 = int(u_xlatu42 & 65535u); u_xlat20.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati42].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(0 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati42].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(16 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati42].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati42].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati42].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat20.x; u_xlat11.y = u_xlat8.x; u_xlat11.z = u_xlat9.x; u_xlat11.w = u_xlat10.x; u_xlat12.x = u_xlat20.y; u_xlat12.y = u_xlat8.y; u_xlat12.z = u_xlat9.y; u_xlat12.w = u_xlat10.y; u_xlat10.x = u_xlat20.z; u_xlat10.y = u_xlat8.z; u_xlat10.z = u_xlat9.z; u_xlat4 = u_xlat11 * u_xlat7.xxxx + u_xlat4; u_xlat5 = u_xlat12 * u_xlat7.xxxx + u_xlat5; u_xlat6 = u_xlat10 * u_xlat7.xxxx + u_xlat6; } u_xlat3.xyz = u_xlat0.yzw; u_xlat3.w = 1.0; u_xlat7.x = dot(u_xlat4, u_xlat3); u_xlat7.y = dot(u_xlat5, u_xlat3); u_xlat7.z = dot(u_xlat6, u_xlat3); u_xlat0.yz = u_xlat1.xy; u_xlat7.w = dot(u_xlat4.xyz, u_xlat0.xyz); u_xlat3.x = dot(u_xlat5.xyz, u_xlat0.xyz); u_xlat3.y = dot(u_xlat6.xyz, u_xlat0.xyz); u_xlat2.zw = u_xlat1.zw; u_xlat3.z = dot(u_xlat4.zxy, u_xlat2.xzw); u_xlat3.w = dot(u_xlat5.zxy, u_xlat2.xzw); u_xlat2.x = dot(u_xlat6.zxy, u_xlat2.xzw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat7.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat7.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat7.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = uint(floatBitsToUint(u_xlat7.w)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = uint(floatBitsToUint(u_xlat3.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = uint(floatBitsToUint(u_xlat3.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = uint(floatBitsToUint(u_xlat3.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3] = uint(floatBitsToUint(u_xlat3.w)); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2)] = uint(floatBitsToUint(u_xlat2.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1] = uint(floatBitsToUint(u_xlat2.y)); return; } @main$Globals inVerticesinSkin inMatrices outVertices #version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[3] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[3] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; int u_xlati1; vec3 u_xlat2; vec3 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec3 u_xlat8; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlati1 = int(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati1].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(0 >> 2) + 2])); u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati1].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(16 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati1].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(32 >> 2) + 2])); u_xlat4.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati1].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati1].value[(48 >> 2) + 2])); u_xlat5.x = u_xlat8.x; u_xlat5.y = u_xlat2.x; u_xlat5.z = u_xlat3.x; u_xlat5.w = u_xlat4.x; u_xlat0.w = 1.0; u_xlat5.x = dot(u_xlat5, u_xlat0); u_xlat6.x = u_xlat8.y; u_xlat6.y = u_xlat2.y; u_xlat6.z = u_xlat3.y; u_xlat6.w = u_xlat4.y; u_xlat5.y = dot(u_xlat6, u_xlat0); u_xlat4.x = u_xlat8.z; u_xlat4.y = u_xlat2.z; u_xlat4.z = u_xlat3.z; u_xlat5.z = dot(u_xlat4, u_xlat0); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat5.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat5.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat5.z)); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[6] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[6] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec3 u_xlat1; vec3 u_xlat2; vec3 u_xlat3; vec3 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; int u_xlati31; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1])); u_xlati31 = int(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]); u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati31].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati31].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(16 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati31].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(32 >> 2) + 2])); u_xlat5.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati31].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati31].value[(48 >> 2) + 2])); u_xlat6.x = u_xlat2.x; u_xlat6.y = u_xlat3.x; u_xlat6.z = u_xlat4.x; u_xlat6.w = u_xlat5.x; u_xlat7.xyz = u_xlat0.xyz; u_xlat7.w = 1.0; u_xlat8.x = dot(u_xlat6, u_xlat7); u_xlat9.x = u_xlat2.y; u_xlat9.y = u_xlat3.y; u_xlat9.z = u_xlat4.y; u_xlat9.w = u_xlat5.y; u_xlat8.y = dot(u_xlat9, u_xlat7); u_xlat5.x = u_xlat2.z; u_xlat5.y = u_xlat3.z; u_xlat5.z = u_xlat4.z; u_xlat8.z = dot(u_xlat5, u_xlat7); u_xlat1.z = u_xlat0.w; u_xlat8.w = dot(u_xlat6.yzx, u_xlat1.xyz); u_xlat0.x = dot(u_xlat9.yzx, u_xlat1.xyz); u_xlat0.y = dot(u_xlat5.yzx, u_xlat1.xyz); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat8.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat8.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat8.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = uint(floatBitsToUint(u_xlat8.w)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = uint(floatBitsToUint(u_xlat0.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = uint(floatBitsToUint(u_xlat0.y)); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[7] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[7] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; int u_xlati2; vec3 u_xlat3; vec3 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec3 u_xlat12; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2])); u_xlati2 = int(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]); u_xlat12.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(16 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(32 >> 2) + 2])); u_xlat5.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2].value[(48 >> 2) + 2])); u_xlat6.x = u_xlat12.x; u_xlat6.y = u_xlat3.x; u_xlat6.z = u_xlat4.x; u_xlat6.w = u_xlat5.x; u_xlat7.xyz = u_xlat0.xyz; u_xlat7.w = 1.0; u_xlat8.x = dot(u_xlat6, u_xlat7); u_xlat9.x = u_xlat12.y; u_xlat9.y = u_xlat3.y; u_xlat9.z = u_xlat4.y; u_xlat9.w = u_xlat5.y; u_xlat8.y = dot(u_xlat9, u_xlat7); u_xlat5.x = u_xlat12.z; u_xlat5.y = u_xlat3.z; u_xlat5.z = u_xlat4.z; u_xlat8.z = dot(u_xlat5, u_xlat7); u_xlat1.w = u_xlat0.w; u_xlat8.w = dot(u_xlat6.yzx, u_xlat1.xyw); u_xlat0.x = dot(u_xlat9.yzx, u_xlat1.xyw); u_xlat0.y = dot(u_xlat5.yzx, u_xlat1.xyw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat8.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat8.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat8.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = uint(floatBitsToUint(u_xlat8.w)); u_xlat0.z = u_xlat1.z; outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = uint(floatBitsToUint(u_xlat0.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = uint(floatBitsToUint(u_xlat0.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = uint(floatBitsToUint(u_xlat0.z)); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[10] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[1] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[10] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; int u_xlati3; vec3 u_xlat4; vec3 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec3 u_xlat14; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlat1 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat2.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1])); u_xlati3 = int(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]); u_xlat14.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(32 >> 2) + 2])); u_xlat6.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3].value[(48 >> 2) + 2])); u_xlat7.x = u_xlat14.x; u_xlat7.y = u_xlat4.x; u_xlat7.z = u_xlat5.x; u_xlat7.w = u_xlat6.x; u_xlat8.xyz = u_xlat0.yzw; u_xlat8.w = 1.0; u_xlat9.x = dot(u_xlat7, u_xlat8); u_xlat10.x = u_xlat14.y; u_xlat10.y = u_xlat4.y; u_xlat10.z = u_xlat5.y; u_xlat10.w = u_xlat6.y; u_xlat9.y = dot(u_xlat10, u_xlat8); u_xlat6.x = u_xlat14.z; u_xlat6.y = u_xlat4.z; u_xlat6.z = u_xlat5.z; u_xlat9.z = dot(u_xlat6, u_xlat8); u_xlat0.yz = u_xlat1.xy; u_xlat9.w = dot(u_xlat7.xyz, u_xlat0.xyz); u_xlat3.x = dot(u_xlat10.xyz, u_xlat0.xyz); u_xlat3.y = dot(u_xlat6.xyz, u_xlat0.xyz); u_xlat2.zw = u_xlat1.zw; u_xlat3.z = dot(u_xlat7.zxy, u_xlat2.xzw); u_xlat3.w = dot(u_xlat10.zxy, u_xlat2.xzw); u_xlat2.x = dot(u_xlat6.zxy, u_xlat2.xzw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat9.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat9.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat9.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = uint(floatBitsToUint(u_xlat9.w)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = uint(floatBitsToUint(u_xlat3.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = uint(floatBitsToUint(u_xlat3.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = uint(floatBitsToUint(u_xlat3.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3] = uint(floatBitsToUint(u_xlat3.w)); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2)] = uint(floatBitsToUint(u_xlat2.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1] = uint(floatBitsToUint(u_xlat2.y)); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[3] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[4] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[3] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlat1 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(16 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(32 >> 2) + 2])); u_xlat5.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.z)].value[(48 >> 2) + 2])); u_xlat6.x = u_xlat2.x; u_xlat6.y = u_xlat3.x; u_xlat6.z = u_xlat4.x; u_xlat6.w = u_xlat5.x; u_xlat7.x = u_xlat2.y; u_xlat7.y = u_xlat3.y; u_xlat7.z = u_xlat4.y; u_xlat7.w = u_xlat5.y; u_xlat5.x = u_xlat2.z; u_xlat5.y = u_xlat3.z; u_xlat5.z = u_xlat4.z; u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(16 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat1.w)].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat2.x; u_xlat9.y = u_xlat3.x; u_xlat9.z = u_xlat4.x; u_xlat9.w = u_xlat8.x; u_xlat9 = u_xlat1.yyyy * u_xlat9; u_xlat10.x = u_xlat2.y; u_xlat10.y = u_xlat3.y; u_xlat10.z = u_xlat4.y; u_xlat10.w = u_xlat8.y; u_xlat10 = u_xlat1.yyyy * u_xlat10; u_xlat8.x = u_xlat2.z; u_xlat8.y = u_xlat3.z; u_xlat8.z = u_xlat4.z; u_xlat2 = u_xlat1.yyyy * u_xlat8; u_xlat3 = u_xlat6 * u_xlat1.xxxx + u_xlat9; u_xlat4 = u_xlat7 * u_xlat1.xxxx + u_xlat10; u_xlat1 = u_xlat5 * u_xlat1.xxxx + u_xlat2; u_xlat0.w = 1.0; u_xlat2.x = dot(u_xlat3, u_xlat0); u_xlat2.y = dot(u_xlat4, u_xlat0); u_xlat2.z = dot(u_xlat1, u_xlat0); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat2.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat2.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat2.z)); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[6] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[4] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[6] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec3 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1])); u_xlat2 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 2])); u_xlat6.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 2])); u_xlat7.x = u_xlat3.x; u_xlat7.y = u_xlat4.x; u_xlat7.z = u_xlat5.x; u_xlat7.w = u_xlat6.x; u_xlat8.x = u_xlat3.y; u_xlat8.y = u_xlat4.y; u_xlat8.z = u_xlat5.y; u_xlat8.w = u_xlat6.y; u_xlat6.x = u_xlat3.z; u_xlat6.y = u_xlat4.z; u_xlat6.z = u_xlat5.z; u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat3.x; u_xlat10.y = u_xlat4.x; u_xlat10.z = u_xlat5.x; u_xlat10.w = u_xlat9.x; u_xlat10 = u_xlat2.yyyy * u_xlat10; u_xlat11.x = u_xlat3.y; u_xlat11.y = u_xlat4.y; u_xlat11.z = u_xlat5.y; u_xlat11.w = u_xlat9.y; u_xlat11 = u_xlat2.yyyy * u_xlat11; u_xlat9.x = u_xlat3.z; u_xlat9.y = u_xlat4.z; u_xlat9.z = u_xlat5.z; u_xlat3 = u_xlat2.yyyy * u_xlat9; u_xlat4 = u_xlat7 * u_xlat2.xxxx + u_xlat10; u_xlat5 = u_xlat8 * u_xlat2.xxxx + u_xlat11; u_xlat2 = u_xlat6 * u_xlat2.xxxx + u_xlat3; u_xlat3.xyz = u_xlat0.xyz; u_xlat3.w = 1.0; u_xlat6.x = dot(u_xlat4, u_xlat3); u_xlat6.y = dot(u_xlat5, u_xlat3); u_xlat6.z = dot(u_xlat2, u_xlat3); u_xlat1.z = u_xlat0.w; u_xlat6.w = dot(u_xlat4.yzx, u_xlat1.xyz); u_xlat0.x = dot(u_xlat5.yzx, u_xlat1.xyz); u_xlat0.y = dot(u_xlat2.yzx, u_xlat1.xyz); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat6.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat6.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat6.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = uint(floatBitsToUint(u_xlat6.w)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = uint(floatBitsToUint(u_xlat0.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = uint(floatBitsToUint(u_xlat0.y)); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[7] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[4] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[7] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2])); u_xlat2 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 2])); u_xlat6.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 2])); u_xlat7.x = u_xlat3.x; u_xlat7.y = u_xlat4.x; u_xlat7.z = u_xlat5.x; u_xlat7.w = u_xlat6.x; u_xlat8.x = u_xlat3.y; u_xlat8.y = u_xlat4.y; u_xlat8.z = u_xlat5.y; u_xlat8.w = u_xlat6.y; u_xlat6.x = u_xlat3.z; u_xlat6.y = u_xlat4.z; u_xlat6.z = u_xlat5.z; u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat3.x; u_xlat10.y = u_xlat4.x; u_xlat10.z = u_xlat5.x; u_xlat10.w = u_xlat9.x; u_xlat10 = u_xlat2.yyyy * u_xlat10; u_xlat11.x = u_xlat3.y; u_xlat11.y = u_xlat4.y; u_xlat11.z = u_xlat5.y; u_xlat11.w = u_xlat9.y; u_xlat11 = u_xlat2.yyyy * u_xlat11; u_xlat9.x = u_xlat3.z; u_xlat9.y = u_xlat4.z; u_xlat9.z = u_xlat5.z; u_xlat3 = u_xlat2.yyyy * u_xlat9; u_xlat4 = u_xlat7 * u_xlat2.xxxx + u_xlat10; u_xlat5 = u_xlat8 * u_xlat2.xxxx + u_xlat11; u_xlat2 = u_xlat6 * u_xlat2.xxxx + u_xlat3; u_xlat3.xyz = u_xlat0.xyz; u_xlat3.w = 1.0; u_xlat6.x = dot(u_xlat4, u_xlat3); u_xlat6.y = dot(u_xlat5, u_xlat3); u_xlat6.z = dot(u_xlat2, u_xlat3); u_xlat1.w = u_xlat0.w; u_xlat6.w = dot(u_xlat4.yzx, u_xlat1.xyw); u_xlat0.x = dot(u_xlat5.yzx, u_xlat1.xyw); u_xlat0.y = dot(u_xlat2.yzx, u_xlat1.xyw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat6.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat6.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat6.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = uint(floatBitsToUint(u_xlat6.w)); u_xlat0.z = u_xlat1.z; outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = uint(floatBitsToUint(u_xlat0.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = uint(floatBitsToUint(u_xlat0.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = uint(floatBitsToUint(u_xlat0.z)); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[10] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[4] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[10] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlat1 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat2.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1])); u_xlat3 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat4.x; u_xlat8.y = u_xlat5.x; u_xlat8.z = u_xlat6.x; u_xlat8.w = u_xlat7.x; u_xlat9.x = u_xlat4.y; u_xlat9.y = u_xlat5.y; u_xlat9.z = u_xlat6.y; u_xlat9.w = u_xlat7.y; u_xlat7.x = u_xlat4.z; u_xlat7.y = u_xlat5.z; u_xlat7.z = u_xlat6.z; u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat4.x; u_xlat11.y = u_xlat5.x; u_xlat11.z = u_xlat6.x; u_xlat11.w = u_xlat10.x; u_xlat11 = u_xlat3.yyyy * u_xlat11; u_xlat12.x = u_xlat4.y; u_xlat12.y = u_xlat5.y; u_xlat12.z = u_xlat6.y; u_xlat12.w = u_xlat10.y; u_xlat12 = u_xlat3.yyyy * u_xlat12; u_xlat10.x = u_xlat4.z; u_xlat10.y = u_xlat5.z; u_xlat10.z = u_xlat6.z; u_xlat4 = u_xlat3.yyyy * u_xlat10; u_xlat5 = u_xlat8 * u_xlat3.xxxx + u_xlat11; u_xlat6 = u_xlat9 * u_xlat3.xxxx + u_xlat12; u_xlat3 = u_xlat7 * u_xlat3.xxxx + u_xlat4; u_xlat4.xyz = u_xlat0.yzw; u_xlat4.w = 1.0; u_xlat7.x = dot(u_xlat5, u_xlat4); u_xlat7.y = dot(u_xlat6, u_xlat4); u_xlat7.z = dot(u_xlat3, u_xlat4); u_xlat0.yz = u_xlat1.xy; u_xlat7.w = dot(u_xlat5.xyz, u_xlat0.xyz); u_xlat4.x = dot(u_xlat6.xyz, u_xlat0.xyz); u_xlat4.y = dot(u_xlat3.xyz, u_xlat0.xyz); u_xlat2.zw = u_xlat1.zw; u_xlat4.z = dot(u_xlat5.zxy, u_xlat2.xzw); u_xlat4.w = dot(u_xlat6.zxy, u_xlat2.xzw); u_xlat2.x = dot(u_xlat3.zxy, u_xlat2.xzw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat7.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat7.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat7.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = uint(floatBitsToUint(u_xlat7.w)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = uint(floatBitsToUint(u_xlat4.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = uint(floatBitsToUint(u_xlat4.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = uint(floatBitsToUint(u_xlat4.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3] = uint(floatBitsToUint(u_xlat4.w)); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2)] = uint(floatBitsToUint(u_xlat2.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1] = uint(floatBitsToUint(u_xlat2.y)); return; } @main$Globals inVerticesinSkin inMatrices outVertices3#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[3] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[8] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[3] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; ivec4 u_xlati2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlat1 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlati2 = ivec4(int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(32 >> 2) + 2])); u_xlat6.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.x].value[(48 >> 2) + 2])); u_xlat7.x = u_xlat3.x; u_xlat7.y = u_xlat4.x; u_xlat7.z = u_xlat5.x; u_xlat7.w = u_xlat6.x; u_xlat8.x = u_xlat3.y; u_xlat8.y = u_xlat4.y; u_xlat8.z = u_xlat5.y; u_xlat8.w = u_xlat6.y; u_xlat6.x = u_xlat3.z; u_xlat6.y = u_xlat4.z; u_xlat6.z = u_xlat5.z; u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.y].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat3.x; u_xlat10.y = u_xlat4.x; u_xlat10.z = u_xlat5.x; u_xlat10.w = u_xlat9.x; u_xlat10 = u_xlat1.yyyy * u_xlat10; u_xlat11.x = u_xlat3.y; u_xlat11.y = u_xlat4.y; u_xlat11.z = u_xlat5.y; u_xlat11.w = u_xlat9.y; u_xlat11 = u_xlat1.yyyy * u_xlat11; u_xlat9.x = u_xlat3.z; u_xlat9.y = u_xlat4.z; u_xlat9.z = u_xlat5.z; u_xlat3 = u_xlat1.yyyy * u_xlat9; u_xlat4 = u_xlat7 * u_xlat1.xxxx + u_xlat10; u_xlat5 = u_xlat8 * u_xlat1.xxxx + u_xlat11; u_xlat3 = u_xlat6 * u_xlat1.xxxx + u_xlat3; u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(0 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.z].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat6.x; u_xlat10.y = u_xlat7.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat6.y; u_xlat11.y = u_xlat7.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat6.z; u_xlat9.y = u_xlat7.z; u_xlat9.z = u_xlat8.z; u_xlat4 = u_xlat10 * u_xlat1.zzzz + u_xlat4; u_xlat5 = u_xlat11 * u_xlat1.zzzz + u_xlat5; u_xlat3 = u_xlat9 * u_xlat1.zzzz + u_xlat3; u_xlat1.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(0 >> 2) + 2])); u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati2.w].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat1.x; u_xlat8.y = u_xlat2.x; u_xlat8.z = u_xlat6.x; u_xlat8.w = u_xlat7.x; u_xlat9.x = u_xlat1.y; u_xlat9.y = u_xlat2.y; u_xlat9.z = u_xlat6.y; u_xlat9.w = u_xlat7.y; u_xlat7.x = u_xlat1.z; u_xlat7.y = u_xlat2.z; u_xlat7.z = u_xlat6.z; u_xlat2 = u_xlat8 * u_xlat1.wwww + u_xlat4; u_xlat4 = u_xlat9 * u_xlat1.wwww + u_xlat5; u_xlat1 = u_xlat7 * u_xlat1.wwww + u_xlat3; u_xlat0.w = 1.0; u_xlat2.x = dot(u_xlat2, u_xlat0); u_xlat2.y = dot(u_xlat4, u_xlat0); u_xlat2.z = dot(u_xlat1, u_xlat0); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat2.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat2.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat2.z)); return; } @main$Globals inVerticesinSkin inMatrices outVerticesH"#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[6] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[8] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[6] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec3 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; ivec4 u_xlati3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1])); u_xlat2 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlati3 = ivec4(int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat4.x; u_xlat8.y = u_xlat5.x; u_xlat8.z = u_xlat6.x; u_xlat8.w = u_xlat7.x; u_xlat9.x = u_xlat4.y; u_xlat9.y = u_xlat5.y; u_xlat9.z = u_xlat6.y; u_xlat9.w = u_xlat7.y; u_xlat7.x = u_xlat4.z; u_xlat7.y = u_xlat5.z; u_xlat7.z = u_xlat6.z; u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat4.x; u_xlat11.y = u_xlat5.x; u_xlat11.z = u_xlat6.x; u_xlat11.w = u_xlat10.x; u_xlat11 = u_xlat2.yyyy * u_xlat11; u_xlat12.x = u_xlat4.y; u_xlat12.y = u_xlat5.y; u_xlat12.z = u_xlat6.y; u_xlat12.w = u_xlat10.y; u_xlat12 = u_xlat2.yyyy * u_xlat12; u_xlat10.x = u_xlat4.z; u_xlat10.y = u_xlat5.z; u_xlat10.z = u_xlat6.z; u_xlat4 = u_xlat2.yyyy * u_xlat10; u_xlat5 = u_xlat8 * u_xlat2.xxxx + u_xlat11; u_xlat6 = u_xlat9 * u_xlat2.xxxx + u_xlat12; u_xlat4 = u_xlat7 * u_xlat2.xxxx + u_xlat4; u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(0 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(16 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat7.x; u_xlat11.y = u_xlat8.x; u_xlat11.z = u_xlat9.x; u_xlat11.w = u_xlat10.x; u_xlat12.x = u_xlat7.y; u_xlat12.y = u_xlat8.y; u_xlat12.z = u_xlat9.y; u_xlat12.w = u_xlat10.y; u_xlat10.x = u_xlat7.z; u_xlat10.y = u_xlat8.z; u_xlat10.z = u_xlat9.z; u_xlat5 = u_xlat11 * u_xlat2.zzzz + u_xlat5; u_xlat6 = u_xlat12 * u_xlat2.zzzz + u_xlat6; u_xlat4 = u_xlat10 * u_xlat2.zzzz + u_xlat4; u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat2.x; u_xlat9.y = u_xlat3.x; u_xlat9.z = u_xlat7.x; u_xlat9.w = u_xlat8.x; u_xlat10.x = u_xlat2.y; u_xlat10.y = u_xlat3.y; u_xlat10.z = u_xlat7.y; u_xlat10.w = u_xlat8.y; u_xlat8.x = u_xlat2.z; u_xlat8.y = u_xlat3.z; u_xlat8.z = u_xlat7.z; u_xlat3 = u_xlat9 * u_xlat2.wwww + u_xlat5; u_xlat5 = u_xlat10 * u_xlat2.wwww + u_xlat6; u_xlat2 = u_xlat8 * u_xlat2.wwww + u_xlat4; u_xlat4.xyz = u_xlat0.xyz; u_xlat4.w = 1.0; u_xlat6.x = dot(u_xlat3, u_xlat4); u_xlat6.y = dot(u_xlat5, u_xlat4); u_xlat6.z = dot(u_xlat2, u_xlat4); u_xlat1.z = u_xlat0.w; u_xlat6.w = dot(u_xlat3.yzx, u_xlat1.xyz); u_xlat0.x = dot(u_xlat5.yzx, u_xlat1.xyz); u_xlat0.y = dot(u_xlat2.yzx, u_xlat1.xyz); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat6.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat6.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat6.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = uint(floatBitsToUint(u_xlat6.w)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = uint(floatBitsToUint(u_xlat0.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = uint(floatBitsToUint(u_xlat0.y)); return; } @main$Globals inVerticesinSkin inMatrices outVertices##version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[7] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[8] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[7] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; ivec4 u_xlati3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2])); u_xlat2 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlati3 = ivec4(int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.x].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat4.x; u_xlat8.y = u_xlat5.x; u_xlat8.z = u_xlat6.x; u_xlat8.w = u_xlat7.x; u_xlat9.x = u_xlat4.y; u_xlat9.y = u_xlat5.y; u_xlat9.z = u_xlat6.y; u_xlat9.w = u_xlat7.y; u_xlat7.x = u_xlat4.z; u_xlat7.y = u_xlat5.z; u_xlat7.z = u_xlat6.z; u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.y].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat4.x; u_xlat11.y = u_xlat5.x; u_xlat11.z = u_xlat6.x; u_xlat11.w = u_xlat10.x; u_xlat11 = u_xlat2.yyyy * u_xlat11; u_xlat12.x = u_xlat4.y; u_xlat12.y = u_xlat5.y; u_xlat12.z = u_xlat6.y; u_xlat12.w = u_xlat10.y; u_xlat12 = u_xlat2.yyyy * u_xlat12; u_xlat10.x = u_xlat4.z; u_xlat10.y = u_xlat5.z; u_xlat10.z = u_xlat6.z; u_xlat4 = u_xlat2.yyyy * u_xlat10; u_xlat5 = u_xlat8 * u_xlat2.xxxx + u_xlat11; u_xlat6 = u_xlat9 * u_xlat2.xxxx + u_xlat12; u_xlat4 = u_xlat7 * u_xlat2.xxxx + u_xlat4; u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(0 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(16 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.z].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat7.x; u_xlat11.y = u_xlat8.x; u_xlat11.z = u_xlat9.x; u_xlat11.w = u_xlat10.x; u_xlat12.x = u_xlat7.y; u_xlat12.y = u_xlat8.y; u_xlat12.z = u_xlat9.y; u_xlat12.w = u_xlat10.y; u_xlat10.x = u_xlat7.z; u_xlat10.y = u_xlat8.z; u_xlat10.z = u_xlat9.z; u_xlat5 = u_xlat11 * u_xlat2.zzzz + u_xlat5; u_xlat6 = u_xlat12 * u_xlat2.zzzz + u_xlat6; u_xlat4 = u_xlat10 * u_xlat2.zzzz + u_xlat4; u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati3.w].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat2.x; u_xlat9.y = u_xlat3.x; u_xlat9.z = u_xlat7.x; u_xlat9.w = u_xlat8.x; u_xlat10.x = u_xlat2.y; u_xlat10.y = u_xlat3.y; u_xlat10.z = u_xlat7.y; u_xlat10.w = u_xlat8.y; u_xlat8.x = u_xlat2.z; u_xlat8.y = u_xlat3.z; u_xlat8.z = u_xlat7.z; u_xlat3 = u_xlat9 * u_xlat2.wwww + u_xlat5; u_xlat5 = u_xlat10 * u_xlat2.wwww + u_xlat6; u_xlat2 = u_xlat8 * u_xlat2.wwww + u_xlat4; u_xlat4.xyz = u_xlat0.xyz; u_xlat4.w = 1.0; u_xlat6.x = dot(u_xlat3, u_xlat4); u_xlat6.y = dot(u_xlat5, u_xlat4); u_xlat6.z = dot(u_xlat2, u_xlat4); u_xlat1.w = u_xlat0.w; u_xlat6.w = dot(u_xlat3.yzx, u_xlat1.xyw); u_xlat0.x = dot(u_xlat5.yzx, u_xlat1.xyw); u_xlat0.y = dot(u_xlat2.yzx, u_xlat1.xyw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat6.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat6.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat6.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = uint(floatBitsToUint(u_xlat6.w)); u_xlat0.z = u_xlat1.z; outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = uint(floatBitsToUint(u_xlat0.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = uint(floatBitsToUint(u_xlat0.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = uint(floatBitsToUint(u_xlat0.z)); return; } @main$Globals inVerticesinSkin inMatrices outVertices%#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; struct inVertices_type { uint[10] value; }; layout(std430, binding = 1) readonly buffer inVertices { inVertices_type inVertices_buf[]; }; struct inSkin_type { uint[8] value; }; layout(std430, binding = 2) readonly buffer inSkin { inSkin_type inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; struct outVertices_type { uint[10] value; }; layout(std430, binding = 0) buffer outVertices { outVertices_type outVertices_buf[]; }; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; ivec4 u_xlati4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; vec4 u_xlat13; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlat0 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2])); u_xlat1 = vec4(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat2.xy = vec2(uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 0]), uintBitsToFloat(inVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1])); u_xlat3 = vec4(uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 0]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2]), uintBitsToFloat(inSkin_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3])); u_xlati4 = ivec4(int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 0]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2]), int(inSkin_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.x].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat5.x; u_xlat9.y = u_xlat6.x; u_xlat9.z = u_xlat7.x; u_xlat9.w = u_xlat8.x; u_xlat10.x = u_xlat5.y; u_xlat10.y = u_xlat6.y; u_xlat10.z = u_xlat7.y; u_xlat10.w = u_xlat8.y; u_xlat8.x = u_xlat5.z; u_xlat8.y = u_xlat6.z; u_xlat8.z = u_xlat7.z; u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.y].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat5.x; u_xlat12.y = u_xlat6.x; u_xlat12.z = u_xlat7.x; u_xlat12.w = u_xlat11.x; u_xlat12 = u_xlat3.yyyy * u_xlat12; u_xlat13.x = u_xlat5.y; u_xlat13.y = u_xlat6.y; u_xlat13.z = u_xlat7.y; u_xlat13.w = u_xlat11.y; u_xlat13 = u_xlat3.yyyy * u_xlat13; u_xlat11.x = u_xlat5.z; u_xlat11.y = u_xlat6.z; u_xlat11.z = u_xlat7.z; u_xlat5 = u_xlat3.yyyy * u_xlat11; u_xlat6 = u_xlat9 * u_xlat3.xxxx + u_xlat12; u_xlat7 = u_xlat10 * u_xlat3.xxxx + u_xlat13; u_xlat5 = u_xlat8 * u_xlat3.xxxx + u_xlat5; u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(0 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(16 >> 2) + 2])); u_xlat10.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.z].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat8.x; u_xlat12.y = u_xlat9.x; u_xlat12.z = u_xlat10.x; u_xlat12.w = u_xlat11.x; u_xlat13.x = u_xlat8.y; u_xlat13.y = u_xlat9.y; u_xlat13.z = u_xlat10.y; u_xlat13.w = u_xlat11.y; u_xlat11.x = u_xlat8.z; u_xlat11.y = u_xlat9.z; u_xlat11.z = u_xlat10.z; u_xlat6 = u_xlat12 * u_xlat3.zzzz + u_xlat6; u_xlat7 = u_xlat13 * u_xlat3.zzzz + u_xlat7; u_xlat5 = u_xlat11 * u_xlat3.zzzz + u_xlat5; u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati4.w].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat3.x; u_xlat10.y = u_xlat4.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat3.y; u_xlat11.y = u_xlat4.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat3.z; u_xlat9.y = u_xlat4.z; u_xlat9.z = u_xlat8.z; u_xlat4 = u_xlat10 * u_xlat3.wwww + u_xlat6; u_xlat6 = u_xlat11 * u_xlat3.wwww + u_xlat7; u_xlat3 = u_xlat9 * u_xlat3.wwww + u_xlat5; u_xlat5.xyz = u_xlat0.yzw; u_xlat5.w = 1.0; u_xlat7.x = dot(u_xlat4, u_xlat5); u_xlat7.y = dot(u_xlat6, u_xlat5); u_xlat7.z = dot(u_xlat3, u_xlat5); u_xlat0.yz = u_xlat1.xy; u_xlat7.w = dot(u_xlat4.xyz, u_xlat0.xyz); u_xlat5.x = dot(u_xlat6.xyz, u_xlat0.xyz); u_xlat5.y = dot(u_xlat3.xyz, u_xlat0.xyz); u_xlat2.zw = u_xlat1.zw; u_xlat5.z = dot(u_xlat4.zxy, u_xlat2.xzw); u_xlat5.w = dot(u_xlat6.zxy, u_xlat2.xzw); u_xlat2.x = dot(u_xlat3.zxy, u_xlat2.xzw); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat7.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat7.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat7.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(0 >> 2) + 3] = uint(floatBitsToUint(u_xlat7.w)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2)] = uint(floatBitsToUint(u_xlat5.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 1] = uint(floatBitsToUint(u_xlat5.y)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 2] = uint(floatBitsToUint(u_xlat5.z)); outVertices_buf[gl_GlobalInvocationID.x].value[(16 >> 2) + 3] = uint(floatBitsToUint(u_xlat5.w)); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2)] = uint(floatBitsToUint(u_xlat2.x)); outVertices_buf[gl_GlobalInvocationID.x].value[(32 >> 2) + 1] = uint(floatBitsToUint(u_xlat2.y)); return; } @main$Globals inVerticesinSkin inMatrices outVertices'#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; float u_xlat5; int u_xlati5; bool u_xlatb5; vec3 u_xlat6; vec3 u_xlat7; vec3 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec2 u_xlat12; int u_xlati12; float u_xlat17; uint u_xlatu17; float u_xlat36; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati12 = int(gl_GlobalInvocationID.x) << 2; u_xlat12.xy = vec2(uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 1])); u_xlat2.x = float(0.0); u_xlat2.y = float(0.0); u_xlat2.z = float(0.0); u_xlat2.w = float(0.0); u_xlat3.x = float(0.0); u_xlat3.y = float(0.0); u_xlat3.z = float(0.0); u_xlat3.w = float(0.0); u_xlat4.x = float(0.0); u_xlat4.y = float(0.0); u_xlat4.z = float(0.0); u_xlat4.w = float(0.0); u_xlat36 = u_xlat12.x; while(true){ u_xlatb5 = uint(floatBitsToUint(u_xlat36))>=uint(floatBitsToUint(u_xlat12.y)); if(u_xlatb5){break;} u_xlati5 = floatBitsToInt(u_xlat36) << 2; u_xlat5 = uintBitsToFloat(inSkin_buf[(u_xlati5 >> 2) + 0]); u_xlatu17 = uint(floatBitsToUint(u_xlat5)) >> 16u; u_xlat17 = float(u_xlatu17); u_xlat17 = u_xlat17 * 1.52590219e-05; u_xlati5 = int(uint(floatBitsToUint(u_xlat5)) & 65535u); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati5].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(0 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati5].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati5].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati5].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati5].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat6.x; u_xlat10.y = u_xlat7.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat6.y; u_xlat11.y = u_xlat7.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat6.z; u_xlat9.y = u_xlat7.z; u_xlat9.z = u_xlat8.z; u_xlat2 = u_xlat10 * vec4(u_xlat17) + u_xlat2; u_xlat3 = u_xlat11 * vec4(u_xlat17) + u_xlat3; u_xlat4 = u_xlat9 * vec4(u_xlat17) + u_xlat4; u_xlat36 = intBitsToFloat(floatBitsToInt(u_xlat36) + 1); } u_xlat1.w = 1.0; u_xlat2.x = dot(u_xlat2, u_xlat1); u_xlat2.y = dot(u_xlat3, u_xlat1); u_xlat2.z = dot(u_xlat4, u_xlat1); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat2.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat2.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat2.z)); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec3 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec3 u_xlat6; int u_xlati6; bool u_xlatb6; vec3 u_xlat7; vec3 u_xlat8; vec3 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; int u_xlati13; float u_xlat19; uint u_xlatu19; vec2 u_xlat26; int u_xlati26; float u_xlat41; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 24; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati13 = int(gl_GlobalInvocationID.x) * 24 + 12; u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 2])); u_xlati26 = int(gl_GlobalInvocationID.x) << 2; u_xlat26.xy = vec2(uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 1])); u_xlat3.x = float(0.0); u_xlat3.y = float(0.0); u_xlat3.z = float(0.0); u_xlat3.w = float(0.0); u_xlat4.x = float(0.0); u_xlat4.y = float(0.0); u_xlat4.z = float(0.0); u_xlat4.w = float(0.0); u_xlat5.x = float(0.0); u_xlat5.y = float(0.0); u_xlat5.z = float(0.0); u_xlat5.w = float(0.0); u_xlat41 = u_xlat26.x; while(true){ u_xlatb6 = uint(floatBitsToUint(u_xlat41))>=uint(floatBitsToUint(u_xlat26.y)); if(u_xlatb6){break;} u_xlati6 = floatBitsToInt(u_xlat41) << 2; u_xlat6.x = uintBitsToFloat(inSkin_buf[(u_xlati6 >> 2) + 0]); u_xlatu19 = uint(floatBitsToUint(u_xlat6.x)) >> 16u; u_xlat19 = float(u_xlatu19); u_xlat19 = u_xlat19 * 1.52590219e-05; u_xlati6 = int(uint(floatBitsToUint(u_xlat6.x)) & 65535u); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati6].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(0 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati6].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(16 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati6].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati6].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati6].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat7.x; u_xlat11.y = u_xlat8.x; u_xlat11.z = u_xlat9.x; u_xlat11.w = u_xlat10.x; u_xlat12.x = u_xlat7.y; u_xlat12.y = u_xlat8.y; u_xlat12.z = u_xlat9.y; u_xlat12.w = u_xlat10.y; u_xlat10.x = u_xlat7.z; u_xlat10.y = u_xlat8.z; u_xlat10.z = u_xlat9.z; u_xlat3 = u_xlat11 * vec4(u_xlat19) + u_xlat3; u_xlat4 = u_xlat12 * vec4(u_xlat19) + u_xlat4; u_xlat5 = u_xlat10 * vec4(u_xlat19) + u_xlat5; u_xlat41 = intBitsToFloat(floatBitsToInt(u_xlat41) + 1); } u_xlat1.w = 1.0; u_xlat6.x = dot(u_xlat3, u_xlat1); u_xlat6.y = dot(u_xlat4, u_xlat1); u_xlat6.z = dot(u_xlat5, u_xlat1); u_xlat1.x = dot(u_xlat3.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat4.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat5.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat6.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat6.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat6.z)); outVertices_buf[(u_xlati13 >> 2)] = uint(floatBitsToUint(u_xlat1.x)); outVertices_buf[(u_xlati13 >> 2) + 1] = uint(floatBitsToUint(u_xlat1.y)); outVertices_buf[(u_xlati13 >> 2) + 2] = uint(floatBitsToUint(u_xlat1.z)); return; } @main$Globals inVerticesinSkin inMatrices outVerticesj#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec3 u_xlat6; vec3 u_xlat7; vec3 u_xlat8; vec3 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; int u_xlati13; float u_xlat19; int u_xlati19; bool u_xlatb19; vec2 u_xlat26; int u_xlati26; float u_xlat32; uint u_xlatu32; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati13 = int(gl_GlobalInvocationID.x) * 12 + 12; u_xlat2 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 3])); u_xlati26 = int(gl_GlobalInvocationID.x) << 2; u_xlat26.xy = vec2(uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 1])); u_xlat3.x = float(0.0); u_xlat3.y = float(0.0); u_xlat3.z = float(0.0); u_xlat3.w = float(0.0); u_xlat4.x = float(0.0); u_xlat4.y = float(0.0); u_xlat4.z = float(0.0); u_xlat4.w = float(0.0); u_xlat5.x = float(0.0); u_xlat5.y = float(0.0); u_xlat5.z = float(0.0); u_xlat5.w = float(0.0); u_xlat6.x = u_xlat26.x; while(true){ u_xlatb19 = uint(floatBitsToUint(u_xlat6.x))>=uint(floatBitsToUint(u_xlat26.y)); if(u_xlatb19){break;} u_xlati19 = floatBitsToInt(u_xlat6.x) << 2; u_xlat19 = uintBitsToFloat(inSkin_buf[(u_xlati19 >> 2) + 0]); u_xlatu32 = uint(floatBitsToUint(u_xlat19)) >> 16u; u_xlat32 = float(u_xlatu32); u_xlat32 = u_xlat32 * 1.52590219e-05; u_xlati19 = int(uint(floatBitsToUint(u_xlat19)) & 65535u); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati19].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(0 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati19].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(16 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati19].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati19].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati19].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat7.x; u_xlat11.y = u_xlat8.x; u_xlat11.z = u_xlat9.x; u_xlat11.w = u_xlat10.x; u_xlat12.x = u_xlat7.y; u_xlat12.y = u_xlat8.y; u_xlat12.z = u_xlat9.y; u_xlat12.w = u_xlat10.y; u_xlat10.x = u_xlat7.z; u_xlat10.y = u_xlat8.z; u_xlat10.z = u_xlat9.z; u_xlat3 = u_xlat11 * vec4(u_xlat32) + u_xlat3; u_xlat4 = u_xlat12 * vec4(u_xlat32) + u_xlat4; u_xlat5 = u_xlat10 * vec4(u_xlat32) + u_xlat5; u_xlat6.x = intBitsToFloat(floatBitsToInt(u_xlat6.x) + 1); } u_xlat1.w = 1.0; u_xlat6.x = dot(u_xlat3, u_xlat1); u_xlat6.y = dot(u_xlat4, u_xlat1); u_xlat6.z = dot(u_xlat5, u_xlat1); u_xlat1.x = dot(u_xlat3.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat4.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat5.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat6.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat6.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat6.z)); u_xlat1.w = u_xlat2.w; outVertices_buf[(u_xlati13 >> 2)] = uint(floatBitsToUint(u_xlat1.x)); outVertices_buf[(u_xlati13 >> 2) + 1] = uint(floatBitsToUint(u_xlat1.y)); outVertices_buf[(u_xlati13 >> 2) + 2] = uint(floatBitsToUint(u_xlat1.z)); outVertices_buf[(u_xlati13 >> 2) + 3] = uint(floatBitsToUint(u_xlat1.w)); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec3 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec3 u_xlat8; vec3 u_xlat9; vec3 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; vec4 u_xlat13; ivec2 u_xlati14; float u_xlat32; uint u_xlatu32; float u_xlat42; int u_xlati42; float u_xlat44; int u_xlati44; bool u_xlatb44; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 40; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati14.xy = ivec2(gl_GlobalInvocationID.xx) * ivec2(40, 40) + ivec2(12, 24); u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati14.x >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati14.x >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati14.x >> 2) + 2])); u_xlat3 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 3])); u_xlati42 = int(gl_GlobalInvocationID.x) << 2; u_xlat4.xy = vec2(uintBitsToFloat(inSkin_buf[(u_xlati42 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati42 >> 2) + 1])); u_xlat5.x = float(0.0); u_xlat5.y = float(0.0); u_xlat5.z = float(0.0); u_xlat5.w = float(0.0); u_xlat6.x = float(0.0); u_xlat6.y = float(0.0); u_xlat6.z = float(0.0); u_xlat6.w = float(0.0); u_xlat7.x = float(0.0); u_xlat7.y = float(0.0); u_xlat7.z = float(0.0); u_xlat7.w = float(0.0); u_xlat42 = u_xlat4.x; while(true){ u_xlatb44 = uint(floatBitsToUint(u_xlat42))>=uint(floatBitsToUint(u_xlat4.y)); if(u_xlatb44){break;} u_xlati44 = floatBitsToInt(u_xlat42) << 2; u_xlat44 = uintBitsToFloat(inSkin_buf[(u_xlati44 >> 2) + 0]); u_xlatu32 = uint(floatBitsToUint(u_xlat44)) >> 16u; u_xlat32 = float(u_xlatu32); u_xlat32 = u_xlat32 * 1.52590219e-05; u_xlati44 = int(uint(floatBitsToUint(u_xlat44)) & 65535u); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati44].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(0 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati44].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(16 >> 2) + 2])); u_xlat10.xyz = vec3(uintBitsToFloat(inMatrices_buf[u_xlati44].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[u_xlati44].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[u_xlati44].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat8.x; u_xlat12.y = u_xlat9.x; u_xlat12.z = u_xlat10.x; u_xlat12.w = u_xlat11.x; u_xlat13.x = u_xlat8.y; u_xlat13.y = u_xlat9.y; u_xlat13.z = u_xlat10.y; u_xlat13.w = u_xlat11.y; u_xlat11.x = u_xlat8.z; u_xlat11.y = u_xlat9.z; u_xlat11.z = u_xlat10.z; u_xlat5 = u_xlat12 * vec4(u_xlat32) + u_xlat5; u_xlat6 = u_xlat13 * vec4(u_xlat32) + u_xlat6; u_xlat7 = u_xlat11 * vec4(u_xlat32) + u_xlat7; u_xlat42 = intBitsToFloat(floatBitsToInt(u_xlat42) + 1); } u_xlat1.w = 1.0; u_xlat4.x = dot(u_xlat5, u_xlat1); u_xlat4.y = dot(u_xlat6, u_xlat1); u_xlat4.z = dot(u_xlat7, u_xlat1); u_xlat1.x = dot(u_xlat5.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat6.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat7.xyz, u_xlat2.xyz); u_xlat2.x = dot(u_xlat5.xyz, u_xlat3.xyz); u_xlat2.y = dot(u_xlat6.xyz, u_xlat3.xyz); u_xlat2.z = dot(u_xlat7.xyz, u_xlat3.xyz); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat4.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat4.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat4.z)); outVertices_buf[(u_xlati14.x >> 2)] = uint(floatBitsToUint(u_xlat1.x)); outVertices_buf[(u_xlati14.x >> 2) + 1] = uint(floatBitsToUint(u_xlat1.y)); outVertices_buf[(u_xlati14.x >> 2) + 2] = uint(floatBitsToUint(u_xlat1.z)); u_xlat2.w = u_xlat3.w; outVertices_buf[(u_xlati14.y >> 2)] = uint(floatBitsToUint(u_xlat2.x)); outVertices_buf[(u_xlati14.y >> 2) + 1] = uint(floatBitsToUint(u_xlat2.y)); outVertices_buf[(u_xlati14.y >> 2) + 2] = uint(floatBitsToUint(u_xlat2.z)); outVertices_buf[(u_xlati14.y >> 2) + 3] = uint(floatBitsToUint(u_xlat2.w)); return; } @main$Globals inVerticesinSkin inMatrices outVertices #version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec3 u_xlat2; vec3 u_xlat3; vec3 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; float u_xlat8; int u_xlati8; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati8 = int(gl_GlobalInvocationID.x) << 2; u_xlat8 = uintBitsToFloat(inSkin_buf[(u_xlati8 >> 2) + 0]); u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(16 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(32 >> 2) + 2])); u_xlat5.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat8)].value[(48 >> 2) + 2])); u_xlat6.x = u_xlat2.x; u_xlat6.y = u_xlat3.x; u_xlat6.z = u_xlat4.x; u_xlat6.w = u_xlat5.x; u_xlat1.w = 1.0; u_xlat6.x = dot(u_xlat6, u_xlat1); u_xlat7.x = u_xlat2.y; u_xlat7.y = u_xlat3.y; u_xlat7.z = u_xlat4.y; u_xlat7.w = u_xlat5.y; u_xlat6.y = dot(u_xlat7, u_xlat1); u_xlat5.x = u_xlat2.z; u_xlat5.y = u_xlat3.z; u_xlat5.z = u_xlat4.z; u_xlat6.z = dot(u_xlat5, u_xlat1); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat6.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat6.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat6.z)); return; } @main$Globals inVerticesinSkin inMatrices outVerticesS#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec3 u_xlat2; vec3 u_xlat3; vec3 u_xlat4; vec3 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec3 u_xlat8; vec4 u_xlat9; int u_xlati10; float u_xlat20; int u_xlati20; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 24; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati10 = int(gl_GlobalInvocationID.x) * 24 + 12; u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati10 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati10 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati10 >> 2) + 2])); u_xlati20 = int(gl_GlobalInvocationID.x) << 2; u_xlat20 = uintBitsToFloat(inSkin_buf[(u_xlati20 >> 2) + 0]); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(32 >> 2) + 2])); u_xlat6.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(48 >> 2) + 2])); u_xlat7.x = u_xlat3.x; u_xlat7.y = u_xlat4.x; u_xlat7.z = u_xlat5.x; u_xlat7.w = u_xlat6.x; u_xlat1.w = 1.0; u_xlat8.x = dot(u_xlat7, u_xlat1); u_xlat9.x = u_xlat3.y; u_xlat9.y = u_xlat4.y; u_xlat9.z = u_xlat5.y; u_xlat9.w = u_xlat6.y; u_xlat8.y = dot(u_xlat9, u_xlat1); u_xlat6.x = u_xlat3.z; u_xlat6.y = u_xlat4.z; u_xlat6.z = u_xlat5.z; u_xlat8.z = dot(u_xlat6, u_xlat1); u_xlat1.x = dot(u_xlat7.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat9.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat6.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat8.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat8.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat8.z)); outVertices_buf[(u_xlati10 >> 2)] = uint(floatBitsToUint(u_xlat1.x)); outVertices_buf[(u_xlati10 >> 2) + 1] = uint(floatBitsToUint(u_xlat1.y)); outVertices_buf[(u_xlati10 >> 2) + 2] = uint(floatBitsToUint(u_xlat1.z)); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec3 u_xlat3; vec3 u_xlat4; vec3 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec3 u_xlat8; vec4 u_xlat9; int u_xlati10; float u_xlat20; int u_xlati20; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati10 = int(gl_GlobalInvocationID.x) * 12 + 12; u_xlat2 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati10 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati10 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati10 >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati10 >> 2) + 3])); u_xlati20 = int(gl_GlobalInvocationID.x) << 2; u_xlat20 = uintBitsToFloat(inSkin_buf[(u_xlati20 >> 2) + 0]); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(32 >> 2) + 2])); u_xlat6.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat20)].value[(48 >> 2) + 2])); u_xlat7.x = u_xlat3.x; u_xlat7.y = u_xlat4.x; u_xlat7.z = u_xlat5.x; u_xlat7.w = u_xlat6.x; u_xlat1.w = 1.0; u_xlat8.x = dot(u_xlat7, u_xlat1); u_xlat9.x = u_xlat3.y; u_xlat9.y = u_xlat4.y; u_xlat9.z = u_xlat5.y; u_xlat9.w = u_xlat6.y; u_xlat8.y = dot(u_xlat9, u_xlat1); u_xlat6.x = u_xlat3.z; u_xlat6.y = u_xlat4.z; u_xlat6.z = u_xlat5.z; u_xlat8.z = dot(u_xlat6, u_xlat1); u_xlat1.x = dot(u_xlat7.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat9.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat6.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat8.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat8.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat8.z)); u_xlat1.w = u_xlat2.w; outVertices_buf[(u_xlati10 >> 2)] = uint(floatBitsToUint(u_xlat1.x)); outVertices_buf[(u_xlati10 >> 2) + 1] = uint(floatBitsToUint(u_xlat1.y)); outVertices_buf[(u_xlati10 >> 2) + 2] = uint(floatBitsToUint(u_xlat1.z)); outVertices_buf[(u_xlati10 >> 2) + 3] = uint(floatBitsToUint(u_xlat1.w)); return; } @main$Globals inVerticesinSkin inMatrices outVerticeso#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec3 u_xlat4; vec3 u_xlat5; vec3 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec3 u_xlat9; vec4 u_xlat10; ivec2 u_xlati11; float u_xlat33; int u_xlati33; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 40; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati11.xy = ivec2(gl_GlobalInvocationID.xx) * ivec2(40, 40) + ivec2(12, 24); u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati11.x >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati11.x >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati11.x >> 2) + 2])); u_xlat3 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati11.y >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati11.y >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati11.y >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati11.y >> 2) + 3])); u_xlati33 = int(gl_GlobalInvocationID.x) << 2; u_xlat33 = uintBitsToFloat(inSkin_buf[(u_xlati33 >> 2) + 0]); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat33)].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat4.x; u_xlat8.y = u_xlat5.x; u_xlat8.z = u_xlat6.x; u_xlat8.w = u_xlat7.x; u_xlat1.w = 1.0; u_xlat9.x = dot(u_xlat8, u_xlat1); u_xlat10.x = u_xlat4.y; u_xlat10.y = u_xlat5.y; u_xlat10.z = u_xlat6.y; u_xlat10.w = u_xlat7.y; u_xlat9.y = dot(u_xlat10, u_xlat1); u_xlat7.x = u_xlat4.z; u_xlat7.y = u_xlat5.z; u_xlat7.z = u_xlat6.z; u_xlat9.z = dot(u_xlat7, u_xlat1); u_xlat1.x = dot(u_xlat8.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat10.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat7.xyz, u_xlat2.xyz); u_xlat2.x = dot(u_xlat8.xyz, u_xlat3.xyz); u_xlat2.y = dot(u_xlat10.xyz, u_xlat3.xyz); u_xlat2.z = dot(u_xlat7.xyz, u_xlat3.xyz); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat9.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat9.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat9.z)); outVertices_buf[(u_xlati11.x >> 2)] = uint(floatBitsToUint(u_xlat1.x)); outVertices_buf[(u_xlati11.x >> 2) + 1] = uint(floatBitsToUint(u_xlat1.y)); outVertices_buf[(u_xlati11.x >> 2) + 2] = uint(floatBitsToUint(u_xlat1.z)); u_xlat2.w = u_xlat3.w; outVertices_buf[(u_xlati11.y >> 2)] = uint(floatBitsToUint(u_xlat2.x)); outVertices_buf[(u_xlati11.y >> 2) + 1] = uint(floatBitsToUint(u_xlat2.y)); outVertices_buf[(u_xlati11.y >> 2) + 2] = uint(floatBitsToUint(u_xlat2.z)); outVertices_buf[(u_xlati11.y >> 2) + 3] = uint(floatBitsToUint(u_xlat2.w)); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec3 u_xlat11; int u_xlati11; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati11 = int(gl_GlobalInvocationID.x) << 4; u_xlat2 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati11 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati11 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati11 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati11 >> 2) + 3])); u_xlat11.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(16 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(32 >> 2) + 2])); u_xlat5.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.z)].value[(48 >> 2) + 2])); u_xlat6.x = u_xlat11.x; u_xlat6.y = u_xlat3.x; u_xlat6.z = u_xlat4.x; u_xlat6.w = u_xlat5.x; u_xlat7.x = u_xlat11.y; u_xlat7.y = u_xlat3.y; u_xlat7.z = u_xlat4.y; u_xlat7.w = u_xlat5.y; u_xlat5.x = u_xlat11.z; u_xlat5.y = u_xlat3.z; u_xlat5.z = u_xlat4.z; u_xlat11.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(0 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(16 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat2.w)].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat11.x; u_xlat9.y = u_xlat3.x; u_xlat9.z = u_xlat4.x; u_xlat9.w = u_xlat8.x; u_xlat9 = u_xlat2.yyyy * u_xlat9; u_xlat10.x = u_xlat11.y; u_xlat10.y = u_xlat3.y; u_xlat10.z = u_xlat4.y; u_xlat10.w = u_xlat8.y; u_xlat10 = u_xlat2.yyyy * u_xlat10; u_xlat8.x = u_xlat11.z; u_xlat8.y = u_xlat3.z; u_xlat8.z = u_xlat4.z; u_xlat3 = u_xlat2.yyyy * u_xlat8; u_xlat4 = u_xlat6 * u_xlat2.xxxx + u_xlat9; u_xlat6 = u_xlat7 * u_xlat2.xxxx + u_xlat10; u_xlat2 = u_xlat5 * u_xlat2.xxxx + u_xlat3; u_xlat1.w = 1.0; u_xlat3.x = dot(u_xlat4, u_xlat1); u_xlat3.y = dot(u_xlat6, u_xlat1); u_xlat3.z = dot(u_xlat2, u_xlat1); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat3.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat3.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat3.z)); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec3 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; int u_xlati13; int u_xlati26; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 24; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati13 = int(gl_GlobalInvocationID.x) * 24 + 12; u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 2])); u_xlati26 = int(gl_GlobalInvocationID.x) << 4; u_xlat3 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 3])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat4.x; u_xlat8.y = u_xlat5.x; u_xlat8.z = u_xlat6.x; u_xlat8.w = u_xlat7.x; u_xlat9.x = u_xlat4.y; u_xlat9.y = u_xlat5.y; u_xlat9.z = u_xlat6.y; u_xlat9.w = u_xlat7.y; u_xlat7.x = u_xlat4.z; u_xlat7.y = u_xlat5.z; u_xlat7.z = u_xlat6.z; u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat4.x; u_xlat11.y = u_xlat5.x; u_xlat11.z = u_xlat6.x; u_xlat11.w = u_xlat10.x; u_xlat11 = u_xlat3.yyyy * u_xlat11; u_xlat12.x = u_xlat4.y; u_xlat12.y = u_xlat5.y; u_xlat12.z = u_xlat6.y; u_xlat12.w = u_xlat10.y; u_xlat12 = u_xlat3.yyyy * u_xlat12; u_xlat10.x = u_xlat4.z; u_xlat10.y = u_xlat5.z; u_xlat10.z = u_xlat6.z; u_xlat4 = u_xlat3.yyyy * u_xlat10; u_xlat5 = u_xlat8 * u_xlat3.xxxx + u_xlat11; u_xlat6 = u_xlat9 * u_xlat3.xxxx + u_xlat12; u_xlat3 = u_xlat7 * u_xlat3.xxxx + u_xlat4; u_xlat1.w = 1.0; u_xlat4.x = dot(u_xlat5, u_xlat1); u_xlat4.y = dot(u_xlat6, u_xlat1); u_xlat4.z = dot(u_xlat3, u_xlat1); u_xlat1.x = dot(u_xlat5.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat6.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat3.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat4.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat4.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat4.z)); outVertices_buf[(u_xlati13 >> 2)] = uint(floatBitsToUint(u_xlat1.x)); outVertices_buf[(u_xlati13 >> 2) + 1] = uint(floatBitsToUint(u_xlat1.y)); outVertices_buf[(u_xlati13 >> 2) + 2] = uint(floatBitsToUint(u_xlat1.z)); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; int u_xlati13; int u_xlati26; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati13 = int(gl_GlobalInvocationID.x) * 12 + 12; u_xlat2 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati13 >> 2) + 3])); u_xlati26 = int(gl_GlobalInvocationID.x) << 4; u_xlat3 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati26 >> 2) + 3])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat4.x; u_xlat8.y = u_xlat5.x; u_xlat8.z = u_xlat6.x; u_xlat8.w = u_xlat7.x; u_xlat9.x = u_xlat4.y; u_xlat9.y = u_xlat5.y; u_xlat9.z = u_xlat6.y; u_xlat9.w = u_xlat7.y; u_xlat7.x = u_xlat4.z; u_xlat7.y = u_xlat5.z; u_xlat7.z = u_xlat6.z; u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat4.x; u_xlat11.y = u_xlat5.x; u_xlat11.z = u_xlat6.x; u_xlat11.w = u_xlat10.x; u_xlat11 = u_xlat3.yyyy * u_xlat11; u_xlat12.x = u_xlat4.y; u_xlat12.y = u_xlat5.y; u_xlat12.z = u_xlat6.y; u_xlat12.w = u_xlat10.y; u_xlat12 = u_xlat3.yyyy * u_xlat12; u_xlat10.x = u_xlat4.z; u_xlat10.y = u_xlat5.z; u_xlat10.z = u_xlat6.z; u_xlat4 = u_xlat3.yyyy * u_xlat10; u_xlat5 = u_xlat8 * u_xlat3.xxxx + u_xlat11; u_xlat6 = u_xlat9 * u_xlat3.xxxx + u_xlat12; u_xlat3 = u_xlat7 * u_xlat3.xxxx + u_xlat4; u_xlat1.w = 1.0; u_xlat4.x = dot(u_xlat5, u_xlat1); u_xlat4.y = dot(u_xlat6, u_xlat1); u_xlat4.z = dot(u_xlat3, u_xlat1); u_xlat1.x = dot(u_xlat5.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat6.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat3.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat4.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat4.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat4.z)); u_xlat1.w = u_xlat2.w; outVertices_buf[(u_xlati13 >> 2)] = uint(floatBitsToUint(u_xlat1.x)); outVertices_buf[(u_xlati13 >> 2) + 1] = uint(floatBitsToUint(u_xlat1.y)); outVertices_buf[(u_xlati13 >> 2) + 2] = uint(floatBitsToUint(u_xlat1.z)); outVertices_buf[(u_xlati13 >> 2) + 3] = uint(floatBitsToUint(u_xlat1.w)); return; } @main$Globals inVerticesinSkin inMatrices outVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; vec4 u_xlat13; ivec2 u_xlati14; int u_xlati42; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 40; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati14.xy = ivec2(gl_GlobalInvocationID.xx) * ivec2(40, 40) + ivec2(12, 24); u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati14.x >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati14.x >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati14.x >> 2) + 2])); u_xlat3 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati14.y >> 2) + 3])); u_xlati42 = int(gl_GlobalInvocationID.x) << 4; u_xlat4 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati42 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati42 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati42 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati42 >> 2) + 3])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat5.x; u_xlat9.y = u_xlat6.x; u_xlat9.z = u_xlat7.x; u_xlat9.w = u_xlat8.x; u_xlat10.x = u_xlat5.y; u_xlat10.y = u_xlat6.y; u_xlat10.z = u_xlat7.y; u_xlat10.w = u_xlat8.y; u_xlat8.x = u_xlat5.z; u_xlat8.y = u_xlat6.z; u_xlat8.z = u_xlat7.z; u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat5.x; u_xlat12.y = u_xlat6.x; u_xlat12.z = u_xlat7.x; u_xlat12.w = u_xlat11.x; u_xlat12 = u_xlat4.yyyy * u_xlat12; u_xlat13.x = u_xlat5.y; u_xlat13.y = u_xlat6.y; u_xlat13.z = u_xlat7.y; u_xlat13.w = u_xlat11.y; u_xlat13 = u_xlat4.yyyy * u_xlat13; u_xlat11.x = u_xlat5.z; u_xlat11.y = u_xlat6.z; u_xlat11.z = u_xlat7.z; u_xlat5 = u_xlat4.yyyy * u_xlat11; u_xlat6 = u_xlat9 * u_xlat4.xxxx + u_xlat12; u_xlat7 = u_xlat10 * u_xlat4.xxxx + u_xlat13; u_xlat4 = u_xlat8 * u_xlat4.xxxx + u_xlat5; u_xlat1.w = 1.0; u_xlat5.x = dot(u_xlat6, u_xlat1); u_xlat5.y = dot(u_xlat7, u_xlat1); u_xlat5.z = dot(u_xlat4, u_xlat1); u_xlat1.x = dot(u_xlat6.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat7.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat4.xyz, u_xlat2.xyz); u_xlat2.x = dot(u_xlat6.xyz, u_xlat3.xyz); u_xlat2.y = dot(u_xlat7.xyz, u_xlat3.xyz); u_xlat2.z = dot(u_xlat4.xyz, u_xlat3.xyz); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat5.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat5.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat5.z)); outVertices_buf[(u_xlati14.x >> 2)] = uint(floatBitsToUint(u_xlat1.x)); outVertices_buf[(u_xlati14.x >> 2) + 1] = uint(floatBitsToUint(u_xlat1.y)); outVertices_buf[(u_xlati14.x >> 2) + 2] = uint(floatBitsToUint(u_xlat1.z)); u_xlat2.w = u_xlat3.w; outVertices_buf[(u_xlati14.y >> 2)] = uint(floatBitsToUint(u_xlat2.x)); outVertices_buf[(u_xlati14.y >> 2) + 1] = uint(floatBitsToUint(u_xlat2.y)); outVertices_buf[(u_xlati14.y >> 2) + 2] = uint(floatBitsToUint(u_xlat2.z)); outVertices_buf[(u_xlati14.y >> 2) + 3] = uint(floatBitsToUint(u_xlat2.w)); return; } @main$Globals inVerticesinSkin inMatrices outVertices #version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec3 u_xlat12; int u_xlati12; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati12 = int(gl_GlobalInvocationID.x) << 5; u_xlat2 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 3])); u_xlati12 = int(gl_GlobalInvocationID.x) * 32 + 16; u_xlat3 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati12 >> 2) + 3])); u_xlat12.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(32 >> 2) + 2])); u_xlat6.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.x)].value[(48 >> 2) + 2])); u_xlat7.x = u_xlat12.x; u_xlat7.y = u_xlat4.x; u_xlat7.z = u_xlat5.x; u_xlat7.w = u_xlat6.x; u_xlat8.x = u_xlat12.y; u_xlat8.y = u_xlat4.y; u_xlat8.z = u_xlat5.y; u_xlat8.w = u_xlat6.y; u_xlat6.x = u_xlat12.z; u_xlat6.y = u_xlat4.z; u_xlat6.z = u_xlat5.z; u_xlat12.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(16 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.y)].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat12.x; u_xlat10.y = u_xlat4.x; u_xlat10.z = u_xlat5.x; u_xlat10.w = u_xlat9.x; u_xlat10 = u_xlat2.yyyy * u_xlat10; u_xlat11.x = u_xlat12.y; u_xlat11.y = u_xlat4.y; u_xlat11.z = u_xlat5.y; u_xlat11.w = u_xlat9.y; u_xlat11 = u_xlat2.yyyy * u_xlat11; u_xlat9.x = u_xlat12.z; u_xlat9.y = u_xlat4.z; u_xlat9.z = u_xlat5.z; u_xlat4 = u_xlat2.yyyy * u_xlat9; u_xlat5 = u_xlat7 * u_xlat2.xxxx + u_xlat10; u_xlat7 = u_xlat8 * u_xlat2.xxxx + u_xlat11; u_xlat4 = u_xlat6 * u_xlat2.xxxx + u_xlat4; u_xlat12.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.z)].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat12.x; u_xlat10.y = u_xlat6.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat12.y; u_xlat11.y = u_xlat6.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat12.z; u_xlat9.y = u_xlat6.z; u_xlat9.z = u_xlat8.z; u_xlat5 = u_xlat10 * u_xlat2.zzzz + u_xlat5; u_xlat6 = u_xlat11 * u_xlat2.zzzz + u_xlat7; u_xlat4 = u_xlat9 * u_xlat2.zzzz + u_xlat4; u_xlat12.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(0 >> 2) + 2])); u_xlat2.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(16 >> 2) + 2])); u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(32 >> 2) + 2])); u_xlat7.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat3.w)].value[(48 >> 2) + 2])); u_xlat8.x = u_xlat12.x; u_xlat8.y = u_xlat2.x; u_xlat8.z = u_xlat3.x; u_xlat8.w = u_xlat7.x; u_xlat9.x = u_xlat12.y; u_xlat9.y = u_xlat2.y; u_xlat9.z = u_xlat3.y; u_xlat9.w = u_xlat7.y; u_xlat7.x = u_xlat12.z; u_xlat7.y = u_xlat2.z; u_xlat7.z = u_xlat3.z; u_xlat3 = u_xlat8 * u_xlat2.wwww + u_xlat5; u_xlat5 = u_xlat9 * u_xlat2.wwww + u_xlat6; u_xlat2 = u_xlat7 * u_xlat2.wwww + u_xlat4; u_xlat1.w = 1.0; u_xlat3.x = dot(u_xlat3, u_xlat1); u_xlat3.y = dot(u_xlat5, u_xlat1); u_xlat3.z = dot(u_xlat2, u_xlat1); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat3.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat3.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat3.z)); return; } @main$Globals inVerticesinSkin inMatrices outVertices##version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec3 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; vec4 u_xlat13; int u_xlati14; int u_xlati28; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 24; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati14 = int(gl_GlobalInvocationID.x) * 24 + 12; u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati14 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati14 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati14 >> 2) + 2])); u_xlati28 = int(gl_GlobalInvocationID.x) << 5; u_xlat3 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 3])); u_xlati28 = int(gl_GlobalInvocationID.x) * 32 + 16; u_xlat4 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 3])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat5.x; u_xlat9.y = u_xlat6.x; u_xlat9.z = u_xlat7.x; u_xlat9.w = u_xlat8.x; u_xlat10.x = u_xlat5.y; u_xlat10.y = u_xlat6.y; u_xlat10.z = u_xlat7.y; u_xlat10.w = u_xlat8.y; u_xlat8.x = u_xlat5.z; u_xlat8.y = u_xlat6.z; u_xlat8.z = u_xlat7.z; u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat5.x; u_xlat12.y = u_xlat6.x; u_xlat12.z = u_xlat7.x; u_xlat12.w = u_xlat11.x; u_xlat12 = u_xlat3.yyyy * u_xlat12; u_xlat13.x = u_xlat5.y; u_xlat13.y = u_xlat6.y; u_xlat13.z = u_xlat7.y; u_xlat13.w = u_xlat11.y; u_xlat13 = u_xlat3.yyyy * u_xlat13; u_xlat11.x = u_xlat5.z; u_xlat11.y = u_xlat6.z; u_xlat11.z = u_xlat7.z; u_xlat5 = u_xlat3.yyyy * u_xlat11; u_xlat6 = u_xlat9 * u_xlat3.xxxx + u_xlat12; u_xlat7 = u_xlat10 * u_xlat3.xxxx + u_xlat13; u_xlat5 = u_xlat8 * u_xlat3.xxxx + u_xlat5; u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 2])); u_xlat10.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat8.x; u_xlat12.y = u_xlat9.x; u_xlat12.z = u_xlat10.x; u_xlat12.w = u_xlat11.x; u_xlat13.x = u_xlat8.y; u_xlat13.y = u_xlat9.y; u_xlat13.z = u_xlat10.y; u_xlat13.w = u_xlat11.y; u_xlat11.x = u_xlat8.z; u_xlat11.y = u_xlat9.z; u_xlat11.z = u_xlat10.z; u_xlat6 = u_xlat12 * u_xlat3.zzzz + u_xlat6; u_xlat7 = u_xlat13 * u_xlat3.zzzz + u_xlat7; u_xlat5 = u_xlat11 * u_xlat3.zzzz + u_xlat5; u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat3.x; u_xlat10.y = u_xlat4.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat3.y; u_xlat11.y = u_xlat4.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat3.z; u_xlat9.y = u_xlat4.z; u_xlat9.z = u_xlat8.z; u_xlat4 = u_xlat10 * u_xlat3.wwww + u_xlat6; u_xlat6 = u_xlat11 * u_xlat3.wwww + u_xlat7; u_xlat3 = u_xlat9 * u_xlat3.wwww + u_xlat5; u_xlat1.w = 1.0; u_xlat5.x = dot(u_xlat4, u_xlat1); u_xlat5.y = dot(u_xlat6, u_xlat1); u_xlat5.z = dot(u_xlat3, u_xlat1); u_xlat1.x = dot(u_xlat4.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat6.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat3.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat5.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat5.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat5.z)); outVertices_buf[(u_xlati14 >> 2)] = uint(floatBitsToUint(u_xlat1.x)); outVertices_buf[(u_xlati14 >> 2) + 1] = uint(floatBitsToUint(u_xlat1.y)); outVertices_buf[(u_xlati14 >> 2) + 2] = uint(floatBitsToUint(u_xlat1.z)); return; } @main$Globals inVerticesinSkin inMatrices outVertices.$#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; vec4 u_xlat13; int u_xlati14; int u_xlati28; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati14 = int(gl_GlobalInvocationID.x) * 12 + 12; u_xlat2 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati14 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati14 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati14 >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati14 >> 2) + 3])); u_xlati28 = int(gl_GlobalInvocationID.x) << 5; u_xlat3 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 3])); u_xlati28 = int(gl_GlobalInvocationID.x) * 32 + 16; u_xlat4 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati28 >> 2) + 3])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(32 >> 2) + 2])); u_xlat8.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.x)].value[(48 >> 2) + 2])); u_xlat9.x = u_xlat5.x; u_xlat9.y = u_xlat6.x; u_xlat9.z = u_xlat7.x; u_xlat9.w = u_xlat8.x; u_xlat10.x = u_xlat5.y; u_xlat10.y = u_xlat6.y; u_xlat10.z = u_xlat7.y; u_xlat10.w = u_xlat8.y; u_xlat8.x = u_xlat5.z; u_xlat8.y = u_xlat6.z; u_xlat8.z = u_xlat7.z; u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(0 >> 2) + 2])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(16 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.y)].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat5.x; u_xlat12.y = u_xlat6.x; u_xlat12.z = u_xlat7.x; u_xlat12.w = u_xlat11.x; u_xlat12 = u_xlat3.yyyy * u_xlat12; u_xlat13.x = u_xlat5.y; u_xlat13.y = u_xlat6.y; u_xlat13.z = u_xlat7.y; u_xlat13.w = u_xlat11.y; u_xlat13 = u_xlat3.yyyy * u_xlat13; u_xlat11.x = u_xlat5.z; u_xlat11.y = u_xlat6.z; u_xlat11.z = u_xlat7.z; u_xlat5 = u_xlat3.yyyy * u_xlat11; u_xlat6 = u_xlat9 * u_xlat3.xxxx + u_xlat12; u_xlat7 = u_xlat10 * u_xlat3.xxxx + u_xlat13; u_xlat5 = u_xlat8 * u_xlat3.xxxx + u_xlat5; u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(0 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(16 >> 2) + 2])); u_xlat10.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(32 >> 2) + 2])); u_xlat11.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.z)].value[(48 >> 2) + 2])); u_xlat12.x = u_xlat8.x; u_xlat12.y = u_xlat9.x; u_xlat12.z = u_xlat10.x; u_xlat12.w = u_xlat11.x; u_xlat13.x = u_xlat8.y; u_xlat13.y = u_xlat9.y; u_xlat13.z = u_xlat10.y; u_xlat13.w = u_xlat11.y; u_xlat11.x = u_xlat8.z; u_xlat11.y = u_xlat9.z; u_xlat11.z = u_xlat10.z; u_xlat6 = u_xlat12 * u_xlat3.zzzz + u_xlat6; u_xlat7 = u_xlat13 * u_xlat3.zzzz + u_xlat7; u_xlat5 = u_xlat11 * u_xlat3.zzzz + u_xlat5; u_xlat3.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(0 >> 2) + 2])); u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat4.w)].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat3.x; u_xlat10.y = u_xlat4.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat3.y; u_xlat11.y = u_xlat4.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat3.z; u_xlat9.y = u_xlat4.z; u_xlat9.z = u_xlat8.z; u_xlat4 = u_xlat10 * u_xlat3.wwww + u_xlat6; u_xlat6 = u_xlat11 * u_xlat3.wwww + u_xlat7; u_xlat3 = u_xlat9 * u_xlat3.wwww + u_xlat5; u_xlat1.w = 1.0; u_xlat5.x = dot(u_xlat4, u_xlat1); u_xlat5.y = dot(u_xlat6, u_xlat1); u_xlat5.z = dot(u_xlat3, u_xlat1); u_xlat1.x = dot(u_xlat4.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat6.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat3.xyz, u_xlat2.xyz); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat5.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat5.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat5.z)); u_xlat1.w = u_xlat2.w; outVertices_buf[(u_xlati14 >> 2)] = uint(floatBitsToUint(u_xlat1.x)); outVertices_buf[(u_xlati14 >> 2) + 1] = uint(floatBitsToUint(u_xlat1.y)); outVertices_buf[(u_xlati14 >> 2) + 2] = uint(floatBitsToUint(u_xlat1.z)); outVertices_buf[(u_xlati14 >> 2) + 3] = uint(floatBitsToUint(u_xlat1.w)); return; } @main$Globals inVerticesinSkin inMatrices outVertices&#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_VertCount; }; layout(std430, binding = 1) readonly buffer inVertices { uint inVertices_buf[]; }; layout(std430, binding = 2) readonly buffer inSkin { uint inSkin_buf[]; }; struct inMatrices_type { uint[16] value; }; layout(std430, binding = 3) readonly buffer inMatrices { inMatrices_type inMatrices_buf[]; }; layout(std430, binding = 0) buffer outVertices { uint outVertices_buf[]; }; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec4 u_xlat5; vec4 u_xlat6; vec4 u_xlat7; vec4 u_xlat8; vec4 u_xlat9; vec4 u_xlat10; vec4 u_xlat11; vec4 u_xlat12; vec4 u_xlat13; vec4 u_xlat14; ivec2 u_xlati15; int u_xlati45; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) * 40; u_xlat1.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati15.xy = ivec2(gl_GlobalInvocationID.xx) * ivec2(40, 40) + ivec2(12, 24); u_xlat2.xyz = vec3(uintBitsToFloat(inVertices_buf[(u_xlati15.x >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati15.x >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati15.x >> 2) + 2])); u_xlat3 = vec4(uintBitsToFloat(inVertices_buf[(u_xlati15.y >> 2) + 0]), uintBitsToFloat(inVertices_buf[(u_xlati15.y >> 2) + 1]), uintBitsToFloat(inVertices_buf[(u_xlati15.y >> 2) + 2]), uintBitsToFloat(inVertices_buf[(u_xlati15.y >> 2) + 3])); u_xlati45 = int(gl_GlobalInvocationID.x) << 5; u_xlat4 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 3])); u_xlati45 = int(gl_GlobalInvocationID.x) * 32 + 16; u_xlat5 = vec4(uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 0]), uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 1]), uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 2]), uintBitsToFloat(inSkin_buf[(u_xlati45 >> 2) + 3])); u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(0 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(32 >> 2) + 2])); u_xlat9.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.x)].value[(48 >> 2) + 2])); u_xlat10.x = u_xlat6.x; u_xlat10.y = u_xlat7.x; u_xlat10.z = u_xlat8.x; u_xlat10.w = u_xlat9.x; u_xlat11.x = u_xlat6.y; u_xlat11.y = u_xlat7.y; u_xlat11.z = u_xlat8.y; u_xlat11.w = u_xlat9.y; u_xlat9.x = u_xlat6.z; u_xlat9.y = u_xlat7.z; u_xlat9.z = u_xlat8.z; u_xlat6.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(0 >> 2) + 2])); u_xlat7.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(16 >> 2) + 2])); u_xlat8.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(32 >> 2) + 2])); u_xlat12.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.y)].value[(48 >> 2) + 2])); u_xlat13.x = u_xlat6.x; u_xlat13.y = u_xlat7.x; u_xlat13.z = u_xlat8.x; u_xlat13.w = u_xlat12.x; u_xlat13 = u_xlat4.yyyy * u_xlat13; u_xlat14.x = u_xlat6.y; u_xlat14.y = u_xlat7.y; u_xlat14.z = u_xlat8.y; u_xlat14.w = u_xlat12.y; u_xlat14 = u_xlat4.yyyy * u_xlat14; u_xlat12.x = u_xlat6.z; u_xlat12.y = u_xlat7.z; u_xlat12.z = u_xlat8.z; u_xlat6 = u_xlat4.yyyy * u_xlat12; u_xlat7 = u_xlat10 * u_xlat4.xxxx + u_xlat13; u_xlat8 = u_xlat11 * u_xlat4.xxxx + u_xlat14; u_xlat6 = u_xlat9 * u_xlat4.xxxx + u_xlat6; u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(0 >> 2) + 2])); u_xlat10.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(16 >> 2) + 2])); u_xlat11.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(32 >> 2) + 2])); u_xlat12.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.z)].value[(48 >> 2) + 2])); u_xlat13.x = u_xlat9.x; u_xlat13.y = u_xlat10.x; u_xlat13.z = u_xlat11.x; u_xlat13.w = u_xlat12.x; u_xlat14.x = u_xlat9.y; u_xlat14.y = u_xlat10.y; u_xlat14.z = u_xlat11.y; u_xlat14.w = u_xlat12.y; u_xlat12.x = u_xlat9.z; u_xlat12.y = u_xlat10.z; u_xlat12.z = u_xlat11.z; u_xlat7 = u_xlat13 * u_xlat4.zzzz + u_xlat7; u_xlat8 = u_xlat14 * u_xlat4.zzzz + u_xlat8; u_xlat6 = u_xlat12 * u_xlat4.zzzz + u_xlat6; u_xlat4.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(0 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(0 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(0 >> 2) + 2])); u_xlat5.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(16 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(16 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(16 >> 2) + 2])); u_xlat9.xyz = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(32 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(32 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(32 >> 2) + 2])); u_xlat10.xyw = vec3(uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(48 >> 2) + 0]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(48 >> 2) + 1]), uintBitsToFloat(inMatrices_buf[floatBitsToInt(u_xlat5.w)].value[(48 >> 2) + 2])); u_xlat11.x = u_xlat4.x; u_xlat11.y = u_xlat5.x; u_xlat11.z = u_xlat9.x; u_xlat11.w = u_xlat10.x; u_xlat12.x = u_xlat4.y; u_xlat12.y = u_xlat5.y; u_xlat12.z = u_xlat9.y; u_xlat12.w = u_xlat10.y; u_xlat10.x = u_xlat4.z; u_xlat10.y = u_xlat5.z; u_xlat10.z = u_xlat9.z; u_xlat5 = u_xlat11 * u_xlat4.wwww + u_xlat7; u_xlat7 = u_xlat12 * u_xlat4.wwww + u_xlat8; u_xlat4 = u_xlat10 * u_xlat4.wwww + u_xlat6; u_xlat1.w = 1.0; u_xlat6.x = dot(u_xlat5, u_xlat1); u_xlat6.y = dot(u_xlat7, u_xlat1); u_xlat6.z = dot(u_xlat4, u_xlat1); u_xlat1.x = dot(u_xlat5.xyz, u_xlat2.xyz); u_xlat1.y = dot(u_xlat7.xyz, u_xlat2.xyz); u_xlat1.z = dot(u_xlat4.xyz, u_xlat2.xyz); u_xlat2.x = dot(u_xlat5.xyz, u_xlat3.xyz); u_xlat2.y = dot(u_xlat7.xyz, u_xlat3.xyz); u_xlat2.z = dot(u_xlat4.xyz, u_xlat3.xyz); outVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat6.x)); outVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat6.y)); outVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat6.z)); outVertices_buf[(u_xlati15.x >> 2)] = uint(floatBitsToUint(u_xlat1.x)); outVertices_buf[(u_xlati15.x >> 2) + 1] = uint(floatBitsToUint(u_xlat1.y)); outVertices_buf[(u_xlati15.x >> 2) + 2] = uint(floatBitsToUint(u_xlat1.z)); u_xlat2.w = u_xlat3.w; outVertices_buf[(u_xlati15.y >> 2)] = uint(floatBitsToUint(u_xlat2.x)); outVertices_buf[(u_xlati15.y >> 2) + 1] = uint(floatBitsToUint(u_xlat2.y)); outVertices_buf[(u_xlati15.y >> 2) + 2] = uint(floatBitsToUint(u_xlat2.z)); outVertices_buf[(u_xlati15.y >> 2) + 3] = uint(floatBitsToUint(u_xlat2.w)); return; } @$Globals g_VertCountInternal-BlendShapemain$GlobalsinBlendShapeVerticesinOutMeshVerticesDXBCJ Ғ35lxG,<LISGNOSGNSHEXPPTjYF p( _h@P   >  C @F~cr @F2 V   r @>@main$GlobalsinBlendShapeVerticesinOutMeshVerticespDXBC|w=fƿi;cʪp,<LISGNOSGNSHEXPjYF p(_h@P   >  C @F~Cr @Fr @F2 @F2 r F6B:2 rF & 6   @F 2 @>@main$GlobalsinBlendShapeVerticesinOutMeshVerticesPDXBC!fpWkP,<LISGNOSGNSHEXPjYF p((_h@P   >  C @F~C @F~C2 @ FpC @6C @FCB @ 2 r 6b2 r 6B:62 2 r&  F6*  @F6  @F  @ *>@main$GlobalsinBlendShapeVerticesinOutMeshVerticesDXBC^H[^,<LISGNOSGNSHEXpP\jYF p_h@P   >  & @( F~& @ r F2 V  r >@main$GlobalsinBlendShapeVerticesinOutMeshVerticesDXBCCDtaǍfUp,<LISGNOSGNSHEXDPjYF p_h@P   >  &" @(F~#  @(@r Fr& @r:F#  @@ r F2 V  2 rF Fr:r F>@main$GlobalsinBlendShapeVerticesinOutMeshVerticeshDXBCMh>M߃h,<LISGNOSGNSHEXPjYF p_h@P   >  &" @(F~#2@((@  F~2Fp& @(r:F#2@((@ r FF2 r F2 rF F6B:2 r&  Fr:Fr FF>@$Globals g_FirstVert g_VertCountg_Weightmain$GlobalsinBlendShapeVerticesinOutMeshVerticesDXBCJ Ғ35lxG,<LISGNOSGNSHEXPPTjYF p( _h@P   >  C @F~cr @F2 V   r @>@main$GlobalsinBlendShapeVerticesinOutMeshVerticespDXBC|w=fƿi;cʪp,<LISGNOSGNSHEXPjYF p(_h@P   >  C @F~Cr @Fr @F2 @F2 r F6B:2 rF & 6   @F 2 @>@main$GlobalsinBlendShapeVerticesinOutMeshVerticesPDXBC!fpWkP,<LISGNOSGNSHEXPjYF p((_h@P   >  C @F~C @F~C2 @ FpC @6C @FCB @ 2 r 6b2 r 6B:62 2 r&  F6*  @F6  @F  @ *>@main$GlobalsinBlendShapeVerticesinOutMeshVerticesDXBC^H[^,<LISGNOSGNSHEXpP\jYF p_h@P   >  & @( F~& @ r F2 V  r >@main$GlobalsinBlendShapeVerticesinOutMeshVerticesDXBCCDtaǍfUp,<LISGNOSGNSHEXDPjYF p_h@P   >  &" @(F~#  @(@r Fr& @r:F#  @@ r F2 V  2 rF Fr:r F>@main$GlobalsinBlendShapeVerticesinOutMeshVerticeshDXBCMh>M߃h,<LISGNOSGNSHEXPjYF p_h@P   >  &" @(F~#2@((@  F~2Fp& @(r:F#2@((@ r FF2 r F2 rF F6B:2 r&  Fr:Fr FF>@$Globals g_FirstVert g_VertCountg_WeightmainCGlobalsinBlendShapeVerticesinOutMeshVertices|# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_FirstVertg_VertCountg_Weight u_xlati0+u_xlat0 .inBlendShapeVertices_type.value0inBlendShapeVertices 0inBlendShapeVertices_buf2Hu_xlat1 KinOutMeshVertices_origX0X_typeKvalue MinOutMeshVertices_origX0X MinOutMeshVertices_origX0X_bufOdu_xlat2u_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#H#H#GG"G!G-H.#G/(H0H0#G0G2"G2!GJHK#GL HM#GMGO"GO!G ! ;     ; +     ; +  ; +$) *);*++ , - ,.-/.0/ 10;12+<+AF GF;GH+ IJ IKJLKML NM;NO P;Gd g+ +  )    + @, 6;;;;A = A= >=A! = "!|#"A%$= &%|'&(#'> (=3 A42$3$$= 54|65=7 A82$7$= 98|:9=; A=2$;$<= >=|?>=@ AB2$@$A= CB|DCP)E6:?D>+EAPQ+ =RQ|SRATO$S$$= UT|VUAPW+ =XW|YXAZO$Y$= [Z|\[AP]+ =^]|_^A`O$_$<= a`|baPFcV\b>Hc=)e+OFfeeAgh<=ihAgj<=kjAgl<=mlPFnikmQonQpnQqnPFropqFsfr=FtHFust>duAPv+ =wv|xwAPyd =zy| {zA|O$x$$>|{AP}+ =~}|~APd=| AO$$>AP+ =|APd=| AO$$<>8@mainCGlobalsinBlendShapeVerticesinOutMeshVertices# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_FirstVertg_VertCountg_Weight u_xlati0+u_xlat1 .inBlendShapeVertices_type.value0inBlendShapeVertices 0inBlendShapeVertices_buf2Hu_xlat0Yu_xlat2 \inOutMeshVertices_origX0X_type\value ^inOutMeshVertices_origX0X ^inOutMeshVertices_origX0X_buf`{u_xlat3u_xlat4u_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#H#H#GG"G!G-H.#G/(H0H0#G0G2"G2!G[H\#G]H^#G^G`"G`!G ! ;     ; +     ; +  ; +$) *);*++ , - ,.-/.0/ 10;12+<+AF GF;GH+J+O+T;*Y+ Z[ Z\[]\^] _^;_` a;G{;* + + +  )    + @, 6;;;;A = A= >=A! = "!|#"A%$= &%|'&(#'> (=3 A42$3$$= 54|65=7 A82$7$= 98|:9=; A=2$;$<= >=|?>=@ AB2$@$A= CB|DCP)E6:?D>+E=I AK2$I$J= LK|ML=N AP2$N$O= QP|RQ=S AU2$S$T= VU|WVPFXMRW>HXAab+ =cb|dcAe`$d$$= fe|gfAah+ =ih|jiAk`$j$= lk|mlAan+ =on|poAq`$p$<= rq|srAat+ =ut|vuAw`$v$A= xw|yxP)zgmsy>YzAa|+ =}||~}A`$~$J= |Aa+ =|A`$$O= |P=F{OF>{=)+OFA<=A<=A<=PFQQQPFF=)YOFF=)O )>AaY=Aa{>=FHA<=A<=A<=PFQQQPFF=F{OFF>HAaH =Aa>Aa+ =|Aa =| A`$$$>Aa+ =|Aa=| A`$$>Aa+ =|Aa=| A`$$<>Aa+ =|Aa=| A`$$A>Aa+ =|AaH=| A`$$J>Aa+ =|AaH=| A`$$O>8@mainCGlobalsinBlendShapeVerticesinOutMeshVerticesH#J GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_FirstVertg_VertCountg_Weight u_xlati0+u_xlat1 .inBlendShapeVertices_type.value0inBlendShapeVertices 0inBlendShapeVertices_buf2Fu_xlat2^u_xlat0mu_xlat3 oinOutMeshVertices_origX0X_typeovalue qinOutMeshVertices_origX0X qinOutMeshVertices_origX0X_bufsu_xlat4u_xlat5u_xlat6>u_xlat_precise_vec4Au_xlat_precise_ivec4Du_xlat_precise_bvec4Gu_xlat_precise_uvec4G H#H#H#GG"G!G-H.#G/(H0H0#G0G2"G2!GnHo#Gp(Hq#GqGs"Gs!GI ! ;     ; +     ; +  ; +$) *);*++ , - ,.-/.0/ 10;12+<+A;*F+H+M+R+W\ ]\;]^+`+e i;*mn ,onpoqp rq;rs t;*;]+ ;* + +  =)? @?B CBE  FE+ H@, IH6;=>;@A;CD;FGA = A= >=A! = "!|#"A%$= &%|'&(#'> (=3 A42$3$$= 54|65=7 A82$7$= 98|:9=; A=2$;$<= >=|?>=@ AB2$@$A= CB|DCP)E6:?D>+E=G AI2$G$H= JI|KJ=L AN2$L$M= ON|PO=Q AS2$Q$R= TS|UT=V AX2$V$W= YX|ZYP)[KPUZ>F[=_ Aa2$_$`= ba|cb=d Af2$d$e= gf|hgPijch=\k^O\lkj>^lAtu+ =vu|wvAxs$w$A= yx|zyAt{+ =|{|}|A~s$}$$= ~|At+ =|As$$= |At+ =|As$$<= |P)z>mAt+ =|As$$H= |At+ =|As$$M= |At+ =|As$$R= |At+ =|As$$W= |P)>At+ =|As$$`= |At>=)+O\A<=A<=A<=P\QQQP\\=)mO\\=)O )>=)Oi=)mO )>m=)FO\A<=A<=A<=P\QQQP\\=)mO\\=)mO )>mAtF=At^>=)Oi=\O\>=\^O\A<=A<=A<=P\QQQP\\=\\>^Atm=At>At+ =|At =| As$$$>At+ =|At=| As$$>At+ =| At =  |  A s$ $<>  At+ =|At=| As$$A>=\^Oi=)mO )>mAt+ =|Atm =| As$$H>At + =! |"!At#m=$#| %$A&s$"$M>&%At'+ =('|)(At*m=+*| ,+A-s$)$R>-,At.+ =/.|0/At1m=21| 32A4s$0$W>43At5+ =65|76At8^=98| :9A;s$7$`>;:8@mainCGlobalsinBlendShapeVerticesinOutMeshVertices`# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_FirstVertg_VertCountg_Weight u_xlati0.u_xlat00inBlendShapeVertices 0inBlendShapeVertices_buf2Vu_xlat1 XinOutMeshVertices_origX0X XinOutMeshVertices_origX0X_bufZnu_xlat2u_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#H#H#GG"G!G/H0H0#G0G2"G2!GWHX#GXGZ"GZ!G ! ;     ; +     ; +  ; +$+*(, -,;-./ 0/ 10;12+4+H N+R T UT;UVW XW YX;YZ;Un q+ +  ,    + @, 6;;;;A = A= >=A! = "!|#"A%$= &%|'&(#'> (=) +)*> +=3 53465$A72$6= 87|98=: ;:4<;A=2$<= >=|?>=@ A@4BA4AC2$B= DC|ED=F GF4IGHAJ2$I= KJ|LKP,M9?EL>.MANO. =PO|QPSQR> S=[ \[4]\$A^Z$]= _^|`_=a ba4cbAdZ$c= ed|fe=g hg4ih4AjZ$i= kj|lkPTm`fl>Vm=,o.OTpooAqr4=srAqt4=utAqv4=wvPTxsuwQyxQzxQ{xPT|yz{T}p|=T~VT}~>n= 4ANn =| AZ$>= 4ANn=| AZ$>= 44ANn=| AZ$>8@mainCGlobalsinBlendShapeVerticesinOutMeshVertices# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_FirstVertg_VertCountg_Weight u_xlati0)u_xlati4/u_xlat11inBlendShapeVertices 1inBlendShapeVertices_buf3Uu_xlat0iu_xlati12pu_xlat2 rinOutMeshVertices_origX0X rinOutMeshVertices_origX0X_buftu_xlati1u_xlat3u_xlat5u_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G H#H#H#GG"G!G0H1H1#G1G3"G3!GqHr#GrGt"Gt!G ! ;     ; +     ; +  ; +$;)++(- .-;./0 10 21;23+5+I+QS TS;TU;i j+n;Tpq rq sr;st;+ ;T;T + +  -    + @, 6;;;;A = A= >=A! = "!|#"A%$= &%|'&(#'> (=* ,*+>),=4)64576$A83$7= 98|:9=;)<;5=<A>3$== ?>|@?=A)BA5CB5AD3$C= ED|FE=G)HG5JHIAK3$J= LK|MLP-N:@FM>/N=O PO+RPQ> R=V WV5XW$AY3$X= ZY|[Z=\ ]\5^]A_3$^= `_|a`=b cb5dc5Ae3$d= fe|gfPSh[ag>UhAjk/ =lk|mlomn>io=uivu5wv$Axt$w= yx|zy={i|{5}|A~t$}= ~|=i55At$= |PSz>pAj/ =|n>=5$At$= |=5At$= |=55At$= |PS>=-/OSA5=A5=A5=PSQQQPSS=SpS>=SUA5=A5=A5=PSQQQPSS=SS>U=i5Aj =| At$>=i5Aj=| At$>=i55Aj=| At$>=5AjU =| At$>=5AjU=| At$>=55AjU=| At$>8@mainCGlobalsinBlendShapeVerticesinOutMeshVertices4!# GLSL.std.450main @mainu_xlatb0 gl_GlobalInvocationIDCGlobalsg_FirstVertg_VertCountg_Weight!u_xlati0,u_xlati73u_xlat15inBlendShapeVertices 5inBlendShapeVertices_buf7[u_xlat2{u_xlat0u_xlati21u_xlat3 inOutMeshVertices_origX0X inOutMeshVertices_origX0X_bufu_xlati4u_xlat5u_xlat6tu_xlat_precise_vec4wu_xlat_precise_ivec4zu_xlat_precise_bvec4}u_xlat_precise_uvec4G H#H#H#GG"G!G4H5H5#G5G7"G7!GH#GG"G!G ! ;     ; +     ; +    ; !+% *;*,+/(1 21;234 54 65;67+9+M,U//+W+X ,YWX;2[y zy;z{+ |;* ;z  ;; + +,;z;2 + +  s1u vux yx{  |{+ ~@, ~||6;st;vw;yz;|}A = A= >=A" = #"|$#A&%= '&|(')$(A*+! >+)A*-! =.-0./>,0=8,:89;:%A<7%;= =<|>==?,@?9A@AB7%A= CB|DC=E,FE9GF9AH7%G= IH|JI=K,LK9NLMAO7%N= PO|QPP1R>DJQ>3R=S!OTSSVTUZVY>!ZA*\! =]\^]9_^%A`7%_= a`|baA*c! =dced9feAg7%f= hg|ihA*j! =kjlk9ml9An7%m= on|poA*q! =rqsr9tsMAu7%t= vu|wvP1xbipw>[xA*}!|=~}~9%A7%= |A*!|=9A7%= |P=y{Oy>{A3 =|/>=9%A%= |=9A%= |=99A%= |Py>=13O|U>A* =9%A%= |A* =9A%= |A* =99A%= |Py>A*|=9%A%= |A*|=9A%= |A*|=99A%= |A*|=9MA%= |P1>=13OyA9=A9=A9=PyQQQPyy=yy=13O 1>3=1[OyA9=A9=A9=PyQQQ Py  y  =y y   =1[O 1 >[A[=A{>=y{OyA9=A9=A9=PyQQQ Py! y"!=1#Oy$##y%"$=1&O 1'&%>'=()(9A*3 =+*| ,+A-%)>-,=./.90/A13|=21| 32A4%0>43=5659769A83=98| :9A;%7>;:A*< ==<>=9A?[ =@?| A@AB%>>BAA*C =DCED9FEAG[|=HG| IHAJ%F>JIA*K =LKML9NM9AO[=PO| QPAR%N>RQA*S|=TSUT9AV =WV| XWAY%U>YXA*Z|=[Z\[9]\A^|=_^| `_Aa%]>a`A*b|=cbdc9ed9Af=gf| hgAi%e>ihA*j|=kjlk9mlMAn=on| poAq%m>qp8@CGlobals  g_FirstVert g_VertCountg_Weight main$GlobalsinBlendShapeVerticesinOutMeshVertices2 #version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_FirstVert; uint g_VertCount; float g_Weight; }; struct inBlendShapeVertices_type { uint[10] value; }; layout(std430, binding = 1) readonly buffer inBlendShapeVertices { inBlendShapeVertices_type inBlendShapeVertices_buf[]; }; struct inOutMeshVertices_type { uint[3] value; }; layout(std430, binding = 0) buffer inOutMeshVertices { inOutMeshVertices_type inOutMeshVertices_buf[]; }; vec4 u_xlat0; int u_xlati0; bool u_xlatb0; vec3 u_xlat1; vec3 u_xlat2; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) + int(g_FirstVert); u_xlat0 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 3])); u_xlat1.xyz = vec3(uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat0.x)].value[(0 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat0.x)].value[(0 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat0.x)].value[(0 >> 2) + 2])); u_xlat2.xyz = u_xlat0.yzw * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat1.xyz; inOutMeshVertices_buf[floatBitsToInt(u_xlat0.x)].value[(0 >> 2)] = floatBitsToUint(u_xlat2.x); inOutMeshVertices_buf[floatBitsToInt(u_xlat0.x)].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat2.y); inOutMeshVertices_buf[floatBitsToInt(u_xlat0.x)].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat2.z); return; } @main$GlobalsinBlendShapeVerticesinOutMeshVertices #version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_FirstVert; uint g_VertCount; float g_Weight; }; struct inBlendShapeVertices_type { uint[10] value; }; layout(std430, binding = 1) readonly buffer inBlendShapeVertices { inBlendShapeVertices_type inBlendShapeVertices_buf[]; }; struct inOutMeshVertices_type { uint[6] value; }; layout(std430, binding = 0) buffer inOutMeshVertices { inOutMeshVertices_type inOutMeshVertices_buf[]; }; vec3 u_xlat0; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec3 u_xlat3; vec4 u_xlat4; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) + int(g_FirstVert); u_xlat1 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 3])); u_xlat0.xyz = vec3(uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(16 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(16 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(16 >> 2) + 2])); u_xlat2 = vec4(uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 2]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 3])); u_xlat3.xy = vec2(uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 1])); u_xlat4.xyz = u_xlat1.yzw * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat2.xyz; u_xlat3.z = u_xlat2.w; u_xlat0.xyz = u_xlat0.xyz * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat3.zxy; u_xlat4.w = u_xlat0.x; inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2)] = floatBitsToUint(u_xlat4.x); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat4.y); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat4.z); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 3] = floatBitsToUint(u_xlat4.w); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2)] = floatBitsToUint(u_xlat0.y); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 1] = floatBitsToUint(u_xlat0.z); return; } @main$GlobalsinBlendShapeVerticesinOutMeshVertices%#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_FirstVert; uint g_VertCount; float g_Weight; }; struct inBlendShapeVertices_type { uint[10] value; }; layout(std430, binding = 1) readonly buffer inBlendShapeVertices { inBlendShapeVertices_type inBlendShapeVertices_buf[]; }; struct inOutMeshVertices_type { uint[10] value; }; layout(std430, binding = 0) buffer inOutMeshVertices { inOutMeshVertices_type inOutMeshVertices_buf[]; }; vec3 u_xlat0; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec3 u_xlat5; vec4 u_xlat6; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) + int(g_FirstVert); u_xlat1 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 3])); u_xlat2 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(16 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(16 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(16 >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(16 >> 2) + 3])); u_xlat0.xy = vec2(uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(32 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(32 >> 2) + 1])); u_xlat3 = vec4(uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 3]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 2])); u_xlat4 = vec4(uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 2]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 3])); u_xlat5.z = uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(32 >> 2) + 0]); u_xlat6.xyz = u_xlat1.yzw * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat3.yzw; u_xlat3.yz = u_xlat4.xy; u_xlat3.xyz = u_xlat2.yzx * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat3.yzx; u_xlat0.z = u_xlat2.w; u_xlat5.xy = u_xlat4.zw; u_xlat0.xyz = u_xlat0.zxy * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat5.xyz; u_xlat6.w = u_xlat3.z; inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2)] = floatBitsToUint(u_xlat6.x); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 1] = floatBitsToUint(u_xlat6.y); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 2] = floatBitsToUint(u_xlat6.z); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 3] = floatBitsToUint(u_xlat6.w); u_xlat3.zw = u_xlat0.xy; inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2)] = floatBitsToUint(u_xlat3.x); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 1] = floatBitsToUint(u_xlat3.y); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 2] = floatBitsToUint(u_xlat3.z); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 3] = floatBitsToUint(u_xlat3.w); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(32 >> 2)] = floatBitsToUint(u_xlat0.z); return; } @main$GlobalsinBlendShapeVerticesinOutMeshVertices*#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_FirstVert; uint g_VertCount; float g_Weight; }; layout(std430, binding = 1) readonly buffer inBlendShapeVertices { uint inBlendShapeVertices_buf[]; }; layout(std430, binding = 0) buffer inOutMeshVertices { uint inOutMeshVertices_buf[]; }; vec4 u_xlat0; int u_xlati0; bool u_xlatb0; vec3 u_xlat1; vec3 u_xlat2; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) + int(g_FirstVert); u_xlati0 = u_xlati0 * 40; u_xlat0 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0 >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0 >> 2) + 3])); u_xlati0 = floatBitsToInt(u_xlat0.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inOutMeshVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati0 >> 2) + 2])); u_xlat2.xyz = u_xlat0.yzw * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat1.xyz; inOutMeshVertices_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat2.x); inOutMeshVertices_buf[(u_xlati0 >> 2) + 1] = floatBitsToUint(u_xlat2.y); inOutMeshVertices_buf[(u_xlati0 >> 2) + 2] = floatBitsToUint(u_xlat2.z); return; } @main$GlobalsinBlendShapeVerticesinOutMeshVertices #version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_FirstVert; uint g_VertCount; float g_Weight; }; layout(std430, binding = 1) readonly buffer inBlendShapeVertices { uint inBlendShapeVertices_buf[]; }; layout(std430, binding = 0) buffer inOutMeshVertices { uint inOutMeshVertices_buf[]; }; vec3 u_xlat0; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; int u_xlati1; vec3 u_xlat2; vec3 u_xlat3; int u_xlati4; vec3 u_xlat5; int u_xlati12; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) + int(g_FirstVert); u_xlati4 = u_xlati0 * 40; u_xlat1 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati4 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati4 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati4 >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati4 >> 2) + 3])); u_xlati0 = u_xlati0 * 40 + 16; u_xlat0.xyz = vec3(uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati12 = floatBitsToInt(u_xlat1.x) * 24; u_xlat2.xyz = vec3(uintBitsToFloat(inOutMeshVertices_buf[(u_xlati12 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati12 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati12 >> 2) + 2])); u_xlati1 = floatBitsToInt(u_xlat1.x) * 24 + 12; u_xlat3.xyz = vec3(uintBitsToFloat(inOutMeshVertices_buf[(u_xlati1 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati1 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati1 >> 2) + 2])); u_xlat5.xyz = u_xlat1.yzw * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat2.xyz; u_xlat0.xyz = u_xlat0.xyz * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat3.xyz; inOutMeshVertices_buf[(u_xlati12 >> 2)] = floatBitsToUint(u_xlat5.x); inOutMeshVertices_buf[(u_xlati12 >> 2) + 1] = floatBitsToUint(u_xlat5.y); inOutMeshVertices_buf[(u_xlati12 >> 2) + 2] = floatBitsToUint(u_xlat5.z); inOutMeshVertices_buf[(u_xlati1 >> 2)] = floatBitsToUint(u_xlat0.x); inOutMeshVertices_buf[(u_xlati1 >> 2) + 1] = floatBitsToUint(u_xlat0.y); inOutMeshVertices_buf[(u_xlati1 >> 2) + 2] = floatBitsToUint(u_xlat0.z); return; } @main$GlobalsinBlendShapeVerticesinOutMeshVertices#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform CGlobals { uint g_FirstVert; uint g_VertCount; float g_Weight; }; layout(std430, binding = 1) readonly buffer inBlendShapeVertices { uint inBlendShapeVertices_buf[]; }; layout(std430, binding = 0) buffer inOutMeshVertices { uint inOutMeshVertices_buf[]; }; vec3 u_xlat0; ivec2 u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec3 u_xlat3; ivec2 u_xlati4; vec3 u_xlat5; vec4 u_xlat6; int u_xlati7; int u_xlati21; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0.x = int(gl_GlobalInvocationID.x) + int(g_FirstVert); u_xlati7 = u_xlati0.x * 40; u_xlat1 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati7 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati7 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati7 >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati7 >> 2) + 3])); u_xlati0.xy = u_xlati0.xx * ivec2(40, 40) + ivec2(16, 32); u_xlat2 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0.x >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0.x >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0.x >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0.x >> 2) + 3])); u_xlat0.xy = vec2(uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0.y >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0.y >> 2) + 1])); u_xlati21 = floatBitsToInt(u_xlat1.x) * 40; u_xlat3.xyz = vec3(uintBitsToFloat(inOutMeshVertices_buf[(u_xlati21 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati21 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati21 >> 2) + 2])); u_xlati4.xy = floatBitsToInt(u_xlat1.xx) * ivec2(40, 40) + ivec2(12, 24); u_xlat5.xyz = vec3(uintBitsToFloat(inOutMeshVertices_buf[(u_xlati4.x >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati4.x >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati4.x >> 2) + 2])); u_xlat6 = vec4(uintBitsToFloat(inOutMeshVertices_buf[(u_xlati4.y >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati4.y >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati4.y >> 2) + 2]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati4.y >> 2) + 3])); u_xlat1.xyz = u_xlat1.yzw * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat3.xyz; u_xlat2.xyz = u_xlat2.xyz * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat5.xyz; u_xlat0.z = u_xlat2.w; u_xlat6.xyz = u_xlat0.zxy * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat6.xyz; inOutMeshVertices_buf[(u_xlati21 >> 2)] = floatBitsToUint(u_xlat1.x); inOutMeshVertices_buf[(u_xlati21 >> 2) + 1] = floatBitsToUint(u_xlat1.y); inOutMeshVertices_buf[(u_xlati21 >> 2) + 2] = floatBitsToUint(u_xlat1.z); inOutMeshVertices_buf[(u_xlati4.x >> 2)] = floatBitsToUint(u_xlat2.x); inOutMeshVertices_buf[(u_xlati4.x >> 2) + 1] = floatBitsToUint(u_xlat2.y); inOutMeshVertices_buf[(u_xlati4.x >> 2) + 2] = floatBitsToUint(u_xlat2.z); inOutMeshVertices_buf[(u_xlati4.y >> 2)] = floatBitsToUint(u_xlat6.x); inOutMeshVertices_buf[(u_xlati4.y >> 2) + 1] = floatBitsToUint(u_xlat6.y); inOutMeshVertices_buf[(u_xlati4.y >> 2) + 2] = floatBitsToUint(u_xlat6.z); inOutMeshVertices_buf[(u_xlati4.y >> 2) + 3] = floatBitsToUint(u_xlat6.w); return; } @$Globals g_FirstVert g_VertCountg_Weight main$GlobalsinBlendShapeVerticesinOutMeshVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_FirstVert; uint g_VertCount; float g_Weight; }; struct inBlendShapeVertices_type { uint[10] value; }; layout(std430, binding = 1) readonly buffer inBlendShapeVertices { inBlendShapeVertices_type inBlendShapeVertices_buf[]; }; struct inOutMeshVertices_type { uint[3] value; }; layout(std430, binding = 0) buffer inOutMeshVertices { inOutMeshVertices_type inOutMeshVertices_buf[]; }; vec4 u_xlat0; int u_xlati0; bool u_xlatb0; vec3 u_xlat1; vec3 u_xlat2; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) + int(g_FirstVert); u_xlat0 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 3])); u_xlat1.xyz = vec3(uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat0.x)].value[(0 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat0.x)].value[(0 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat0.x)].value[(0 >> 2) + 2])); u_xlat2.xyz = u_xlat0.yzw * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat1.xyz; inOutMeshVertices_buf[floatBitsToInt(u_xlat0.x)].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat2.x)); inOutMeshVertices_buf[floatBitsToInt(u_xlat0.x)].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat2.y)); inOutMeshVertices_buf[floatBitsToInt(u_xlat0.x)].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat2.z)); return; } @main$GlobalsinBlendShapeVerticesinOutMeshVertices #version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_FirstVert; uint g_VertCount; float g_Weight; }; struct inBlendShapeVertices_type { uint[10] value; }; layout(std430, binding = 1) readonly buffer inBlendShapeVertices { inBlendShapeVertices_type inBlendShapeVertices_buf[]; }; struct inOutMeshVertices_type { uint[6] value; }; layout(std430, binding = 0) buffer inOutMeshVertices { inOutMeshVertices_type inOutMeshVertices_buf[]; }; vec3 u_xlat0; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec3 u_xlat3; vec4 u_xlat4; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) + int(g_FirstVert); u_xlat1 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 3])); u_xlat0.xyz = vec3(uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(16 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(16 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(16 >> 2) + 2])); u_xlat2 = vec4(uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 2]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 3])); u_xlat3.xy = vec2(uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 1])); u_xlat4.xyz = u_xlat1.yzw * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat2.xyz; u_xlat3.z = u_xlat2.w; u_xlat0.xyz = u_xlat0.xyz * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat3.zxy; u_xlat4.w = u_xlat0.x; inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat4.x)); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat4.y)); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat4.z)); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 3] = uint(floatBitsToUint(u_xlat4.w)); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2)] = uint(floatBitsToUint(u_xlat0.y)); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 1] = uint(floatBitsToUint(u_xlat0.z)); return; } @main$GlobalsinBlendShapeVerticesinOutMeshVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_FirstVert; uint g_VertCount; float g_Weight; }; struct inBlendShapeVertices_type { uint[10] value; }; layout(std430, binding = 1) readonly buffer inBlendShapeVertices { inBlendShapeVertices_type inBlendShapeVertices_buf[]; }; struct inOutMeshVertices_type { uint[10] value; }; layout(std430, binding = 0) buffer inOutMeshVertices { inOutMeshVertices_type inOutMeshVertices_buf[]; }; vec3 u_xlat0; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec4 u_xlat3; vec4 u_xlat4; vec3 u_xlat5; vec4 u_xlat6; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) + int(g_FirstVert); u_xlat1 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(0 >> 2) + 3])); u_xlat2 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(16 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(16 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(16 >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(16 >> 2) + 3])); u_xlat0.xy = vec2(uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(32 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[u_xlati0].value[(32 >> 2) + 1])); u_xlat3 = vec4(uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 3]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 2])); u_xlat4 = vec4(uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 2]), uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 3])); u_xlat5.z = uintBitsToFloat(inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(32 >> 2) + 0]); u_xlat6.xyz = u_xlat1.yzw * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat3.yzw; u_xlat3.yz = u_xlat4.xy; u_xlat3.xyz = u_xlat2.yzx * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat3.yzx; u_xlat0.z = u_xlat2.w; u_xlat5.xy = u_xlat4.zw; u_xlat0.xyz = u_xlat0.zxy * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat5.xyz; u_xlat6.w = u_xlat3.z; inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2)] = uint(floatBitsToUint(u_xlat6.x)); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 1] = uint(floatBitsToUint(u_xlat6.y)); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 2] = uint(floatBitsToUint(u_xlat6.z)); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(0 >> 2) + 3] = uint(floatBitsToUint(u_xlat6.w)); u_xlat3.zw = u_xlat0.xy; inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2)] = uint(floatBitsToUint(u_xlat3.x)); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 1] = uint(floatBitsToUint(u_xlat3.y)); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 2] = uint(floatBitsToUint(u_xlat3.z)); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(16 >> 2) + 3] = uint(floatBitsToUint(u_xlat3.w)); inOutMeshVertices_buf[floatBitsToInt(u_xlat1.x)].value[(32 >> 2)] = uint(floatBitsToUint(u_xlat0.z)); return; } @main$GlobalsinBlendShapeVerticesinOutMeshVertices|#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_FirstVert; uint g_VertCount; float g_Weight; }; layout(std430, binding = 1) readonly buffer inBlendShapeVertices { uint inBlendShapeVertices_buf[]; }; layout(std430, binding = 0) buffer inOutMeshVertices { uint inOutMeshVertices_buf[]; }; vec4 u_xlat0; int u_xlati0; bool u_xlatb0; vec3 u_xlat1; vec3 u_xlat2; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) + int(g_FirstVert); u_xlati0 = u_xlati0 * 40; u_xlat0 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0 >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0 >> 2) + 3])); u_xlati0 = floatBitsToInt(u_xlat0.x) * 12; u_xlat1.xyz = vec3(uintBitsToFloat(inOutMeshVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati0 >> 2) + 2])); u_xlat2.xyz = u_xlat0.yzw * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat1.xyz; inOutMeshVertices_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat2.x)); inOutMeshVertices_buf[(u_xlati0 >> 2) + 1] = uint(floatBitsToUint(u_xlat2.y)); inOutMeshVertices_buf[(u_xlati0 >> 2) + 2] = uint(floatBitsToUint(u_xlat2.z)); return; } @main$GlobalsinBlendShapeVerticesinOutMeshVertices #version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_FirstVert; uint g_VertCount; float g_Weight; }; layout(std430, binding = 1) readonly buffer inBlendShapeVertices { uint inBlendShapeVertices_buf[]; }; layout(std430, binding = 0) buffer inOutMeshVertices { uint inOutMeshVertices_buf[]; }; vec3 u_xlat0; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; int u_xlati1; vec3 u_xlat2; vec3 u_xlat3; int u_xlati4; vec3 u_xlat5; int u_xlati12; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0 = int(gl_GlobalInvocationID.x) + int(g_FirstVert); u_xlati4 = u_xlati0 * 40; u_xlat1 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati4 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati4 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati4 >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati4 >> 2) + 3])); u_xlati0 = u_xlati0 * 40 + 16; u_xlat0.xyz = vec3(uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0 >> 2) + 2])); u_xlati12 = floatBitsToInt(u_xlat1.x) * 24; u_xlat2.xyz = vec3(uintBitsToFloat(inOutMeshVertices_buf[(u_xlati12 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati12 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati12 >> 2) + 2])); u_xlati1 = floatBitsToInt(u_xlat1.x) * 24 + 12; u_xlat3.xyz = vec3(uintBitsToFloat(inOutMeshVertices_buf[(u_xlati1 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati1 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati1 >> 2) + 2])); u_xlat5.xyz = u_xlat1.yzw * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat2.xyz; u_xlat0.xyz = u_xlat0.xyz * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat3.xyz; inOutMeshVertices_buf[(u_xlati12 >> 2)] = uint(floatBitsToUint(u_xlat5.x)); inOutMeshVertices_buf[(u_xlati12 >> 2) + 1] = uint(floatBitsToUint(u_xlat5.y)); inOutMeshVertices_buf[(u_xlati12 >> 2) + 2] = uint(floatBitsToUint(u_xlat5.z)); inOutMeshVertices_buf[(u_xlati1 >> 2)] = uint(floatBitsToUint(u_xlat0.x)); inOutMeshVertices_buf[(u_xlati1 >> 2) + 1] = uint(floatBitsToUint(u_xlat0.y)); inOutMeshVertices_buf[(u_xlati1 >> 2) + 2] = uint(floatBitsToUint(u_xlat0.z)); return; } @main$GlobalsinBlendShapeVerticesinOutMeshVertices#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform CGlobals { uint g_FirstVert; uint g_VertCount; float g_Weight; }; layout(std430, binding = 1) readonly buffer inBlendShapeVertices { uint inBlendShapeVertices_buf[]; }; layout(std430, binding = 0) buffer inOutMeshVertices { uint inOutMeshVertices_buf[]; }; vec3 u_xlat0; ivec2 u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; vec3 u_xlat3; ivec2 u_xlati4; vec3 u_xlat5; vec4 u_xlat6; int u_xlati7; int u_xlati21; layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatb0 = gl_GlobalInvocationID.x>=g_VertCount; if(u_xlatb0){ return; } u_xlati0.x = int(gl_GlobalInvocationID.x) + int(g_FirstVert); u_xlati7 = u_xlati0.x * 40; u_xlat1 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati7 >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati7 >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati7 >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati7 >> 2) + 3])); u_xlati0.xy = u_xlati0.xx * ivec2(40, 40) + ivec2(16, 32); u_xlat2 = vec4(uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0.x >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0.x >> 2) + 1]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0.x >> 2) + 2]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0.x >> 2) + 3])); u_xlat0.xy = vec2(uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0.y >> 2) + 0]), uintBitsToFloat(inBlendShapeVertices_buf[(u_xlati0.y >> 2) + 1])); u_xlati21 = floatBitsToInt(u_xlat1.x) * 40; u_xlat3.xyz = vec3(uintBitsToFloat(inOutMeshVertices_buf[(u_xlati21 >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati21 >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati21 >> 2) + 2])); u_xlati4.xy = floatBitsToInt(u_xlat1.xx) * ivec2(40, 40) + ivec2(12, 24); u_xlat5.xyz = vec3(uintBitsToFloat(inOutMeshVertices_buf[(u_xlati4.x >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati4.x >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati4.x >> 2) + 2])); u_xlat6 = vec4(uintBitsToFloat(inOutMeshVertices_buf[(u_xlati4.y >> 2) + 0]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati4.y >> 2) + 1]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati4.y >> 2) + 2]), uintBitsToFloat(inOutMeshVertices_buf[(u_xlati4.y >> 2) + 3])); u_xlat1.xyz = u_xlat1.yzw * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat3.xyz; u_xlat2.xyz = u_xlat2.xyz * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat5.xyz; u_xlat0.z = u_xlat2.w; u_xlat6.xyz = u_xlat0.zxy * vec3(vec3(g_Weight, g_Weight, g_Weight)) + u_xlat6.xyz; inOutMeshVertices_buf[(u_xlati21 >> 2)] = uint(floatBitsToUint(u_xlat1.x)); inOutMeshVertices_buf[(u_xlati21 >> 2) + 1] = uint(floatBitsToUint(u_xlat1.y)); inOutMeshVertices_buf[(u_xlati21 >> 2) + 2] = uint(floatBitsToUint(u_xlat1.z)); inOutMeshVertices_buf[(u_xlati4.x >> 2)] = uint(floatBitsToUint(u_xlat2.x)); inOutMeshVertices_buf[(u_xlati4.x >> 2) + 1] = uint(floatBitsToUint(u_xlat2.y)); inOutMeshVertices_buf[(u_xlati4.x >> 2) + 2] = uint(floatBitsToUint(u_xlat2.z)); inOutMeshVertices_buf[(u_xlati4.y >> 2)] = uint(floatBitsToUint(u_xlat6.x)); inOutMeshVertices_buf[(u_xlati4.y >> 2) + 1] = uint(floatBitsToUint(u_xlat6.y)); inOutMeshVertices_buf[(u_xlati4.y >> 2) + 2] = uint(floatBitsToUint(u_xlat6.z)); inOutMeshVertices_buf[(u_xlati4.y >> 2) + 3] = uint(floatBitsToUint(u_xlat6.w)); return; } @$Globals g_FirstVert g_VertCountg_Weight#Internal-VT-TranslationTableReplaceReplaceTranslationTablecbReplacementData _input_map _output_bufDXBC~%)4#,<LISGNOSGNSHEX@PPjYF p__ h# @ O   ) @# @ 2 Fp) @ >cbReplacementDatanumReplacementsReplaceTranslationTablecbReplacementData _input_map _output_bufDXBC~%)4#,<LISGNOSGNSHEX@PPjYF p__ h# @ O   ) @# @ 2 Fp) @ >cbReplacementDatanumReplacementsReplaceTranslationTablecbReplacementData _input_map _output_buf #i GLSL.std.450main mainu_xlatu0 gl_WorkGroupIDgl_LocalInvocationIDu_xlatb0cbReplacementDatanumReplacementspad0pad1pad2'u_xlati07u_xlat09_input_map9_input_map_buf;Q_output_buf_origX0X Q_output_buf_origX0X_bufS^u_xlat_precise_vec4au_xlat_precise_ivec4du_xlat_precise_bvec4gu_xlat_precise_uvec4G G H#H#H#H# GG"G!G8H9H9#G9G;"G;!GPHQ#GQGS"GS!Gh ! ;    ; +  +;  ; ; +  &;&'+++04 54 65;67898 :9;:;+=+E K4PQP RQ;RS+V\4 ]\_ `_b cbe fe, hVV6;]^;`a;cd;fgA  =A  =>=A =! "!>"=#%#$%$A ( =)(|*),*+>',A - =.-|/.1/0=2'312>'3=<'><=?>A@;?=A@|4BA=C'DC=FDEAG;F=HG|4IHP5JBI>7JAKL7 =4ML|NMON=>'O=T'UT=AKW7V=4XW|YXAZSU>ZY%%8cbReplacementDatanumReplacements ReplaceTranslationTablecbReplacementData _input_map _output_buf#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbReplacementData { uint numReplacements; uint pad0; uint pad1; uint pad2; }; layout(std430, binding = 1) readonly buffer _input_map { uint _input_map_buf[]; }; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; vec2 u_xlat0; int u_xlati0; uint u_xlatu0; bool u_xlatb0; layout(local_size_x = 256, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatu0 = gl_WorkGroupID.x * 256u + gl_LocalInvocationID.x; u_xlatb0 = u_xlatu0> 2) + 0]), uintBitsToFloat(_input_map_buf[(u_xlati0 >> 2) + 1])); u_xlati0 = floatBitsToInt(u_xlat0.x) << 2; _output_buf_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat0.y); } return; } cbReplacementDatanumReplacements ReplaceTranslationTablecbReplacementData _input_map _output_buf=#version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif UNITY_BINDING(0) uniform cbReplacementData { uint numReplacements; uint pad0; uint pad1; uint pad2; }; layout(std430, binding = 1) readonly buffer _input_map { uint _input_map_buf[]; }; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; vec2 u_xlat0; int u_xlati0; uint u_xlatu0; bool u_xlatb0; layout(local_size_x = 256, local_size_y = 1, local_size_z = 1) in; void main() { u_xlatu0 = gl_WorkGroupID.x * 256u + gl_LocalInvocationID.x; u_xlatb0 = u_xlatu0> 2) + 0]), uintBitsToFloat(_input_map_buf[(u_xlati0 >> 2) + 1])); u_xlati0 = floatBitsToInt(u_xlat0.x) << 2; _output_buf_buf[(u_xlati0 >> 2)] = uint(floatBitsToUint(u_xlat0.y)); } return; } cbReplacementDatanumReplacements$Internal-VT-TranslationTableUpsampleMaincbTranslationTableData _output_buftranslationTableDXBCBvjM?K5I,<LISGNOSGNSHEXPjYF UU_2_2 h # F@ F%U 2@UB* @# *   ) @ P  <B:**># B:* B* )B*@* 2@'" @7  : @': '  : 6"@7 2FF* F> MaincbTranslationTableData lookupTexture _output_buftranslationTable@ DXBC WNɲ.@ ,<LISGNOSGNSHEX P{jYF 2XpDDUU_2_2 h # 2F@ F U 2F@UB* @# *   ) @ P2F < :># * : ):@:6 -BF| b@'"@7 *  @ : :6"@6@6@0PB:* 6@*UB:@:@(:O @" *:@7 B*@: :@6 FF "*<V <B:* B***6B@6@:@6V6**:6"@7 2FF6@6@6@0P":: 6@U":@ B@@:@O*@ " @ 2F <  *::B*@B*@O*@ " @ 2Fօ <B 6@:@6V6:7 B:*@'*@B*@<B* 'B  6B@7 2 F7 2 F: F> MaincbTranslationTableData _output_buftranslationTable DXBCR>Ck9݋.I ,<LISGNOSGNSHEXPjYF UU_2_2 h # F@ F%P2 <  ># :*   ) @"  V@'"*@7 *:" @'" 'B @"*7 bV@* FV> MaincbTranslationTableData lookupTexture _output_buftranslationTablex DXBCr;VNi-\Fx ,<LISGNOSGNSHEX$ PIjYF 2XpDDUU_2_2 h # 2F@ F P2F <  ># *   ) @" 6 -BF| V@'"*@7 *: @ : :6"@6b@6@0P** 6@:U*@*@(B:O r@"*:@7 B@: *@6  FF ":<V <:* *::6"@6@*@6bV6::7 b@6@62@6@0P: 6@:U@ @@@O:@ " @  :<B:* B***:@:@O:@ " @ 2Fօ :< 6@@626*7 B: @'*@B*@<B* 'B @6B@7 2 @f 7 b * FV> MaincbTranslationTableData _output_buftranslationTableDXBC.qw,<LISGNOSGNSHEXPpjYF UU_2_2 h & : * * @# F@ F%U b@U* @# "*:" )B@"* ) @ P  <B:**># B:* B* )*@:# B* : *)B*@* 2@'B @7 "  @'  ': 6B@7 bVV 2@6B@7 2B @'B* '  B:*6"@7  VV :*:F> MaincbTranslationTableData lookupTexture _output_buftranslationTableDXBCXSSg/ؚ,<LISGNOSGNSHEXPjYF 2XpDDUU_2_2 h & : * * @# 2F@ F U b@U* @# "*:" )B@* ) @ P2F < :># * : ):@:# * : :):@:6 -Ft b@'"@7 *  @    6"@6@6B@0P:* 6B@:U:@B:@(*O r @":B*@7 B@* *@6  FF ":<V <:* *::6B@6B@:@6V6B:**6"@7 2FF6"6@6@6"@0PB:: 6"@*UB:@ @@:@O:@ " @  *<B:* B***:@:@O:@ " @ V *<B:*6"@:@6V6"*7 B*@'"*@B*@<B* 'B  6B@7 R 7 2V 6" 2@6B@7 2FB @ B* *6"@6@6B@0PB:* 6B@*UB:@B:@(*O r @":B*@7 B@* *@6  FF "*<V <B:* B:**6B@6B@:@6V6B*B**6"@7  VV6b6@62@6"@0PB: 6"@*UB@ B@@@O*@ " @  *<B:* B:**B*@B*@O*@ " @ 2Fօ *< 6"@@626"*7 " @'B@"@<B '"  6B@7 2VF7   V6b*: :FF> MaincbTranslationTableData _output_buftranslationTableDXBC hi'T,<LISGNOSGNSHEXDPjYF UU_2_2 h # F@ F%P2 <  ># :*   )" @B# * : ) @  2 @'B @7 " *B@'B* '@B:*7 b @V 2@6B@7 V B*@'B* '*@B* 7  @   :F> MaincbTranslationTableData lookupTexture _output_buftranslationTabletDXBC鉨}zct,<LISGNOSGNSHEX PHjYF 2XpDDUU_2_2 h # 2F@ F P2F <  ># *   )" @B# * : ) @ 6 -Ft  @'"*@7 *:*B @ B* *6"@6@6B@0P:* 6B@:U:@:@(B:O r@"*:@7 B@: *@6  FF ":<V <:* *::6B@6B@:@6V6B:B**7  @6":6@6@6@0P:: 6@ U:@ "@@:@O@ " @   <B:* B***"@"@O@ " @ 2Fօ  <B 6@:@6V6*7 B:*@'B*@B*@<B* 'B @6B@7 2 @f 7  6": 2@6B@7 2FB @ B* *6"@6@6B@0P:* 6B@:U:@:@(" O r@" @7 B@  *@6  FF ":<2<  :::6B@6B@:@6V6B:B**7 2 @66@6@6B@0P:: 6B@:U:@ @@:@O @ " @ b :<"* ": @ @O @ " @ RV :<B* 6B@:@6V6B7 B**@'*@B*@<B* 'B @6B@7 2 @f 7 26 * :F > MaincbTranslationTableData _output_buftranslationTableDDXBCP '̑Y_D,<LISGNOSGNSHEXPjYF UU_2_2 h & : * *" @# F@ F%U  @U* @# B: *B* )*@":*) V @":"*)"@Pb <"*># ":* " )B@*# * : ) @ ) @ ) @  @'B @7 " ::"@'" '":6B@7 bVVV 2@6B@7 V "@'" 'B"*6B@7 bVVV 2@6B@7 V "@'" 'B "*6"@7 RVV  *  *66@FF> MaincbTranslationTableData lookupTexture _output_buftranslationTableDDXBCbp UD,<LISGNOSGNSHEXPjYF 2XpDDUU_2_2 h  & : * *" @# 2F@ F U @U* @# B: *B* )*@:*) V @:"*)"@Pb <"*># "* " )B@*# * : ):@:) @ ) @ 6 -rFF~ @'"*@7 *::" @ " 6" @6@6B@0P:* 6B@:U:@:@(:O r @" : :@7 B  @:  * @6    F F ":<V   <:*  ::6"@6B@ :@6V 6B:"*6"@7 2 VFF6" 6 @6@6B@0P:: 6B@:U:@ "@@:@O @ "  @   :<:*  ::"@"@O @ "  @  V :<":*6B@ :@6V 6B:7 "*@'@"@<B  '"  6B@7 V7 2   6"  2@6B@7 V B@ B* *6"@6@6B@0P:* 6B@:U:@:@(:O @" *:@7 B*@: :@6 FF ":<2<  ::6B@6B@:@6V6B:B**6"@7  V 6" *6":6@6@6@0P":: 6@U":@ B@@:@O*@ " @  <": "B*@B*@O*@ " @ bV <B*6@:@6V67 B *@'*@B*@<B* 'B 6B@7  V 7 V 6" 6": 2@6B@7 V B@ B* *6"@6@6B@0P:* 6B@ U:@":@(BO rV@"*"@7 B@ *@6  FF " <2<  *  6B@6B@:@6V6B B**6"@7  V6B :6@6r@0P": 6B@U"@ @@@O:@ " @ 2F <  *  :@:@O:@ " @ V <:6B@@626B 7 * @'" @ @<B  ' 6B@7 V 7 V 6B :**  :  * 6 @FF > MaincbTranslationTableData _output_buftranslationTablepDXBCWz*%)p,<LISGNOSGNSHEXPjYF UU_2_2 h # F@ F%P2 <  >& : * # ":* " ) R@*# * : ) @  ) @  b@'B@7 "*:"@'" '@":7 bV@V 2@6B@7 V "@'" 'B@"*7 bV@V 2@6B@7 V "@'" 'B@"*7 RV@  *  *66@FF> MaincbTranslationTableData lookupTexture _output_buftranslationTableDXBC+@gpbeN1,<LISGNOSGNSHEXTPUjYF 2XpDDUU_2_2 h  # 2F@ F P2F <  >& : * # "* " ) R@*# * : ) @  ) @ 6 -F6y @'"*@7 *::B @ B* *6"@6@6"@0P:* 6"@:U:@B:@(*O r @":B*@7 B@* *@6  FF ":<V <:* ::6B@6"@:@6V6":B*7 2 @F6"6@6@6"@0P:: 6"@:U:@ B@@:@O*@ " @  :<:* ::B*@B*@O*@ " @ V :<B:*6"@:@6V6":7 B*@'*@B*@<B* 'B @6B@7  @7 2 6" 2@6B@7 2FB @ B* *6"@6@6"@0P:* 6"@:U:@":@(O rV@":"@7 B@ *@6  FF ":<V <:* *::6B@6"@:@6V6":B*7  @6"*6":6@6@6"@0P:: 6"@:U:@ "@@:@O@ " @  :<:* *::"@"@O@ " @ V :<B:*6"@:@6V6":7 B*@'*@B*@<B* 'B @6B@7  @7 V 6"*6": 2@6B@7 2FB @ B* *6"@6@6"@0P:* 6"@:U:@":@(BO rV@"*"@7 B@ *@6  FF ":<bV<* :::6B@6"@:@6V6":B*7  @V6B:6@6@6"@0PB:: 6"@*UB:@ @@:@O:@ " @ 2F *<  :  :@:@O:@ " @ bV *<"*6"@:@6V6" 7 "@'@"@<B '" @6B@7 bV@ 7  6B:**   *6@FF> MaincbTranslationTableData _output_buftranslationTableD DXBCo˻bmv:D ,<LISGNOSGNSHEX P|jYF UU_2_2 h  & : * *" @# F@ F%U  @U* @# B: *B* )*@":*):@":)@*:):@":# "@*)"@Pb <"*># ":* " )B@*# * : ) @ ) @:):@:#  @) @  @'B @7 " ::" @'" ' ":6B@7 bVVV  2 @6B @7  V  "@'" 'B"*6B@7 bVVV 2@6B@7 V "@'" 'B"*6B@7 bV   2@6B@7 V "@'" 'B "*6"@7 VV * :* :66"FF> MaincbTranslationTableData lookupTexture _output_buftranslationTable#DXBCRqbBl#,<LISGNOSGNSHEX@#PjYF 2XpDDUU_2_2 h & : * *" @# 2F@ F U @U* @# B: *B* )*@:*):@:)@*:):@:# "@*)"@Pb <"*># "* " )B@*# * : ):@:) @:):@:#  @) @ 6 - FF~ @'" *@7  *::"  @ " 6" @6@6B@0P:* 6B@:U:@:@(:O r @" : :@7 B  @:  * @6    F F ":<V   <:*   ::6"@6B@ :@6V 6B:"*6"@7 2 VFF 6" 6 @6@6B@0P:: 6B@:U:@ "@@:@O @ "  @   :<:*   ::"@"@O @ "  @  V :<":*6B@ :@6V 6B:7 "*@'@"@<B  '"   6B@7 V 7 2   6"  2@6B@7 V B@ B* *6"@6@6B@0P:* 6B@:U:@:@(:O @" *:@7 B *@:  :@6  F F ":<2<   ::6B@6B@:@6V6B:B**6"@7  V 6" *6":6@6@6@0P":: 6@U":@ B@@:@O *@ "  @   <":* " B*@B*@O *@ "  @ b V <B*6@:@6V67 B *@'*@B*@<B* 'B 6B@7  V 7 V 6" 6": 2@6B@7 V B@ B* *6"@6@6B@0P:* 6B@ U:@":@(BO rV@"*"@7 B@ *@6  FF " <2<  *  6B@6B@:@6V6B B**6"@7  V 6B *6":6@6@6@0P":: 6@U":@ B@@:@O*@ " @ 2F <  *  B*@B*@O*@ " @ bV <B*6@:@6V6 7 B *@'*@B*@<B* 'B 6B@7  V 7 V 6B 6": 2@6B@7 V B@ B* *6"@6@6B@0P:* 6B@ U:@":@(BO rV@"*"@7 B@ *@6  FF " <2<  :  6B@6B@:@6V6B B**6"@7  V6 :6@6r@0P: 6B@ U@ "@@@O@ " @   <B: B: **"@"@O@ " @ 2Fօ  < 6B@@626B*7 * @'" @ @<B  ' 6B@7 V 7 V 6 :**  : :*  : FF > MaincbTranslationTableData _output_buftranslationTableDXBC W akX,<LISGNOSGNSHEXPjYF UU_2_2 h # F@ F%P2 <  >& : * # ":* " )B@*# * : ) @ )" @")"@#  @) @  @'B*@7 "*::"@'" '@":7 bV@V 2@6B@7 V B@'B* '@B:*7 b @V 2@6B@7 V B@'B* '@B:*7 b @  2@6B@7 V B@'B* '@B:*7  @ * * :66"FF> MaincbTranslationTableData lookupTexture _output_buftranslationTable!DXBCڅ!5d(ke_!,<LISGNOSGNSHEXD!PQjYF 2XpDDUU_2_2 h  # 2F@ F P2F <  >& : * # "* " )B@*# * : ) @ )" @")"@#  @) @ 6 -FF~ @'"*@7 *::B @ B* *6"@6@6"@0P:* 6"@:U:@B:@(*O r @" : B*@7 B  @*  * @6    F F ":<V   <:*  ::6B@6"@:@6V6":B*7 2 @F6"6 @6@6"@0P:: 6"@:U:@ B@@:@O *@ "  @   :<:*  ::B*@B*@O *@ "  @  V :<B:*6"@ :@6V 6":7 B*@'*@B*@<B * 'B @6B@7  @7 2  6" 2@6B@7 2FB @ B* *6"@6@6"@0P:* 6"@:U:@B:@(*O r @" : B*@7 B  @*  * @6    F F ":<V   <:* ::6B@6"@:@6V6":B*7  @6"*6":6@6@6"@0P:: 6"@:U:@ B@@:@O *@ "  @   :<:* ::B*@B*@O *@ "  @  V :<B:*6"@:@6V6":7 B*@'*@B*@<B* 'B @6B@7  @7 V 6"*6": 2@6B@7 2FB @ B* *6"@6@6"@0P:* 6"@:U:@B:@(*O r @" :B*@7 B @*  *@6  F F ":<V <:* *::6B@6"@:@6V6":B*7  @6B*6":6@6@6"@0P:: 6"@:U:@ B@@:@O*@ " @  :<:* *::B*@B*@O*@ " @ V :<B:*6"@:@6V6":7 B*@'*@B*@<B* 'B @6B@7  @7 V 6B*6": 2@6B@7 2FB @ B* *6"@6@6"@0P:* 6"@:U:@B:@(*O r @":B*@7 B@* *@6  FF ":<V <:* :::6B@6"@:@6V6":B*7  @V6:6@6@6B@0P:: 6B@:U:@ @@:@O:@ " @ 2F :<  :  :@:@O:@ " @ bV :<"*6B@:@6V6B 7 "*@'@"@<B '" @6B@7 V@7   6:**  * :FF> cbTranslationTableData invLevelwidthheight bufferOffsetLevelbufferOffsetLevelAbovecbTranslationTableData  levelinvLevelwidthheight bufferOffsetLevelbufferOffsetLevelAbovenumEvictedTiles numAddedTiles addedTiles  evictedTiles cbTranslationTableData invLevelwidthheight bufferOffsetLevelcbTranslationTableData  levelinvLevelwidthheight bufferOffsetLevelnumEvictedTiles numAddedTiles addedTiles  evictedTiles MaincbTranslationTableData _output_buftranslationTableDXBCBvjM?K5I,<LISGNOSGNSHEXPjYF UU_2_2 h # F@ F%U 2@UB* @# *   ) @ P  <B:**># B:* B* )B*@* 2@'" @7  : @': '  : 6"@7 2FF* F> MaincbTranslationTableData lookupTexture _output_buftranslationTable@ DXBC WNɲ.@ ,<LISGNOSGNSHEX P{jYF 2XpDDUU_2_2 h # 2F@ F U 2F@UB* @# *   ) @ P2F < :># * : ):@:6 -BF| b@'"@7 *  @ : :6"@6@6@0PB:* 6@*UB:@:@(:O @" *:@7 B*@: :@6 FF "*<V <B:* B***6B@6@:@6V6**:6"@7 2FF6@6@6@0P":: 6@U":@ B@@:@O*@ " @ 2F <  *::B*@B*@O*@ " @ 2Fօ <B 6@:@6V6:7 B:*@'*@B*@<B* 'B  6B@7 2 F7 2 F: F> MaincbTranslationTableData _output_buftranslationTable DXBCR>Ck9݋.I ,<LISGNOSGNSHEXPjYF UU_2_2 h # F@ F%P2 <  ># :*   ) @"  V@'"*@7 *:" @'" 'B @"*7 bV@* FV> MaincbTranslationTableData lookupTexture _output_buftranslationTablex DXBCr;VNi-\Fx ,<LISGNOSGNSHEX$ PIjYF 2XpDDUU_2_2 h # 2F@ F P2F <  ># *   ) @" 6 -BF| V@'"*@7 *: @ : :6"@6b@6@0P** 6@:U*@*@(B:O r@"*:@7 B@: *@6  FF ":<V <:* *::6"@6@*@6bV6::7 b@6@62@6@0P: 6@:U@ @@@O:@ " @  :<B:* B***:@:@O:@ " @ 2Fօ :< 6@@626*7 B: @'*@B*@<B* 'B @6B@7 2 @f 7 b * FV> MaincbTranslationTableData _output_buftranslationTableDXBC.qw,<LISGNOSGNSHEXPpjYF UU_2_2 h & : * * @# F@ F%U b@U* @# "*:" )B@"* ) @ P  <B:**># B:* B* )*@:# B* : *)B*@* 2@'B @7 "  @'  ': 6B@7 bVV 2@6B@7 2B @'B* '  B:*6"@7  VV :*:F> MaincbTranslationTableData lookupTexture _output_buftranslationTableDXBCXSSg/ؚ,<LISGNOSGNSHEXPjYF 2XpDDUU_2_2 h & : * * @# 2F@ F U b@U* @# "*:" )B@* ) @ P2F < :># * : ):@:# * : :):@:6 -Ft b@'"@7 *  @    6"@6@6B@0P:* 6B@:U:@B:@(*O r @":B*@7 B@* *@6  FF ":<V <:* *::6B@6B@:@6V6B:**6"@7 2FF6"6@6@6"@0PB:: 6"@*UB:@ @@:@O:@ " @  *<B:* B***:@:@O:@ " @ V *<B:*6"@:@6V6"*7 B*@'"*@B*@<B* 'B  6B@7 R 7 2V 6" 2@6B@7 2FB @ B* *6"@6@6B@0PB:* 6B@*UB:@B:@(*O r @":B*@7 B@* *@6  FF "*<V <B:* B:**6B@6B@:@6V6B*B**6"@7  VV6b6@62@6"@0PB: 6"@*UB@ B@@@O*@ " @  *<B:* B:**B*@B*@O*@ " @ 2Fօ *< 6"@@626"*7 " @'B@"@<B '"  6B@7 2VF7   V6b*: :FF> MaincbTranslationTableData _output_buftranslationTableDXBC hi'T,<LISGNOSGNSHEXDPjYF UU_2_2 h # F@ F%P2 <  ># :*   )" @B# * : ) @  2 @'B @7 " *B@'B* '@B:*7 b @V 2@6B@7 V B*@'B* '*@B* 7  @   :F> MaincbTranslationTableData lookupTexture _output_buftranslationTabletDXBC鉨}zct,<LISGNOSGNSHEX PHjYF 2XpDDUU_2_2 h # 2F@ F P2F <  ># *   )" @B# * : ) @ 6 -Ft  @'"*@7 *:*B @ B* *6"@6@6B@0P:* 6B@:U:@:@(B:O r@"*:@7 B@: *@6  FF ":<V <:* *::6B@6B@:@6V6B:B**7  @6":6@6@6@0P:: 6@ U:@ "@@:@O@ " @   <B:* B***"@"@O@ " @ 2Fօ  <B 6@:@6V6*7 B:*@'B*@B*@<B* 'B @6B@7 2 @f 7  6": 2@6B@7 2FB @ B* *6"@6@6B@0P:* 6B@:U:@:@(" O r@" @7 B@  *@6  FF ":<2<  :::6B@6B@:@6V6B:B**7 2 @66@6@6B@0P:: 6B@:U:@ @@:@O @ " @ b :<"* ": @ @O @ " @ RV :<B* 6B@:@6V6B7 B**@'*@B*@<B* 'B @6B@7 2 @f 7 26 * :F > MaincbTranslationTableData _output_buftranslationTableDDXBCP '̑Y_D,<LISGNOSGNSHEXPjYF UU_2_2 h & : * *" @# F@ F%U  @U* @# B: *B* )*@":*) V @":"*)"@Pb <"*># ":* " )B@*# * : ) @ ) @ ) @  @'B @7 " ::"@'" '":6B@7 bVVV 2@6B@7 V "@'" 'B"*6B@7 bVVV 2@6B@7 V "@'" 'B "*6"@7 RVV  *  *66@FF> MaincbTranslationTableData lookupTexture _output_buftranslationTableDDXBCbp UD,<LISGNOSGNSHEXPjYF 2XpDDUU_2_2 h  & : * *" @# 2F@ F U @U* @# B: *B* )*@:*) V @:"*)"@Pb <"*># "* " )B@*# * : ):@:) @ ) @ 6 -rFF~ @'"*@7 *::" @ " 6" @6@6B@0P:* 6B@:U:@:@(:O r @" : :@7 B  @:  * @6    F F ":<V   <:*  ::6"@6B@ :@6V 6B:"*6"@7 2 VFF6" 6 @6@6B@0P:: 6B@:U:@ "@@:@O @ "  @   :<:*  ::"@"@O @ "  @  V :<":*6B@ :@6V 6B:7 "*@'@"@<B  '"  6B@7 V7 2   6"  2@6B@7 V B@ B* *6"@6@6B@0P:* 6B@:U:@:@(:O @" *:@7 B*@: :@6 FF ":<2<  ::6B@6B@:@6V6B:B**6"@7  V 6" *6":6@6@6@0P":: 6@U":@ B@@:@O*@ " @  <": "B*@B*@O*@ " @ bV <B*6@:@6V67 B *@'*@B*@<B* 'B 6B@7  V 7 V 6" 6": 2@6B@7 V B@ B* *6"@6@6B@0P:* 6B@ U:@":@(BO rV@"*"@7 B@ *@6  FF " <2<  *  6B@6B@:@6V6B B**6"@7  V6B :6@6r@0P": 6B@U"@ @@@O:@ " @ 2F <  *  :@:@O:@ " @ V <:6B@@626B 7 * @'" @ @<B  ' 6B@7 V 7 V 6B :**  :  * 6 @FF > MaincbTranslationTableData _output_buftranslationTablepDXBCWz*%)p,<LISGNOSGNSHEXPjYF UU_2_2 h # F@ F%P2 <  >& : * # ":* " ) R@*# * : ) @  ) @  b@'B@7 "*:"@'" '@":7 bV@V 2@6B@7 V "@'" 'B@"*7 bV@V 2@6B@7 V "@'" 'B@"*7 RV@  *  *66@FF> MaincbTranslationTableData lookupTexture _output_buftranslationTableDXBC+@gpbeN1,<LISGNOSGNSHEXTPUjYF 2XpDDUU_2_2 h  # 2F@ F P2F <  >& : * # "* " ) R@*# * : ) @  ) @ 6 -F6y @'"*@7 *::B @ B* *6"@6@6"@0P:* 6"@:U:@B:@(*O r @":B*@7 B@* *@6  FF ":<V <:* ::6B@6"@:@6V6":B*7 2 @F6"6@6@6"@0P:: 6"@:U:@ B@@:@O*@ " @  :<:* ::B*@B*@O*@ " @ V :<B:*6"@:@6V6":7 B*@'*@B*@<B* 'B @6B@7  @7 2 6" 2@6B@7 2FB @ B* *6"@6@6"@0P:* 6"@:U:@":@(O rV@":"@7 B@ *@6  FF ":<V <:* *::6B@6"@:@6V6":B*7  @6"*6":6@6@6"@0P:: 6"@:U:@ "@@:@O@ " @  :<:* *::"@"@O@ " @ V :<B:*6"@:@6V6":7 B*@'*@B*@<B* 'B @6B@7  @7 V 6"*6": 2@6B@7 2FB @ B* *6"@6@6"@0P:* 6"@:U:@":@(BO rV@"*"@7 B@ *@6  FF ":<bV<* :::6B@6"@:@6V6":B*7  @V6B:6@6@6"@0PB:: 6"@*UB:@ @@:@O:@ " @ 2F *<  :  :@:@O:@ " @ bV *<"*6"@:@6V6" 7 "@'@"@<B '" @6B@7 bV@ 7  6B:**   *6@FF> MaincbTranslationTableData _output_buftranslationTableD DXBCo˻bmv:D ,<LISGNOSGNSHEX P|jYF UU_2_2 h  & : * *" @# F@ F%U  @U* @# B: *B* )*@":*):@":)@*:):@":# "@*)"@Pb <"*># ":* " )B@*# * : ) @ ) @:):@:#  @) @  @'B @7 " ::" @'" ' ":6B@7 bVVV  2 @6B @7  V  "@'" 'B"*6B@7 bVVV 2@6B@7 V "@'" 'B"*6B@7 bV   2@6B@7 V "@'" 'B "*6"@7 VV * :* :66"FF> MaincbTranslationTableData lookupTexture _output_buftranslationTable#DXBCRqbBl#,<LISGNOSGNSHEX@#PjYF 2XpDDUU_2_2 h & : * *" @# 2F@ F U @U* @# B: *B* )*@:*):@:)@*:):@:# "@*)"@Pb <"*># "* " )B@*# * : ):@:) @:):@:#  @) @ 6 - FF~ @'" *@7  *::"  @ " 6" @6@6B@0P:* 6B@:U:@:@(:O r @" : :@7 B  @:  * @6    F F ":<V   <:*   ::6"@6B@ :@6V 6B:"*6"@7 2 VFF 6" 6 @6@6B@0P:: 6B@:U:@ "@@:@O @ "  @   :<:*   ::"@"@O @ "  @  V :<":*6B@ :@6V 6B:7 "*@'@"@<B  '"   6B@7 V 7 2   6"  2@6B@7 V B@ B* *6"@6@6B@0P:* 6B@:U:@:@(:O @" *:@7 B *@:  :@6  F F ":<2<   ::6B@6B@:@6V6B:B**6"@7  V 6" *6":6@6@6@0P":: 6@U":@ B@@:@O *@ "  @   <":* " B*@B*@O *@ "  @ b V <B*6@:@6V67 B *@'*@B*@<B* 'B 6B@7  V 7 V 6" 6": 2@6B@7 V B@ B* *6"@6@6B@0P:* 6B@ U:@":@(BO rV@"*"@7 B@ *@6  FF " <2<  *  6B@6B@:@6V6B B**6"@7  V 6B *6":6@6@6@0P":: 6@U":@ B@@:@O*@ " @ 2F <  *  B*@B*@O*@ " @ bV <B*6@:@6V6 7 B *@'*@B*@<B* 'B 6B@7  V 7 V 6B 6": 2@6B@7 V B@ B* *6"@6@6B@0P:* 6B@ U:@":@(BO rV@"*"@7 B@ *@6  FF " <2<  :  6B@6B@:@6V6B B**6"@7  V6 :6@6r@0P: 6B@ U@ "@@@O@ " @   <B: B: **"@"@O@ " @ 2Fօ  < 6B@@626B*7 * @'" @ @<B  ' 6B@7 V 7 V 6 :**  : :*  : FF > MaincbTranslationTableData _output_buftranslationTableDXBC W akX,<LISGNOSGNSHEXPjYF UU_2_2 h # F@ F%P2 <  >& : * # ":* " )B@*# * : ) @ )" @")"@#  @) @  @'B*@7 "*::"@'" '@":7 bV@V 2@6B@7 V B@'B* '@B:*7 b @V 2@6B@7 V B@'B* '@B:*7 b @  2@6B@7 V B@'B* '@B:*7  @ * * :66"FF> MaincbTranslationTableData lookupTexture _output_buftranslationTable!DXBCڅ!5d(ke_!,<LISGNOSGNSHEXD!PQjYF 2XpDDUU_2_2 h  # 2F@ F P2F <  >& : * # "* " )B@*# * : ) @ )" @")"@#  @) @ 6 -FF~ @'"*@7 *::B @ B* *6"@6@6"@0P:* 6"@:U:@B:@(*O r @" : B*@7 B  @*  * @6    F F ":<V   <:*  ::6B@6"@:@6V6":B*7 2 @F6"6 @6@6"@0P:: 6"@:U:@ B@@:@O *@ "  @   :<:*  ::B*@B*@O *@ "  @  V :<B:*6"@ :@6V 6":7 B*@'*@B*@<B * 'B @6B@7  @7 2  6" 2@6B@7 2FB @ B* *6"@6@6"@0P:* 6"@:U:@B:@(*O r @" : B*@7 B  @*  * @6    F F ":<V   <:* ::6B@6"@:@6V6":B*7  @6"*6":6@6@6"@0P:: 6"@:U:@ B@@:@O *@ "  @   :<:* ::B*@B*@O *@ "  @  V :<B:*6"@:@6V6":7 B*@'*@B*@<B* 'B @6B@7  @7 V 6"*6": 2@6B@7 2FB @ B* *6"@6@6"@0P:* 6"@:U:@B:@(*O r @" :B*@7 B @*  *@6  F F ":<V <:* *::6B@6"@:@6V6":B*7  @6B*6":6@6@6"@0P:: 6"@:U:@ B@@:@O*@ " @  :<:* *::B*@B*@O*@ " @ V :<B:*6"@:@6V6":7 B*@'*@B*@<B* 'B @6B@7  @7 V 6B*6": 2@6B@7 2FB @ B* *6"@6@6"@0P:* 6"@:U:@B:@(*O r @":B*@7 B@* *@6  FF ":<V <:* :::6B@6"@:@6V6":B*7  @V6:6@6@6B@0P:: 6B@:U:@ @@:@O:@ " @ 2F :<  :  :@:@O:@ " @ bV :<"*6B@:@6V6B 7 "*@'@"@<B '" @6B@7 V@7   6:**  * :FF> cbTranslationTableData invLevelwidthheight bufferOffsetLevelbufferOffsetLevelAbovecbTranslationTableData  levelinvLevelwidthheight bufferOffsetLevelbufferOffsetLevelAbovenumEvictedTiles numAddedTiles addedTiles  evictedTiles cbTranslationTableData invLevelwidthheight bufferOffsetLevelcbTranslationTableData  levelinvLevelwidthheight bufferOffsetLevelnumEvictedTiles numAddedTiles addedTiles  evictedTiles MaincbTranslationTableDatatranslationTable _output_buf# GLSL.std.450main  main u_xlatu0 gl_WorkGroupIDgl_LocalInvocationIDu_xlatu1u_xlatu7#cbTranslationTableData#level#invLevel#width#height#bufferOffsetLevel #bufferOffsetLevelAbove#numEvictedTiles#numAddedTiles#addedTiles# evictedTiles%-u_xlati1Cu_xlat1E_output_buf_origX0X E_output_buf_origX0X_bufGRu_xlatb4nu_xlati4u_xlat7u_xlati10u_xlati2u_xlatb2u_xlatb5 translationTable_origX1Xu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G G G G"H##H##H##H## H##H##H##H##H## H# # G#G%"G%!GDHE#GEGG"GG!G"G!GG !  ;     ; + ,;  ;+, ; +!"! # " $#;$%& +&' ( ,&;,-+4+&:A BA;BCDED FE;FG+&HOPO QP;QR+&W_O bO;,n+o+&|;B;,++;,+;b+&;b+&+ A ;&A &  _ , 6;;;;= O  = O > = O>A()%'=*)+*>+A.=/.|&0/=1|&21&302A54=65|&76&837>-8=&9-A(;%:=<;|&=<&>9=>->=&?-&@?'>-@=&I-&JI'&KJHA(LGHK=ML|ANM>CN=S O TSSA(U%'=VUA(X%W=YXA(Z%'=[ZA(\%'=]\P^VY[]_`T^OPa``>RaAbcR=OdcAbeR4=OfeOgdfAbhR4>hgAbiR4=OjiljklklAp o=qp|&rqA(s%'=ts|&ut&vruAw 4=xw|&yx&zvy>nz=&{nA(}%|=~}|&~&{>n=&n&'>n=&n&'&HA(GH=|A>=A||&>=&OH=A||A>=A||&>=&A(%=|&O>=AC|&=A|&O>=O=OO>=O=AC>>-=&OH4|&>-=&-OH=&n&'=A|A(GH>== O|=APc8 MaincbTranslationTableData lookupTextureTtranslationTable _output_buf,0# GLSL.std.450main  main u_xlatu0 gl_WorkGroupIDgl_LocalInvocationIDu_xlatu1!u_xlatu13%cbTranslationTableData%level%invLevel%width%height%bufferOffsetLevel %bufferOffsetLevelAbove%numEvictedTiles%numAddedTiles%addedTiles% evictedTiles'/u_xlati1Eu_xlat1G_output_buf_origX0X G_output_buf_origX0X_bufITu_xlatb7pu_xlati7u_xlat13u_xlati12lookupTexturehlslcc_dummyPointClampu_xlati18u_xlati19u_xlatb18u_xlatu2u_xlatu14u_xlatb3u_xlatu3u_xlatu9u_xlati15u_xlati4u_xlati5 u_xlati9u_xlati3u_xlatb15u_xlatb12 translationTable_origX1Xu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G G G"G$H%#H%#H%#H%# H%#H%#H%#H%#H%# H% # G%G'"G'!GFHG#GGGI"GI!G"G!GG"G!GG"G!GG !  ;     ;  + , ;   ;+,   ; !"+#$# %"$ &%;&'( +() * .(;./+6+(<C DC;DEFGF HG;HI+(JQRQ SR;ST+(YaQ dQ;.p+(};D;.  ; ;(+;.+;.+++;d+(;;)Q;d+(; +;  ;( ;,6Q, 666, ( ;;. +(;+(" %+(E+(d+(;d;d+ C ;C   a , 6;;;;=  O  = O  = O > = O  >A*+')=,+-,>!-A 0=10|(21=3!|(43(524A 76=87|(98(:59>/:=(;/A*='<=>=|(?>(@;?>/@=(A/(BA)>/B=(K/(LK)(MLJA*NIJM=ON|CPO>EP=U O VUUA*W')=XWA*Z'Y=[ZA*\')=]\A*^')=_^P`X[]_abV`ORcbb>TcAdeT=QfeAdgT6=QhgQifhAdjT6>jiAdkT6=QlknlmnmnA q =rq|(srA*t')=ut|(vu(wsvA x 6=yx|(zy({wz>p{=(|pA*~'}=~|((|>p=(p()>p=(p()(JA*IJ=|C>A*'J=P = O > ==V= O |A =|(d_Q|(>=C||(>=(QJ6|(>=(QJ=C||C>=C||(>=(A*'=|(Q>=QYA >6A 6>6A >6>JA =A*'=Q>>J=QA =>A =>=|((JA.6>=PaO P  |>A.6=(|A.=(||( A. >  = |(  ( > A.=(QJ=( (JA.>A.=(QJ6|(A.>A.6=(A.6>= |! =#|($#A%&'"$='&(!'|)(>)=*O+**| ,+=-O.--| /. 0,/|10=2O 321>3A.4=(54|65A.76=(87|98:69|(;:A.<6><;=(=A.>6=(?>Q@=?>@=QACABCBA D6>D>ECA G=HGIHA J6>JI= KO LKK>L=QM>M=(NQONJQOPQPA R6>R6QQA S6=TSQUT6WUVWV=CXE>X>EWWYA Z>Z6A [6>[6A \>\6>J]]_`aa^_^A b=cbA*e'd=feQgcf>g>J=Qhjhiji_jA l=mlnm>nA o=po|(qp(rJq|sr>s=tQutvu6|(wvA.x6>xwA.y6=(zyQ{zJ|{6|(}|A.~>~}=O| =|(A%'=O  |>A.=(|A.6=(||(A.6>=(A.6=(Q>=Q=|((> =( |>=Q6|(A.6>A.6=(QJ6|(A.>=O| =|(A%'=O  |=O >A.=(|A.6=(|A 6>>E_A =A 6>= O >=Q>``]_=(QJA 6>A 6=|(QE>=QA 6=|(>=(|A*'=|C>>E=CE|(=C|(Q>=Q=CE>>E=(QJ=(p()=C|A*IJ>== O |=CPc8 MaincbTranslationTableDatatranslationTable _output_buf# GLSL.std.450main  main u_xlatu0 gl_WorkGroupIDgl_LocalInvocationIDu_xlatb1cbTranslationTableDatalevelinvLevelwidthheightbufferOffsetLevel bufferOffsetLevelAbovenumEvictedTilesnumAddedTilesaddedTiles evictedTiles!Au_xlati1Yu_xlat4[_output_buf_origX0X [_output_buf_origX0X_buf]eu_xlati7tu_xlati10zu_xlatb10u_xlatb2 translationTable_origX1Xu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G G GGH#H#H#H# H#H#H#H#H# H # GG!"G!!GZH[#G[G]"G]!G"G!GG !  ;     ; + ,;  ;+   ; !" +"# $+"'/+2 3+6 @";@A+B C+"PW XW;XYZ[Z \[;\]+"^;@e+h+q;@t+w;3z+"|;3+"+"+ W ;"W "  / , 26;;;;= O  = O > = O A$%!#=&%A$(!'=)(A$*!#=+*A$,!#=-,P.&)+-/0.O100>1A342=54A376=87958A3:6>:9A3;6=<;><=>=>ACD B=ED|"FEA$G!#=HG|"IH"JFIACK 6=LK|"ML"NJM>AN="OAA$Q!P=RQ|"SR"TOS>AT="UA"VU#>AV="_A"`_#"a`^A$b]^a=cb|Wdc>Yd=WfY|gfigh|"ji>ej="kelk^nlmnm=WoY|porpq|Wsr>Ysnn=WuY|vuxvw|"yx>ty="{tA$}!|=~}|"~{>z=WY|">=z=>z=z|W>Y>t="e^6|">t="t^="A"#=WY|A$]^>== O|=WYPc8 MaincbTranslationTableData lookupTextureTtranslationTable _output_buf-# GLSL.std.450main  main u_xlatu0 gl_WorkGroupIDgl_LocalInvocationIDu_xlatb1"cbTranslationTableData"level"invLevel"width"height"bufferOffsetLevel "bufferOffsetLevelAbove"numEvictedTiles"numAddedTiles"addedTiles" evictedTiles$Du_xlati1[u_xlat7]_output_buf_origX0X ]_output_buf_origX0X_buf_lu_xlati12olookupTextureshlslcc_dummyPointClampu_xlati18u_xlati13u_xlatb18u_xlatu2u_xlatu14u_xlatb19u_xlatu19u_xlatu3u_xlati9u_xlati4u_xlati5u_xlati3u_xlati19vu_xlatb9u_xlatb12 translationTable_origX1Xu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G G GG!H"#H"#H"#H"# H"#H"#H"#H"#H"# H" # G"G$"G$!G\H]#G]G_"G_!Go"Go!GsGs"Gs!GtG"G!GG !  ;     ;  + , ;  ;+ !  "! #";#$% +%& '+%*2+5 6+9 C%;CD E+%RY ZY;Z[\]\ ^];^_+%`;Cl m nm;noq rq;rsumy%+{;C+;C+++;6+%  ;;);6+%;E+;E y;% ;,5{9, 999, 555% ;;+% %+% ;C+%'+%:+%G+%e;6v;6+ Y ;Y   2 , 56;;;;;=  O  = O  = O > = O A'($&=)(A'+$*=,+A'-$&=.-A'/$&=0/P1),.0231O433>4A675=87A6:9=;:<8;A6=9>=<A6>9=?>A?@A@AAEF 5=GF|%HGA'I$&=JI|%KJ%LHKAEM 9=NM|%ON%PLO>DP=%QDA'S$R=TS|%UT%VQU>DV=%WD%XW&>DX=%aD%ba&%cb`A'd_`c=ed|Yfe>[fA'g$`=hgP ihh=j O kji> k=mpo=qtsVuvpt=w O xww|yzxAE| {=}||%~}dmv_z~Q|%>l=Y[||%>=%`9|%>=%`=Y[||Y>[=Y[||%>=%A'$=|%>=<AE5>9AE9>9AE5>9>`AE5=A'$=>>`=AE5=>AE5={>=|%%`AC9>=P2O P  |>AC9=%|AC5=%||%AC5>=|%%AC9>AC5=%`>`AC9=%>=%AC>AC=%`9|%AC{>AC9=%AC9>=|=|%A $=    |  > = Oy  | =Oy|  |y=O >AC5=%|AC9=%||%>=% l=%!" !>"=#%#$%$AE&9>&>'%AE)5=*)+*5AE,9>,+= -O .-->.=/>/=%010`31232AE49>4933AE59=6576997898|Y;:>[;>'99<AE=5>=9AE>9>>9AE?5>?9>`@@BCDDABAAEE5=FEA'H$G=IHJFI>J>`=KMKLMLBMAEO5=POQP5>QAER5=SR|%TS%U`T|VU>V=WXW5YX9|%ZYAC[9>[ZAC\9=%]\^]`_^9|%`_ACa5>a`=bOycbb| dc=f|%gfAh$eg=ihO jii kdj|ylk>lACm5=%nm|onACp9=%qp|rqsor|%tsACu9>ut=%wlACx9=%yxzwy>vz={v}{|}|=~|%~%AC9>AC9=%|>=59|%AC9>AC9=%`9|%AC5>=Oy| =|%A$e=O  |y=O >AC=%|AC9=%|AE9>>'B}AE5=5AE9>= O >=v>CC@B=%`AE9>AE9=|%'>=AE9=|%>l=%l|A'$=|Y>[>'=Y[|%:>=>'|Y:>[=%`=%D%&=Y[|A'_`>== O |y=Y[Pc8 MaincbTranslationTableDatatranslationTable _output_buf<#>1 GLSL.std.450main"' mainu_xlati0cbTranslationTableDatalevelinvLevelwidthheightbufferOffsetLevel bufferOffsetLevelAbovenumEvictedTilesnumAddedTilesaddedTiles evictedTilesu_xlatu1"gl_WorkGroupID'gl_LocalInvocationID-u_xlatu44u_xlatu128u_xlati4Ju_xlati8Ou_xlat8Q_output_buf_origX0X Q_output_buf_origX0X_bufS`u_xlat0ju_xlatb4u_xlati12u_xlat2u_xlati10u_xlati14u_xlatb14u_xlatb3u_xlatb10 *translationTable_origX1X5u_xlat_precise_vec48u_xlat_precise_ivec4:u_xlat_precise_bvec4<u_xlat_precise_uvec4G GH#H#H#H# H#H#H#H#H# H # GG"G!G" G' GPHQ#GQGS"GS!G*"G*!G*G= !  ;  +  +     ;+  +  ;  ! ;!", % ;!'+  ,+;,-+ 0,+100 3 ;34;8+ ?+E;JM NM;NOP QP RQ;RS+T;N`ghg ih;ijvgxg+ | }g+ +;M ;;+ + ;+ ;}+;}++ ;} (M )(;)*.0M 406 76 9v ; , = 06;45;78;9:;;<A= |A= |>=>= #"O $## &$%= ('O )(( *&)>*= .O+/..+2/1>-2A5= 65 760>47A39-0= :9|;:= <4|=<>;=A3@-?= A@|BAC>B>8C=D8AFE= GF|HGIDH>8I=K8LK>JL=UJVUWVTAXSTW= YX|MZY>OZ=[8=\][\>]=^_^>_=abacbTAdSTc= ed|Mfe>`f= kO lkkAm= nmAo= poAq= rqAs= tsP unprtvwluOxyww=hzjOh{zy>j{A}~j|=g~A}j?=ggA}j?>A}j?=gA3= |A= |A3?= |>8=8A= |>8=8>=TAST= |MAN?>A= |A= |=8>8=8>8=8TAST= |MAN0>AN?=M|  |>=gTAN?=M|  |MAN?>AN?=M|  |>=A= |g>=MO|AN?=M|g>=g=gg>=g=MOAN?>>J=gT ?|>JAN0=M|  |>=gTAN0=M|  |MAN0>>JAN0=M|  |>=A= |g > =M `|  AN 0=M  | g >=g=gg>=g=M`AN0>>J=JgT=AN?=M| A!ST>! ="8#"AN$0=M%$| &%A'ST#>'&=(+*= ,O+-,,|./-=1O 0211c+/28 MaincbTranslationTableData lookupTextureTtranslationTable _output_bufO#{1 GLSL.std.450main"( mainu_xlati0cbTranslationTableDatalevelinvLevelwidthheightbufferOffsetLevel bufferOffsetLevelAbovenumEvictedTilesnumAddedTilesaddedTiles evictedTilesu_xlatu1"gl_WorkGroupID(gl_LocalInvocationID/u_xlatu76u_xlatu21:u_xlati7Lu_xlati14Qu_xlat14S_output_buf_origX0X S_output_buf_origX0X_bufUbu_xlat0lu_xlatb7u_xlati21u_xlat2u_xlati15lookupTexturehlslcc_dummyPointClampu_xlati16u_xlati23u_xlatb16u_xlatu3u_xlatu17 u_xlatb4u_xlatu4u_xlatu11u_xlati18%u_xlati54u_xlati6?u_xlati11Zu_xlati4u_xlatb18 u_xlatb15Cu_xlatb14]u_xlatu15au_xlatu16 itranslationTable_origX1Xsu_xlat_precise_vec4uu_xlat_precise_ivec4wu_xlat_precise_bvec4yu_xlat_precise_uvec4G GH#H#H#H# H#H#H#H#H# H # GG"G!G" G( GRHS#GSGU"GU!G"G!GG"G!GGi"Gi!GiGz !  ;  +  +     ;+  +  ;  ! ;!"# ,#& ;!( .#;./+ 2,#322 5 ;56;:+ A+G;LO PO;PQR SR TS;TU+V;Pbiji kj;klxizi+ ~ i+;O ; ;  ; ;+ ;+ ;+ + + ;+;.;.)i ; +;5;5;# $#;$%, (2~A, +AAA, ,2220;$4 >0;>?+B H;$Z+] ` +++;; + ;C;5];5a, k2~ gO hg;hinO rn t# vx x , z 26;HI;rs;tu;vw;xyA= |A= |>=>= $"O#%$$#'%&= )(O#*))#+'*= ,O -,+>-= 0O#100#413>/4A7= 87 982>69A5;/2= <;|=<= >6|?>@=?A5B/A= CB|DCE@D>:E=F:AHG= IH|JIKFJ>:K=M:NM>LN=WLXWYXVAZUVY= [Z|O\[>Q\=]:=^_]^>_=`a`>a=cdcedVAfUVe= gf|Ohg>bh= mO nmmAo= poAq= rqAs= tsAu= vuP wprtvxynwOz{yy=j|lOj}|{>l}Al~=iAlA=iiAlA>AlA=iA52= |A= |A5A= |>:=:A= |>:=:>=VAUV= |OAPA>A= |A= |=:>:=:>:=:VAUV= |OAP2>AV= P#= O >==V= O#|A5= |d_ O#|>APA=O|  |>=iV A|>=iVAPA=O|  |OAPA>APA=O|  |>=A= |i>=iA52>AA5A>AA52>A>V   A5 2=  A= i > >V=i A52=  ~>A52=  >= | !V A"A>"!= &P '&&&&x)'(Oj*)) -*,+P . /-.|01/=#2%O #321>%3A5A=65| 76A8%2=98| :9 ;7:|<;A=42>=<= @|A@CABAD?A>DCAE%2=FEiGFVKGJLJ>IVKLAM?A=NM>INKK=OIAP4~>POAQ%~=RQiSRV TSA|UTAV4>VUAW%A=XWAY4A>YX=#[4| \[= ^|_^A`a]_= ba c\b|#dc>Zd=#eZOfee|#gf=#hZOihh|#ji#kgj|lk=#mZO #nml>ZnAoZ2=po| qpArZA=sr| ts uqt|vuAwZA>wvAxA=yxAzZA={zi|y{> |=i} }~~A5A>>A52=  2A5A>=#O#>=i >=iVA5A>AA5A= iA=OQAPA>>A52>AA5A>AA52>A>V A52= A= i> >V=i A52=  2>A52= |V| >= i2 A|A%A>A%A=iV A|A%2>=#%O|#= |A`= O##|>A2=| AA=|  |AA>AA=AA=i>=i= |A?A>A?A=|  >= i2 A|A%A>A%A=iV A|A%2>=#%O|#= |A`= O##|=#ZO #>ZAZ2=| AZA=|  A5A>>A52=  2A5A>=#O#>=i>=i V     A5 A>   A5A= |i> =i #A5A=  |AA>AA=| A=  |O! AP"A>"!>#=O$Q|%$AP&A=O'&|('i)%(> )=i* ,*+,+=O-QAP.A>.->,,AP/2=O0/| 10 21|32>L3=4Li54V75676AP82=O98| :9 ;:|O<;AP=2>=<>77AP>2=O?>| @? A@|BA>LB=DLAE= FE|GFiHDG>CH=iICKIJJA5L2>LAA5MA>MAA5N2>NA>LVOOQRSS PQPA5T2= UTAV= WViXUW> X>LV=iY [YZ[ZQ[A5^2= _^ `_~>]`A5b2= cb dc>ad= ea|fegVfAhZA>hg= iaP jiiiixljkOjmll nm,+P o pno|0qp>?qArZA=sr| tsAu?2=vu| wv xtw|yxAz%2>zy= {a||{}|B>}A~?2=~iV=VA%~>A?~=iV A|A%>A?A=A%A>=#%| = ]|A`]=  |#>Z=#ZO|#=#ZO|##|=#ZO #>ZAZ2=| AZA=|  |AA>A2=AA=i> =i A5A>>LQA52=  2A5A>=#O#>=i >CRROQ=LiVA5A>AA5A= iA=ObAP2>>KA52>AA5A>AA52>A>LV A52= A= i> >LV=i A52=  2>]A52= |V| >a= ai2 A|AZA>AZA=iV A|AZ2>=#ZO|#= ]|A`= O##|=#ZO #>ZAZ2=| AZA=|  |AZA>A2=AZA=i> =i = a| > = |    >a = ai 2 A|A%A>A%A=iV A|A%2>=#%O|#= ]|A`= O## |! =0"?O0#"!>?#A$?2=%$| &%A'?A=('| )( *&)A5+A>+*>LA5-2= .- /.2A50A>0/=#1O#211>2=i3 >C3=4Li54V75676A58A>877A59A= :9|;:i<;>C<=i=C?=>K>A5@A= A@ BA|CB>LC=DL| EDAF= GF HEG|OIHAPJ2>JI>?K=OLb|MLAPN2=OON|POiQMP>CQ=iRCTRSTS=OUbAPV2>VU>TT??KK=WiXWVZXYZY=[\[AP]A=O^]| _^A`UV\>`_=a:baAPc2=Odc| edAfUVb>fe=gji= kO#lkk|ml=oO npoocjmpZZ8 MaincbTranslationTableDatatranslationTable _output_buf#1 GLSL.std.450main  main u_xlatu0 gl_WorkGroupIDgl_LocalInvocationIDu_xlatb1cbTranslationTableDatalevelinvLevelwidthheightbufferOffsetLevel bufferOffsetLevelAbovenumEvictedTilesnumAddedTilesaddedTiles evictedTiles!Au_xlati1Uu_xlati4[u_xlat2]_output_buf_origX0X ]_output_buf_origX0X_buf_{u_xlati7u_xlati10u_xlatb10u_xlatb8u_xlatb7 translationTable_origX1Xu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G G GGH#H#H#H# H#H#H#H#H# H # GG!"G!!G\H]#G]G_"G_!G"G!GG !  ;     ; + ,;  ;+   ; !" +"# $+"'/+2 3+6 @";@A+B C+"P;@UX YX ZY;Z[\]\ ^];^_+"` gX;@{++;@+;3+";3+"+"+;3 X ;"X "  / , 26;;;;= O  = O > = O A$%!#=&%A$(!'=)(A$*!#=+*A$,!#=-,P.&)+-/0.O100>1A342=54A376=87958A3:6>:9A3;6=<;><=>=>ACD B=ED|"FEA$G!#=HG|"IH"JFIACK 6=LK|"ML"NJM>AN="OAA$Q!P=RQ|"SR"TOS>AT="VA"WV#>UW="aU"ba#"cb`A$d_`c=ed|XfeAgh[6>hfA$i!#=ji|"kjA$l!'=ml|"nm"okn="pA"qop>Aq="rA"sr#>As="tA"ut#"vu`A$w_`v=xw|XyxAgz[2>zyAg|[6=X}||~}~|">{="{`Ag[6=X||XAg[6>Ag[6=X||">="A$!=|">Ag[6=X|">==>=|XAg[6>>="{`6|">Ag[2=X||">{="{`Ag[2=X||XAg[2>>Ag[2=X||">{="{A$!=|">Ag[2=X|">==>=|XAg[2>>="`="U"#Ag[6=X|A$_`>="A"#Ag[2=X|A$_`>== O|=Y[O c8 MaincbTranslationTableData lookupTextureTtranslationTable _output_bufJ#@1 GLSL.std.450main  main u_xlatu0 gl_WorkGroupIDgl_LocalInvocationIDu_xlatb1"cbTranslationTableData"level"invLevel"width"height"bufferOffsetLevel "bufferOffsetLevelAbove"numEvictedTiles"numAddedTiles"addedTiles" evictedTiles$Du_xlati1Wu_xlati7]u_xlat2__output_buf_origX0X __output_buf_origX0X_bufau_xlati12lookupTexturehlslcc_dummyPointClampu_xlati13u_xlati19u_xlatb13u_xlatu3u_xlatu14u_xlatb15u_xlatu15u_xlatu21u_xlati4u_xlati10u_xlati5u_xlati21 u_xlati15u_xlatb4u_xlatb12u_xlatu13u_xlatb21 .translationTable_origX1X8u_xlat_precise_vec4:u_xlat_precise_ivec4<u_xlat_precise_bvec4>u_xlat_precise_uvec4G G GG!H"#H"#H"#H"# H"#H"#H"#H"#H"# H" # G"G$"G$!G^H_#G_Ga"Ga!G"G!GG"G!GG."G.!G.G? !  ;     ;  + , ;  ;+ !  "! #";#$% +%& '+%*2+5 6+9 C%;CD E+%R;CWZ [Z \[;\]^_^ `_;`a+%b iZ% ;  ; ;+;C+;C+++;6+%  ;;);6+%;E+;E% ;% ;,5, 999, 555;;C+%+% ; +%;+%N+%\+%z;6;6+;E,%59 =%;6 ,Z -,;-.3Z 73 9 ;2 =, ?56;=>;78;9:;;<;=>=  O  = O  = O > = O A'($&=)(A'+$*=,+A'-$&=.-A'/$&=0/P1),.0231O433>4A675=87A6:9=;:<8;A6=9>=<A6>9=?>A?@A@AAEF 5=GF|%HGA'I$&=JI|%KJ%LHKAEM 9=NM|%ON%PLO>DP=%QDA'S$R=TS|%UT%VQU>DV=%XD%YX&>WY=%cW%dc&%edbA'fabe=gf|ZhgAij]9>jhA'k$&=lk|%mlA'n$*=on|%po%qmp=%rD%sqr>Ds=%tD%ut&>Du=%vD%wv&%xwbA'yabx=zy|Z{zAi|]5>|{A'}$b=~}P ~~= O > ==V= O |AE =|%d_O |>Ai]9=Z||%>=%b9|%>=%bAi]9=Z||ZAi]9>Ai]9=Z||%>=%A'$=|%>=QAE5>9AE9>9AE5>9>bAE5=A'$=>>b=AE5=>AE5=>=|%%bAC9>=P2O P  |>AC9=%|AC5=%||%AC5>=|%%>AC5=% b=% %  b AC >  AC =% b9|%AC>AC9=%AC9>=|=|%A$=|>=!O"!!| #"=$O%$$| &% '#&|('> (AC) 5=%*)|+*AC, 9=%-,|.-/+.|%0/AC1 9>10AC29=%32AC4 9=%54635>6=797898AE:9>:>;9AE=5=>=?>5AE@9>@?= AO BAA>B=C>C=%DEDbGEFGFAEH9>H9GGAEI9=JIKJ9MKLML|ZONAiP]9>PO>;MMQAER5>R9AES9>S9AET5>T9>bUUWXYYVWVAEZ5=[ZA']$\=^]_[^>_>b=`b`abaWbAEd5=edfe5>fAEg5=hg|%ih%jbi|kj>k=lml5nm9|%onACp9>poACq9=%rqsrbts9|%utACv5>vu=wOxww| yx={|%|{A}$z|=~}O ~~ y|=O >AC5=%|AC9=%||%AC9>AC9=%AC9=%>==|%%>=%|>=59|%AC9>AC9=%b9|%AC5>=O| =|%A$z=O  |> AC 5=%|AC 9=%|AE9>>;WAE5=5AE9>= O >=>XXUW=%bAE9>AE9=|%;>=AE9=|%AC9>AC9=%|A'$=|ZAi]9>>;Ai]9=Z|%N>=>;|ZNAi]9>Ai]5=Z||%AC9>AC9=%bAi]5=Z||ZAi]5>>;Ai]5=Z||%AC9>AC9=%A'$=|%>=AE5>9AE9>9AE5>9AC 9> b       AE5=A'$=>AC9>b= AE5=>AE5=>= |%! %"b!>"=#P$####2&$%O'&& ('P ) *()|+*=,O -,+>-=%.|/.AC05=%10|213/2|%43AC55>54=6|%76%87AC9 9>98AC:5=%;:<;b@<?A?>>b@AACB 9=%CB>>C@@=%D>ACE>EDACF=%GFHGbIH9|%JIACK>KJACL9=%MLACN9>NM=O|PO=Q|%RQAS$R=TSUPT|VU>V=WOXWW| YX=ZO[ZZ| \[ ]Y\|^]> ^AC_ 5=%`_|a`ACb 9=%cb|dcead|%fe>fACg5=%hg=%ijhi>j=kmklmlAEn9>nACo9>o; mAEq5=rqsr5AEt9>ts= uO vuu>v=w>w    ACx9=%yxzyb|z{|{AE}9>}9||AE~9=~9|ZNAi]5>>;AE5>9AE9>9AE5>9AC9>bAE5=A'$\=>AC9>b=AE5=5>AE5=|%%b|>=59|%AC9>AC9=%b9|%AC5>=O| =|%A$z=O  |=O >AC5=%|AC9=%||%>AC5=%=%>==|%%AC 9>AC 9=%|>=59|%AC9>AC9=%b9|%AC5>=O| =|%A$z=O  |=O >AC5=%|AC9=%|AE9>AC9>;AE5=5AE9>= O >=>AC9=%bAE9>AE9=|%;>=AE9=|%AC 9> AC 9=%  |  A' $=  |ZAi]5>>;Ai]5=Z|%N>=>;|ZNAi]5>=%b=% W%! &Ai"]9=Z#"|$#A'%ab!>%$=%&D%'&&Ai(]5=Z)(|*)A'+ab'>+*=,/.=0 O 100|21=[4]O 3544c/258 MaincbTranslationTableDatatranslationTable _output_bufl$# GLSL.std.450main#( mainu_xlati0cbTranslationTableDatalevelinvLevelwidthheightbufferOffsetLevel bufferOffsetLevelAbovenumEvictedTilesnumAddedTilesaddedTiles evictedTilesu_xlati5 u_xlatu1#gl_WorkGroupID(gl_LocalInvocationID.u_xlatu105u_xlatu29u_xlati10Ku_xlati15Pu_xlat15R_output_buf_origX0X R_output_buf_origX0X_bufT\u_xlati2bu_xlat2qu_xlat5{u_xlatb7u_xlatb10u_xlati7u_xlat3u_xlati12u_xlati17u_xlatb17u_xlatb4Ju_xlatb2 ttranslationTable_origX1X}u_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G GH#H#H#H# H#H#H#H#H# H # GG"G!G# G( GQHR#GRGT"GT!Gt"Gt!GtG !  ;  +  +     ;+  +;  ; !  "!;"#, & ;"(,  -,;-.+ 1,,211 4 ;45;9+ @+F;KN ON;OPQ RQ SR;ST+U;\;Ob+j;Oqxyx zy;z{x x;+ +;N ;;+ + + ;+ ;;++ ;J+o rN sr;stx |~ ~   ,! 16;|};;;A= |A= |>=>=!$#O %$$ '%&=!)(O *)) +'*> += / O,0//,302>.3A6= 76 871>58A4:.1= ;:|<;= =5|>=?<>A4A.@= BA|CBD?C>9D=E9AGF= HG|IHJEI>9J=L9ML>KM=VKWVXWUAYTUX= ZY|N[Z>P[=]9=^_]^>\_=`\a`>\a=c\dcedUAfTUe= gf|Nhg>bh=ikij>k=l9=mnlm>n=opo>p=rsrtsUAuTUt= vu|Nwv>qw= | O }||A~= ~A= A= A= P }Oy>{A{1=xA{@=xx>=xA4 = |A= |A4 @= |>9=9A= |>9=9>=UATU= |NAO@>A= |A= |=9>=>=UATU= |NAO1>=j>=9=>=>=UATU= |NAO>AO@=N|  |>9=9xUAO@=N|  |NAO@>AO@=N|  |>=Aj= |x>=NP|AO@=N|x>=x=xx>=x=NPAO@>>K=9xU @| >K AO 1=N  |    | >9=9xUAO1=N|  |NAO1>>KAO1=N|  |>9=9Aj= |! x"!>"=N#b|$#AO%1=N&%|'&x($'>(=x)=x*x+)*>+=x,.,-.-=N/bAO01>0/>K..AO1=N21| 32 43|54>95=69x76U97898AO:=N;:| <; =<|N>=AO?>?>>K99AO@=NA@| BA CB|DC>9D=E9AFj= GF|HGxIEH>I=NKq|LKAOM=NNM|ONxPLO>JP=xQ=xRJxSQR>S=xTVTUVU=NWqAOX>XW>KVV=YKxZYU\Z[\[=]^]AO_@=N`_| a`AbTU^>ba=cdcAOe1=Nfe| gfAhTUd>hg=ijiAOk=Nlk| mlAnTUj>nm|NpoAOq>qp=rut= v O,wvv|xyw=zcuyz\\8 MaincbTranslationTableData lookupTextureTtranslationTable _output_bufk# GLSL.std.450main#) mainu_xlati0cbTranslationTableDatalevelinvLevelwidthheightbufferOffsetLevel bufferOffsetLevelAbovenumEvictedTilesnumAddedTilesaddedTiles evictedTilesu_xlati8 u_xlatu1#gl_WorkGroupID)gl_LocalInvocationID0u_xlatu167u_xlatu2;u_xlati16Mu_xlati24Ru_xlat24T_output_buf_origX0X T_output_buf_origX0X_bufV`u_xlati2iu_xlat2yu_xlat8u_xlatb10u_xlatb16u_xlati10u_xlat3u_xlati18u_xlati4lookupTexturehlslcc_dummyPointClampu_xlati17!u_xlatu5#u_xlatu21,u_xlatb257u_xlatu25;u_xlatu26?u_xlati28Cu_xlati6Ru_xlati7[u_xlati26u_xlati25u_xlatb28au_xlatb26nu_xlatu4u_xlati21Pu_xlatb24u_xlatb2u_xlati5 translationTable_origX1Xu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G GH#H#H#H# H#H#H#H#H# H # GG"G!G# G) GSHT#GTGV"GV!G"G!GG"G!GG"G!GG !  ;  +  +     ;+  +;  ; !  "!;"#$ ,$' ;") /$;/0+ 3,$433 6 ;67;;+ B+H;MP QP;QRS TS UT;UV+W^ _^;_`;Qi+r;Qy ; ;+;P ;;+ ;_  ; ;+ + ;+ + + ;/!;/#)+;,+/;67;6;;?;_C, F3BH,!JBBB,!K333;_R;[+^+q t ;+++;+ ';a;/n  ;;P;;_+ P ;  ^   ,! 36;;;;;A= |A= |>=>=!%#O$&%%$(&'=!*)O$+**$,(+= - O .-,> .= 1 O$211$524>05A8= 98 :93>7:A6<03= =<|>== ?7|@?A>@A6C0B= DC|EDFAE>;F=G;AIH= JI|KJLGK>;L=N;ON>MO=XMYXZYWA[VWZ= \[|P]\>R]=a;=bcabAd`B>dcAe`B=fegfAh`B>hgAj`B=kjlkmlWAnVWm= on|Ppo>ip=qsqr>s=t;=uvtu>v=wxw>x=z{z|{WA}VW|= ~}|P~>y= O A= A= A= A= P O>A3=AB=>=A6 3= |A= |A6 B= |>;=;A= |>;=;>=WAVW= |PAQB>A= |A= |=;>=>=WAVW= |PAQ3>=r>=;=>=>=WAVW= |PAQ>AW= P$= O > ==V= O$|A6 = |d_ O!|=^O ^>AQB=P|  |>;=;W B|>=; W     AQ B=P  |   |PAQB>  AQB=P|  |>;=;Ar= |>= A6"!3>"BA6$#B>$BA6%#3>%B>;W&&()**+'('A6-#3= .-A0/= 102.1>,2>;W=3,53454(5A68#3= 98 :9>7:A6<#3= =< >=>;>= @;|A@BWA>?B= D;P EDDDDGEFOHIGG!LIKJP!M!NLM|ON=^PCO ^QPO>CQ=S?| TSAUC3=VU| WV XTW|YXAZR3>ZY= \;|]\_]^>[_A`C3=a`baW=c[dbWcAeR>edAfC=gfhgW ihB|jiAkR>kjAlCB=mlAnRB>nm=^oR| po= r7|srAtuqs= vu wpv|^xw>Cx=^yCOzyy|${z=^|CO}|||$~}${~|=^CO ^>CAC3=| ACB=|  |>AB==>,=,A6#B>>;(A6#3=  3A6!B>=$!O$>#=,>))&(=;WA6#B>BA6#B= B=PRAQB>> A6!3>BA6#B>BA6#3>B>;W+A6#3= A= >,>;W=,A6#3=  3>7A6#3= |Wrr| >;= ;3 B|ACB>ACB=W B|AC3>=^CO|$= 7|At= O$$|=^CO ^>CAC3=| ACB=|  |>?AB==?>== ;|r>[=[|  >;= ;3 B|ACB>ACB=W B|AC3>=^CO|$= 7|At= O$$|=^CO ^>CA C3=  |  A CB=  |    A6#B>>;A6#3=  3A6!B>=$!O$>#=>=;WA6#B>A6#B= | ! >!="$"#1#A6%#B= &% (&'|)(>;)=*;| +*A,r= -, .+-|P/.AQ0B>0/>$1=P2R|32AQ4B=P54|65736>7=8:89:9=P;RAQ<B><;>::$$  AQ=3=P>=| ?> @?|A@>;A=B;CBWECDEDAQF3=PGF| HG IH|PJIAQK3>KJ>EEAQL3=PML| NM ON|PO>;P=Q;ARr= SR|TSUQT>U=VXVWWA6Y!3>YBA6Z0B>ZBA6[03>[B>W\\^_``+]^]A6b03= cbAd/= edfce>af>W=gaighih^iA6k03= lk ml>;mA6o03= po qpA6rnB>rqA6snB= ts|utvWu>?v=$wnO xwwyxFOHzyy!{zKJP!|!}{||~}=^CO ^~>C=?| AC3=|  |AR3>A6nB= |^AB>AC3=W>WAB=>=AR>AC=W B|AR>ACB=ARB>=^R| = ;|Atq=  |^>C=^CO|$=^CO|$$|=^O ^>A=| AB=|  |>[A3==[>a=aA60B>>^A603=  3A6!B>=$!O$>0=a>,__\^=WA60B>BA60B= B=PiAQ3>>XA6!3>BA60B>BA603>B>W+A603= A= >a>W=aA603=  3>;A603= |Wrr| A6nB>A6nB= 3 B|ACB>ACB=W B|AC3>=^CO|$= ;|At= O$ $  |  > A 3=  |  AB=|  |>?A3==?>=A6nB= |rAB>A B=! | "! #"A6$nB>$#A6%nB= &%'&3 ('B|)(A*CB>*)A+CB=,+-,W .-B|/.A0C3>0/=^1CO211|$32= 4;|54At65= 76O$877$938|:9>:A;3=<;| =<A>B=?>| @? A=@A6B0B>BA>A6D03= ED FE3A6G!B>GF=$H!O$IHH>0I=J>,J=KLKWNLMNMA6O0B>ONNA6Q0B= RQ|SRTS>PT=UPWUVcVA6X0B= YX ZY'|[Z>;[=\;| ]\A^r= _^ `]_|Pa`AQb3>ba>Wc=Pdi|edAQf3=Pgf|hgieh>i=jljklk=PmiAQn3>nm>llWWXXAQo=Ppo| qp rq|sr>;s=t;utWwuvwvAQx=Pyx| zy {z|P|{AQ}>}|>wwAQ~=P~|  |>;=;Ar= |>=A6n3>BA60B>BA603>B>W+A603= A/= >>W=A603=  >7A603=  >;= ;|W>?= ;P FOH!KJP!!|=^O ^>=?| A3=|  |AC3>= ;|^>[A3=W=[WAC>A=W B|AC>AB=ACB>=^C| = 7|Atq=  |^>=^O|$=^O|$$|=^`O ^>`A`=| A`B=|  |A`B>A=A`B=>=A60B>>A603=  3A6nB>=$nO$>0=>,=WA60B>BA60B= B=PyAQ>>A6n3>BA60B>BA603>B>W    + A6 03=  A=  >>W= A603=  3>7A603= |Wrr| >;= ;3 B| A!B>! A"B=#"$#W %$B|&%A'3>'&=^(O)((|$*)= +7|,+At-,= .-O$/..$0*/|10=^2O ^321>3A43=54| 65A7B=87| 98 :69|;:>?;A<==<=>??=>>?=@B@ABA= C;|DCEDr>[E=F[| GF HG>;H= I;JI3 KJB|LKAMB>MLANB=ONPOW QPB|RQAS3>SR=^TOUTT|$VU= W7|XWAtYX= ZYO$[ZZ$\V[|]\=^^`O ^_^]>`_A``=a`| baAc`B=dc| ed fbeA6g0B>gf> BA6i03= ji kj3A6lnB>lk=$mnO$nmm>0n=o>,o   =pqpWsqrsrA6t0B>tssA6u0B= vu|wvxw>Px=yP{yzzA6|0B= }| ~}'|~>;=;| Ar=  |PAQ>>{=Py|AQ=P|>==PyAQ>>{{=W=AQB=P| AVW>=AQ3=P| AVW>=AQ=P| AVW>|PAQ>==  O$|=c8 MaincbTranslationTableDatatranslationTable _output_bufL#N GLSL.std.450main  main u_xlatu0 gl_WorkGroupIDgl_LocalInvocationIDu_xlatb1cbTranslationTableDatalevelinvLevelwidthheightbufferOffsetLevel bufferOffsetLevelAbovenumEvictedTilesnumAddedTilesaddedTiles evictedTiles!Bu_xlati1Lu_xlati5lu_xlat2n_output_buf_origX0X n_output_buf_origX0X_bufp|u_xlati13u_xlati3u_xlatb3u_xlatb7u_xlatb5 <translationTable_origX1XEu_xlat_precise_vec4Hu_xlat_precise_ivec4Ju_xlat_precise_bvec4Lu_xlat_precise_uvec4G G GGH#H#H#H# H#H#H#H#H# H # GG!"G!!GmHn#GnGp"Gp!G<"G<!G<GM !  ;     ; + ,;  ;+   ; !" +"# $+"'/+2 3+6@" A@;AB J";JL+M N+"[a"+"d,aed#i ji kj;klmnm on;op+"q+r zi;J|++;J+;3;3+"+"+;3 :i ;:;;<> DjF" GF I/ K, M26;DE;GH;IJ;KL= O  = O > = O A$%!#=&%A$(!'=)(A$*!#=+*A$,!#=-,P.&)+-/0.O100>1A342=54A376=87958A3:6>:9A3;6=<;><=>=>A$C!'=DC|"EDA$F!#=GF|"HG"IEHAJKB6>KIANO M=PO|"QPA$R!#=SR|"TS"UQTANV 6=WV|"XW"YUX>LY="ZLA$\![=]\|"^]"_Z^AJ`B2>`_=@bBOacbbafce=@gBO@hgf>BhAJsBr="ts"ut#"vuqA$wpqv=xw|iyxAz{l6>{yA$}!#=~}|"~A$!'=|""AJB2="">|="|"#>|="|"#"qA$pq=|iAzl2>AJB2="AJB6=""AJB6>AJB6=""#AJB6>AJB6=""#"qA$pq=|iAzlr>Azl6=i||">L="LqAzl6=i||iAzl6>Azl6=i||">="A$!d=|">Azl6=i|">==>=|iAzl6>>="Lq6|">Azl2=i||">L="LqAzl2=i||iAzl2>>Azl2=i||">L="LA$!d=|">Azl2=i|">==>=|iAzl2>>Azlr=i||">L="LqAzlr=i||iAz lr> >Az lr=i  |    |" >L="LA$!d=|">Azlr=i|">==>=|iAzlr>>=" ! q#!"#"AJ$Br="%$"&%#Az'l6=i('|)(A$*pq&>*)="+|",+#Az-l2=i.-|/.A$0pq,>0/AJ1B6="21"32#Az4lr=i54|65A$7pq3>76|i8Az9lM>98=:=<=? O>@??|aA@=jBlc=AB##8 MaincbTranslationTableData lookupTextureTtranslationTable _output_bufxf# GLSL.std.450main  main u_xlatu0 gl_WorkGroupIDgl_LocalInvocationIDu_xlatb1"cbTranslationTableData"level"invLevel"width"height"bufferOffsetLevel "bufferOffsetLevelAbove"numEvictedTiles"numAddedTiles"addedTiles" evictedTiles$Eu_xlati1Ou_xlati8nu_xlat2p_output_buf_origX0X p_output_buf_origX0X_bufr~u_xlati22u_xlati3lookupTexturehlslcc_dummyPointClampu_xlati14u_xlati21u_xlatb14u_xlatu4u_xlatu18u_xlatb8u_xlatu8u_xlatu24u_xlati5 u_xlati12u_xlati6#u_xlati24u_xlatb5"u_xlatu3:u_xlati25Su_xlati18u_xlatb25u_xlatb18 wtranslationTable_origX1Xu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G G GG!H"#H"#H"#H"# H"#H"#H"#H"#H"# H" # G"G$"G$!GoHp#GpGr"Gr!G"G!GG"G!GGw"Gw!GwG !  ;     ;  + , ;  ;+ !  "! #";#$% +%& '+%*2+5 6+9C% DC;DE M%;MO P+%]c%+%f,cgf&k lk ml;mnopo qp;qr+%s+t |k;M~;D  ; ;+;M+;M+++;6  ;;);6+%;P;P% ;;D ,5t, 999, 555;;M#+%&+%9 <+%[+%n+%|+%;6+;";M:,A5t9 Rc;RS \%;6;6 uk vu;vw ~l  2 , 56;\];~;;;=  O  = O  = O > = O A'($&=)(A'+$*=,+A'-$&=.-A'/$&=0/P1),.0231O433>4A675=87A6:9=;:<8;A6=9>=<A6>9=?>A?@A@AA'F$*=GF|%HGA'I$&=JI|%KJ%LHKAMNE9>NLAPQ 5=RQ|%SRA'T$&=UT|%VU%WSVAPX 9=YX|%ZY%[WZ>O[=%\OA'^$]=_^|%`_%a\`AMbE5>ba=CdEOceddcheg=CiEOCjih>EjAMuEt=%vu%wv&%xwsA'yrsx=zy|k{zA|}n9>}{A'$&=|%A'$*=|%%AME5=%%>~=%~%&>~=%~%&%sA'rs=|kA|n5>AME5=%AME9=%%AME9>AME9=%%&AME9>AME9=%%&%sA'rs=|kA|nt>A'$s=P = O > ==V= O |cAP =|%d_O |C>A|n9=k||%>=%s9|%>=%sA|n9=k||kA|n9>A|n9=k||%>=%A'$f=|%>=qAP5>9AP9>9AP5>9>sAP5=A'$=>>s=AP5=t>AP5=>=|% % s AM 9>  = P    2O P  |C> AM9=%|AM 5=%| |%! AM"5>"!=$|%%$%'%&>#'AM( 5=%)(*)s=%+#%,*s+AM-t>-,AM. t=%/.0/s109|%21AM3>32AM4 9=%54AM69>65=7|87=:|%;:A<=$9;=>=?8>|@?>@=AOcBAA| CB=DOcEDD| FE GCF|cHG=IO JIH>JAMK5=%LK|MLAMN9=%ON|POQMP|%RQ>ORAMS9=%TS=%UOVTU>V=WYWXYXAPZ9>Z>[YAP]5=^]_^5AP`9>`_= aO baa>b=c>c=%dedsgefgfAPh9>h9ggAPi9=jikj9mklml|konA|pn9>po>[mmqAPr5>r9APs9>s9APt5>t9>suuwxyyvwvAPz5={zA'}$|=~}{~>>s=wAP5=5>AP5=|%%sff|>=59|%AM9>AM9=%s9|%AM5>=Oc| =|%A<$=O  |c=O >AM5=%|AM9=%||%AM9>AM9=%AM9=%>==|%%f>#=%#|>=59|%AM9>AM9=%s9|%AM5>=Oc| =|%A<$=O  |c=C OC> AM 5=%|AM 9=%|AP9>>[wAP5=5AP9>= O >=>xxuw=%sAP9>AP9=|%[>=AP9=|%>=%|A'$f=|kA|n9>>[A|n9=k|%n>=>[|knA|n9>A|n5=k||% > =%   s     A|n5=k||kA|n5>>[  A|n5=k||%>=%A'$f=|%>= AP!5>!9AP#"9>#9AP$">$9>s%%'())&'&AP*"=+*A',$=-,.+->.>s=/1/010'1AP3"=4354t>5AP6"=7687AP99>98AP;9=<;|%=<%>s=>:>= ?O @??2B@AOCBB DCP E FDE|CGF=HO IHG>I=%J:|KJAML5=%ML|NMOKN|%POAMQ5>QPAPT9=UT|%VU%WV&AMXS9>XWAMY5=%ZY[Zs_[^`^>]s_`AMaS9=%ba>]b__=%c]AMdt>dcAMet=%fegfshg9|%ihAMj>jiAMk9=%lkAMm9>ml=n|on=p|%qpA<r$9q=srtos|ut>u=vOcwvv| xw=yOczyy| {z |x{|c}|>S}AM~S5=%~|AMS9=%||%>OAM5=%=%O>=AP"9>>['AP"=5AP9>= O ="O >"=>((%'=%sAP"9>9AP"9=9|knA|n5>>[ AP5>9AP"9>9AP">9>sAP"=A'$|=>>s=AP"=5>AP"=|%%sff|AP9>AP9=59|%AM9>AM9=%s9|%AM5>=Oc| =|%A<$=O  |c=O >AM5=%|AM9=%||%>:AM5=%=%:>=AP9=|%%fAMS9>AMS9=%|AP9>AP9=59|%AM9>AM9=%s9|%AM5>=Oc| =|%A<$=O  |c=O >AM 5=%  |  AM 9=%  |  AP"9>>[AP"=5AP9>= O ="O >"=>=%sAP"9>AP "9=! |%"!#"[>#=$&$%2%AP'"9=(')(|%*)>*=%+|,+A'-$f=.-/,.|k0/A|1n5>10>[&2A|3n5=k43|%5465n>6=797898>[99|k:nA|;n5>;:&&  A|<nt=k=<|>=?>|%@?>@=%ABAsDBCDCA|Ent=kFE|GFHG|kIHA|Jnt>JI>[DDA|Knt=kLK|MLNM|%ON>O=%PA'Q$f=RQ|%SRTPS>T=UWUVVAPX"5>X9APY9>Y9APZ5>Z9>s[[]^__\]\AP`5=a`A'b$=cbdac>d>s=egefgf]gAPi5=jikjt>kAPl5=mlnm>n=o|%po%qspAMrS9>rq=sPtssss2utAOvuu wvP x ywx|Czy={O |{z>|AM}S9=%~}|~AM5=%||%AM5>=|%%&>#AM5=%s=%#%sAMt>AMt=%s9|%AM>AM9=%AM9>=|=|%A<$9=|>=Oc| =Oc|  |c>SAMS5=%|AMS9=%||%>OAMt=%=%O>=AP9>>[]AP5=5AP"9>="O >=>^^[]=%sAP9>9AP9=9|knA|nt>>[WAP"5>9AP9>9AP5>9>sAP5=A'$|=>>s=AP5=5>AP5=|%%sff|>=59|%AM9>AM9=%s9|%AM5>=Oc| =|%A<$=O  |c>SAMS5=%|AMS9=%||%AMS9>AMt=%AMS9=% > =      = |% %f>#=%#|>=59|%AM9>AM9=%s9|%AM5>=Oc| =!|%"!A<#$"=$#O %$$ & %|c'&=(O )('>)AM*5=%+*|,+AM-9=%.-|/.0,/AP19>10>[ AP35=43545AP6"9>65=7"O 877>8=9>9=%:;:s=;<=<AP>9>>==AP?9=@?|%A@BA[>B=CECDQDAPF9=GFHG|%IH>I=%J|KJA'L$f=MLNKM|kONA|Pnt>PO>[EQA|Rnt=kSR|%TSUTn>U=VXVWXW>[XX|kYnA|Znt>ZYEEWW=%[\[s^\]^]AM_Et=%`_%a`&A|bn9=kcb|dcA'ersa>ed=%f~%gf&A|hn5=kih|jiA'krsg>kjAMlE9=%ml%nm&A|ont=kpo|qpA'rrsn>rq|ksnA|tn>ts=uxw=y O zyy|c{z=l|ncx{|^^8 MaincbTranslationTableDatatranslationTable _output_buf`*# GLSL.std.450main#( mainu_xlati0cbTranslationTableDatalevelinvLevelwidthheightbufferOffsetLevel bufferOffsetLevelAbovenumEvictedTilesnumAddedTilesaddedTiles evictedTilesu_xlati5 u_xlatu1#gl_WorkGroupID(gl_LocalInvocationID.u_xlatu105u_xlatu29u_xlati10Ku_xlati15Pu_xlat15R_output_buf_origX0X R_output_buf_origX0X_bufT\u_xlati2bu_xlat2iu_xlati7ru_xlat7u_xlat5u_xlatb12u_xlatb10u_xlati12u_xlat3u_xlati17u_xlati4u_xlati9 u_xlatb9u_xlatb14fu_xlatb2 translationTable_origX1Xu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G GH#H#H#H# H#H#H#H#H# H # GG"G!G# G( GQHR#GRGT"GT!G"G!GG !  ;  +  +     ;+  +;  ; !  "!;"#, & ;"(,  -,;-.+ 1,,211 4 ;45;9+ @+F;KN ON;OPQ RQ SR;ST+U;\;Ob;i+k;Or;O ; ;+ +;N ;;;+ + + ;+ ; ;++ #;f N ;     ,! 16;;;;A= |A= |>=>=!$#O %$$ '%&=!)(O *)) +'*> += / O,0//,302>.3A6= 76 871>58A4:.1= ;:|<;= =5|>=?<>A4A.@= BA|CBD?C>9D=E9AGF= HG|IHJEI>9J=L9ML>KM=VKWVXWUAYTUX= ZY|N[Z>P[=]9=^_]^>\_=`\a`>\a=c\dcedUAfTUe= gf|Nhg>bh=jljk>il=m9=niomn>io=piqp>iq=sitsutUAvTUu= wv|Nxw>rx=yzy={9|z{>|=}~}>~=UATU= |N>= O A= A= A= A= P O>A1=A@=>=A4 = |A= |A4 @= |>9=9A= |>9=9>=UATU= |NAO@>A= |A= |=9>=>=UATU= |NAO1>=k>=9=>=>=UATU= |NAO>==9>=>=UATU= |NAO>AO@=N|  |>9=9UAO@=N|  |NAO@>AO@=N|  | > = A k=  |  > =NP|AO@=N|>== > =  =NPAO@>>K =!9"!U $"#@|%$>K%AO&1=N'&| (' )(|*)>9*=+9,+U.,-.-AO/1=N0/| 10 21|N32AO41>43>K..AO51=N65| 76 87|98>99=:9A;k= <;|=<>:=>>=N?b|@?AOA1=NBA|CBD@C> D=E=F GEF>G=HJHIJI=NKbAOL1>LK>KJJAOM=NNM| ON PO|QP>9Q=R9SRUUSTUTAOV=NWV| XW YX|NZYAO[>[Z>KUUAO\=N]\| ^] _^|`_>9`=a9Abk= cb|dcead>e=Ngr|hgAOi=Nji|kjlhk>fl=m=nfomn>o=prpqrq=NsrAOt>ts>KrrAOu=Nvu| wv xw|yx>9y=z9{zU}{|}|AO~=N~|  |NAO>>K}}AO=N|  |>9=9Ak= |>=N|AO=N|>f==f>==NAO>>K=KU=AO@=N| ATU>=AO1=N| ATU>=AO=N| ATU>=AO=N| ATU>==  O,|=c8 MaincbTranslationTableData lookupTextureTtranslationTable _output_buf#" GLSL.std.450main#) mainu_xlati0cbTranslationTableDatalevelinvLevelwidthheightbufferOffsetLevel bufferOffsetLevelAbovenumEvictedTilesnumAddedTilesaddedTiles evictedTilesu_xlati9 u_xlatu1#gl_WorkGroupID)gl_LocalInvocationID0u_xlatu186u_xlatu2=u_xlati18Ou_xlati27Tu_xlat27V_output_buf_origX0X V_output_buf_origX0X_bufX`u_xlati2fu_xlat2mu_xlati11vu_xlat11u_xlat9u_xlatb20u_xlatb18u_xlati20u_xlat3u_xlati29u_xlati4u_xlati5lookupTexturehlslcc_dummyPointClampu_xlati197u_xlatu69u_xlatu13Bu_xlatb28Mu_xlatu28Qu_xlatu31Vu_xlati24[u_xlati7ku_xlati8uu_xlati31u_xlati28u_xlatb24yu_xlatb13u_xlatu22u_xlati22u_xlati13.u_xlatb31ku_xlatb27u_xlatu5u_xlatb2u_xlati6fu_xlatb22 translationTable_origX1Xu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4 u_xlat_precise_uvec4G GH#H#H#H# H#H#H#H#H# H # GG"G!G# G) GUHV#GVGX"GX!G"G!GG"G!GG"G!GG! !  ;  +  +     ;+  +;  ; !  "!;"#$ ,$' ;") /$;/0+ 3,$433;/6+ : ; ;=+J;OR SR;STU VU WV;WX+Y;`;Sf;m+o;Sv;S ; ;+;R ;;;+ +  ;  ; ; + ;+ + %+ ,;/7;/9)A;B+E;;M;;Q U ;UV;[, ^3:`,!b:::,!c333g;k;u+x+  ;+++;+ ?;y;;;U  g;;.;k;/;;;f R ;     ,!! 36;;;;;;; A= |A= |>=>=!%#O$&%%$(&'=!*)O$+**$,(+= - O .-,> .= 1 O$211$524>05A7= 87 983A;<6:><9A;>03= ?>|@?A;A6:= BA|CBD@CA;E0:= FE|GFHDG>=H=I=AKJ= LK|MLNIM>=N=P=QP>OQ=ZO[Z\[YA]XY\= ^]|R_^>T_=a==bcab>`c=d`ed>`e=g`hgihYAjXYi= kj|Rlk>fl=npno>mp=q==rmsqr>ms=tmut>mu=wmxwyxYAzXYy= {z|R|{>v|=}~}==~>=>=YAXY= |R>= O A= A= A= A= P O>A3=A:=>=A; 3= |A= |A; := |>===A= |>===>=YAXY= |RAS:>A= |A= |==>=>=YAXY= |RAS3>=o>===>=>=YAXY= |RAS>===>=>=YAXY= |RAS>AY= P$= O > ==V=  O$ |   A;  =  | d_  |>AS:=R|  |>===Y :|>==Y! ! AS":=R#"| $# &$%|R'&AS(:>('!!AS):=R*)| +* -+,|.->=.=/=A0o= 10|213/2>3=46455A;873>8:A;:9:>::A;;93>;:>=Y<<>?@@A=>=A;C93= DCAFE= GFHDG>BH>=Y=IBKIJKJ>KA;N93= ON PO>MPA;R93= SR TS>QT= WQ|XWYYXAZV:>ZY= \QP ]\\\\_]^O`a__!dacbP!e!fde|ghf=i[O jih>[jAlV:=ml| nmAo[3=po| qp rnq|srAtk3>ts= vQ|wvywx>uyAz[3={z|{Y=}u~|Y}Ak>~A[=Y :|Ak>A[:=Ak:>=k| = M|A=  |>[=[O |$=[O |$$| >VAV3=| AV:=|  |>A:==>B=BA;9:>>=>A;93=  3A;7:>=$7O$>9=B>??<>==YA;9:>:A;9:= :=RTAS:>>6A;73>:A;9:>:A;93>:>=YAA;93= A= >B>=Y=BA;93=  3>MA;93= |Yoo| >Q= Q3 :|A[:>A[:=Y :|A[3>=[O |$= M|A= O$$| >VAV3=| AV:=|  |AV:>A:=AV:=>== Q|o>u=u|  >Q = Q  3  :|  A[:> A[:=Y :|A[3>=[O |$= M|A= O$$| =[O >[ A![3="!| #"A$[:=%$| &% '#&A;(9:>('>=A;*93= +* ,+3A;-7:>-,=$.7O$/..>9/=0>0=1=21Y42343A;59:>544A;69:= 76|8798>9=:<:;I;A;=9:= >= @>?|A@>=A=B=| CBADo= ED FCE|RGFASH:>HG><I=RJT|KJASL:=RML|NMOKN>O=PRPQRQ=RSTAST:>TS>RR<<66ASU3=RVU| WV XW|YX>=Y=Z=[ZY][\]\AS^3=R_^| `_ a`%|RbaASc3>cb>]]ASd3=Red| fe gf,|hg>=h=i=Ajo= kj|lkmil>m=npnooA;q73>q:A;r0:>r:A;s03>s:>YttvwxxAuvuA;z03= {zA|E= }|~{}>y~>Y=yvA;03=  A;9:>A;03=  >= |Y>u= P ^O`!cbP!!|g=[O >[=u| A[3=|  |Ak3>= |xA:>A[3=Y>YA:=>=Ak>A[=Y :|Ak>A[:=Ak:>=k| A;9:= |A=  |>[=[O |$=[O |$$| =gOg>A3=| A:=|  |A:>A3=A:=>y=yA;0:>>vA;03=  3A;7:>=$7O$>0=y>Bwwtv=YA;0:>:A;0:= :=RfAS3>>pA;73>:A;0:>:A;03>:>YAA;03= A= >y>Y=yA;03=  3A; 9:>  A; 03=  |  Y oo| >= 3 :|A[:>A[:=Y :|A[3>=[O |$A;9:= | A! = "!O$#""$$#| %$>V%A&V3='&| ('A)V:=*)| +* ,(+|-,>u-A/3=0/=1u201>.2=3.53454= 6|7687oA9:>98A::=;:| <; =<>== >?>3 @?:|A@AB[:>BAAC[:=DCEDY FE:|GFAH[3>HG=I[O JII|$KJA;L9:= ML|NMAON= POO$QPP$RKQ| SR=gTOgUTS>UAV3=WV| XWAY:=ZY| [Z \X[A;]0:>]\>5A;_03= `_ a`3A;b7:>ba=$c7O$dcc>0d=e.>Be=fgfYighihA;j0:>jiiA;l0:= ml|nmon>ko=pkrpq~qA;s0:= ts ut?|vu>=v=w=| xwAyo= zy {xz|R|{AS}3>}|>r~=Rf|AS3=R|>==RfAS3>>rrppAS=R|  |>===YAS=R|  %|RAS>>AS=R|  ,|>===Ao= |>=*A;3>:A;0:>:A;03>:>YAA;03= AE= >>Y=A;03=  A;6:>A;03=  A;9:>A;9:= |YA:>=$9O ^O`!cbP!!|g=O >A:=| A3=|  |A[3>A;9:= |xA:>A3=Y>YA:=>=A[>A=Y :|A[>A:=A[:>=[| A;6:= |A=  |>=O |$=O |$$| =gOg>A3=| A :=  |    |  >` A==`>=A;0:>>A;03=  3A;:>=$O$>0=>B=Y! ! A;"0:>":!!A;#0:= $#%$:'%&'&=R(vAS)>)(>''*A;+3>+:A;,0:>,:A;-03>-:>Y..0122A/0/A;303= 43A5= 65746>7>Y=8:89:90:A;<03= =< >=3A;?6:>?>A;@03= A@|BACYBoo| DCA;E9:>EDA;F9:= GFHG3 IH:|JIAK:>KJAL:=MLNMY ON:|POAQ3>QP=RO SRR|$TSA;U6:= VU|WVAXW= YXO$ZYY$[TZ| \[>\A]3=^]| _^A`:=a`| ba c_b|dcAe:>edAg=hgAi:=jikhj>fk=lfnlmnmA;o9:= po|qprqoAs:>srAt:=ut| vu wvA;x9:>xwA;y9:= zy{z3 |{:|}|A~:>~}A:=Y :|A3>=O |$A;6:= |A= O$$| =gOg>A=| A:=|  A;0:>>0nA;03=  3A;:>=$O$>0=f>B11.0=YA;0:>A;0:= |>k=kA;0:=  ?|>===| Ao=  |RAS>>=Rv|AS=R|>==RvAS>>AS=R|  |>===YAS=R|  %|RAS>>AS=R|  ,|>===Ao= |>=_A;63>:A;0:>:A;03>:>YAA;03= AE= >y>Y=yA;03=  A;9:>A;03=  >= |Y>u= P ^O`!cbP!!|g=O >=u| A3= |    |  A 3>  = |xA:>A3=Y>YA:=>=A>A=Y :|! A">"!A#:=$#A%:>%$=&| '&A;(9:= )(|*)A+*= ,+ -',|.->.=/O 0//|$10=2O 322|$43$514| 65=g7Og876>8A93=:9| ;:A<:==<| >= ?;>|@?AA:>A@AB=CBAD:=EDFCE>yF=GyIGHIHA;J0:>J>IA;L03= ML NM3A;O6:>ON=$P6O$QPP>0Q=Ry>BR=STSYVTUVUA;W0:>W:VVA;X0:= YXZY:\Z[\[=R]AS^>^]>\\_A;`63>`:A;a0:>a:A;b03>b:>YccefggAdedA;h03= ihAj= kjlik>yl>Y=myomnoneoA;q03= rq sr3A;t9:>tsA;u03= vu|wvxYwoo| yx>y= z{z3 |{:|}|A~:>~}A:=Y :|A3>=O |$A;9:= |A= O$$| =O >A3=| A:=|  |>uA==u>.=.= |oA:>A:=|  >= 3 :|A:>A:=Y :|A3>=O |$A;9:= |A= O$$| =gOg>A3=| A:=|  A;0:>>eA;03=  3A;6:>=$6O$>0=.>Bffce=YA;0:>A;0:= |>k=kA;0:=  ?|>===| Ao=  |RAS>>=R|AS=R|>==RAS>>=Y=AS:=R| AXY>=AS3=R| AXY>=AS=R| A XY> =   AS =R  |  AXY >==  O$| =c8 MaincbTranslationTableDatatranslationTable _output_buf"#v GLSL.std.450main  main u_xlatu0 gl_WorkGroupIDgl_LocalInvocationIDu_xlatb1cbTranslationTableDatalevelinvLevelwidthheightbufferOffsetLevel bufferOffsetLevelAbovenumEvictedTilesnumAddedTilesaddedTiles evictedTiles!Au_xlati1Iu_xlati5]u_xlati9cu_xlat2e_output_buf_origX0X e_output_buf_origX0X_bufgqu_xlati13u_xlati3u_xlati7u_xlatb7u_xlatb11u_xlatb5 ctranslationTable_origX1Xmu_xlat_precise_vec4pu_xlat_precise_ivec4ru_xlat_precise_bvec4tu_xlat_precise_uvec4G G GGH#H#H#H# H#H#H#H#H# H # GG!"G!!GdHe#GeGg"Gg!Gc"Gc!GcGu !  ;     ; + ,;  ;+   ; !" +"# $+"'/+2 3+6 @";@A;@I+J K+"X;@]` a` ba;bcded fe;fg+"h o`;@q;@+"+++;@+;3;3+"+"+;3 a` ba;bceh" lan" on q/ s, u26;lm;op;qr;st= O  = O > = O A$%!#=&%A$(!'=)(A$*!#=+*A$,!#=-,P.&)+-/0.O100>1A342=54A376=87958A3:6>:9A3;6=<;><=>=>A$B!'=CB|"DCA$E!#=FE|"GF"HDG>AHAKL J=ML|"NMA$O!#=PO|"QP"RNQAKS 6=TS|"UT"VRU>IV="WIA$Y!X=ZY|"[Z"\W[>I\="^I"_^#>]_="i]"ji#"kjhA$lghk=ml|`nmAopc6>pnA$r!#=sr|"tsA$u!'=vu|"wv"xtw="yI"zxy>qz="{q"|{#>q|="}q"~}#"~hA$gh=|`Aoc2>="A">="I="">=""#>=""#"hA$gh=|`Aoc>="A"'="I">A="A"#>A="A"#"hA$gh=|`AocJ>Aoc6=`||">I="IhAoc6=`||`Aoc6>Aoc6=`||">="A$!=|">Aoc6=`|">==>=|`Aoc6>>="Ih6|">Aoc2=`||">I="IhAoc2=`||`Aoc2>>Aoc2=`||">I="IA$!=|">Aoc2=`|">==>=|`Aoc2>>Aoc=`||">I="IhAoc=`||`Ao c> >Ao c=`  |    |" >I="IA$!=|">Aoc=`|">==>=|`Aoc>>Ao cJ=`! |"!#"|"$#>I$="%I&%h(&'('Ao)cJ=`*)|+*,+|`-,Ao.cJ>.->((Ao/cJ=`0/|1021|"32>I3="4IA$5!=65|"76847>8Ao9cJ=`:9|";:<;><===>?=>>?=@B@ABA|`CAoDcJ>DC>BB="EFEhHFGHG="I]"JI#AoKc6=`LK|MLA$NghJ>NM="Oq"PO#AoQc2=`RQ|SRA$TghP>TS="U"VU#AoWc=`XW|YXA$ZghV>ZY="[A"\[#Ao]cJ=`^]|_^A$`gh\>`_=adc=f Oegff|hig=ajccdijHH8 MaincbTranslationTableData lookupTextureTtranslationTable _output_buf}# GLSL.std.450main  main u_xlatu0 gl_WorkGroupIDgl_LocalInvocationIDu_xlatb1"cbTranslationTableData"level"invLevel"width"height"bufferOffsetLevel "bufferOffsetLevelAbove"numEvictedTiles"numAddedTiles"addedTiles" evictedTiles$Du_xlati1Lu_xlati9_u_xlati17eu_xlat2g_output_buf_origX0X g_output_buf_origX0X_bufisu_xlati25u_xlati3u_xlati4lookupTexturehlslcc_dummyPointClampu_xlati16u_xlati24u_xlatb16u_xlatu5u_xlatu11u_xlatb9u_xlatu9u_xlatu27u_xlati21 u_xlati6u_xlati7'u_xlati27u_xlatb21u_xlatb4>u_xlatu4Vu_xlati5\u_xlati13u_xlatb5{u_xlati20u_xlatb20 translationTable_origX1Xu_xlat_precise_vec4u_xlat_precise_ivec4u_xlat_precise_bvec4u_xlat_precise_uvec4G G GG!H"#H"#H"#H"# H"#H"#H"#H"#H"# H" # G"G$"G$!GfHg#GgGi"Gi!G"G!GG"G!GG"G!GG !  ;     ;  + , ;  ;+ !  "! #";#$% +%& '+%*2+5 6+9 C%;CD;CL M+%Z;C_b cb dc;defgf hg;hi+%j qb;Cs;C+%++% ;  ; ;%;C+;C+++;6  ;;);6+%;M;M ;; ,59, 999, 555%;;C'+%*+%= @+%]+%p+%~+%;6+;6;>;V [;[\,_5;6;C{;6 b ; c  2 , 56;;;;=  O  = O  = O > = O A'($&=)(A'+$*=,+A'-$&=.-A'/$&=0/P1),.0231O433>4A675=87A6:9=;:<8;A6=9>=<A6>9=?>A?@A@AA'E$*=FE|%GFA'H$&=IH|%JI%KGJ>DKAMN 5=ON|%POA'Q$&=RQ|%SR%TPSAMU 9=VU|%WV%XTW>LX=%YLA'[$Z=\[|%]\%^Y]>L^=%`L%a`&>_a=%k_%lk&%mljA'nijm=on|bpoAqre9>rpA't$&=ut|%vuA'w$*=xw|%yx%zvy=%{L%|z{>s|=%}s%~}&>s~=%s%&%jA'ij=|bAqe5>=%D%>=%L=%%>=%%&>=%%&%jA'ij=|bAqe>=%D%*=%L%>D=%D%&>D=%D%&%jA'ij=|bAqe>A'$j=P = O > ==V= O |AM =|%d_|>Aqe9=b||%>=%j9|%>=%jAqe9=b||bAqe9>Aqe9=b||%>=%A'$=|%>=sAM5>9AM9>9AM5>9>jAM5=A'$=>>j=AM5=>AM5=>= |%  % j AC 9>  =P2O P  |= O > AC9=%| AC! 5=%"!|#"$ #|%%$AC&5>&%=(|%)(%+)*>'+AC, 5=%-,.-j=%/'%0.j/AC1>10AC2 =%3243j549|%65AC7>76AC8 9=%98AC:9>:9=;|<;=>|%?>A@A$=?=BAC<B|DC> D=E OFEE| GF=H OIHH| JI KGJ|LK>LACM5=%NM|ONACP9=%QP|RQSOR|%TS>LTACU9=%VU=%WLXVW>X=Y[YZ[ZAM\9>\>][AM_5=`_a`5AMb9>ba= cO dcc>d=e>e=%fgfjighihAMj9>j9iiAMk9=lkml9omnon|bqpAqre9>rq>]oosAMt5>t9AMu9>u9AMv5>v9>jwwyz{{xyxAM|5=}|A'$~=}>>j=yAM5=5>AM5=|%%j|>=59|%AC 9>AC 9=%j9|%AC 5>= O| =|%A@$=O  |>AC5=%|AC9=%||%AC9>AC9=%AC9=%>==|%%>'=%'|>=59|%AC 9>AC 9=%j9|%AC 5>= O| =|%A@$=O  |= O > AC 5=%|AC 9=%|AM9>>]yAM5=5AM9>= O >=>zzwy=%jAM9>AM9=|%]>=AM9=|%>=%|A'$=|bAqe9>>]Aqe9=b|%p>=>]|bpAqe9>Aqe5=b||% > =%   j     Aqe5=b||bAqe5>>]  Aqe5=b||%>=%A'$=|%>= AM!5>!9AM"9>"9AM#5>#9>j$$&'((%&%AM)5=*)A'+$=,+-*,>->j=.0./0/&0AM25=3243>4AM55=6576>7=8|%98%:j9AC;9>;:=<P=<<<<2>=O?>> @?P A B@A|CB=D O EDC> EACF9=%GF|HGACI 5=%JI|KJLHK|%MLACN5>NM=O|%PO%QP*>'QACR 5=%SRTSj=%U'%VTjUACW>WVACX =%YXZYj[Z9|%\[AC]>]\AC^ 9=%_^AC`9>`_=a|ba=c|%dcA@e$=d=fegbf|hg> h=i Ojii| kj=l Omll| nm okn|po>pACq5=%rq|srACt9=%ut|vuwsv|%xw>LxACy5=%zy=%{L|z{>|=}}~~AM9>>]&AM5=5AM9>= O >=>''$&=%jAM9>9AM9=9|bpAqe5>>] AM5>9AM9>9AM5>9>jAM5=A'$~=>>j=AM5=5>AM5=|%%j|>=59|%AC 9>AC 9=%j9|%AC 5>= O| =|%A@$=O  |>AC5=%|AC9=%||%AC9>AC5=%AC9=%>==|%%>'=%'|>=59|%AC 9>AC 9=%j9|%AC 5>= O| =|%A@$=O  |>AC5=%|AC9=%|AM9>>]AM5=5AM9>= O >=>=%jAM9>AM9=|% ]> =     AM 9= |%>=%|A'$=|bAqe5>>] Aqe5=b|%p>=>]|b pAq!e5>!     Aq"e=b#"|$#%$|%&%>&=%'('j*()*)Aq+e=b,+|-,.-|b/.Aq0e>0/>]**Aq1e=b21|3243|%54>5=%6A'7$=87|%98:69>:=;=;<<AM?>5>?9AM@9>@9AMA5>A9>jBBDEFFCDCAMG5=HGA'I$=JIKHJ>K>j=LNLMNMDNAMP5=QPRQ>RAMS5=TSUT>U=W|%XW%YjXACZV9>ZY=]P^]]]]2`^_Oa`` baP c dbc|ed>\eACfV9=%gf|hgACi\5=%ji|kjlhk|%mlACn 5>nm=o|%po%qp*>'qACr\5=%srtsj=%u'%vtjuACw >wvACx\=%yxzyj{z9|%|{AC} >}|AC~\9=%~AC 9>= |=|%A@$==|>V=VO| =VO|  |=VO >VACV5=%|ACV9=%||%>LAC=%=%L>=AM9>>]DAM5=5AM>9>= >O >=>EEBD=%jAM9>9AM9=9|bpAqe>>]=AM>5>9AM9>9AM5>9>jAM5=A'$~=>>j=AM5=5>AM5=|%%j|>=59|%ACV9>ACV9=%j9|%ACV5>=VO| =|%A@$=O  |=VO >VACV5=%|ACV9=%||%ACV9>AC=%ACV9=%>==|%%>'=%'|>=59|%AC 9>AC 9=%j9|% AC  5>  =  O   |  =|%A@$=O   |=\O>\AC\5=%|AC\9=%|AM9>>]AM 5=! "!5AM#>9>#"= $>O %$$>%=&>&=%'('j*()*)AM+9>+**AM,9=-,|%.-/.]>/=0201>1AM39=4354|%65>6=%7|87A'9$=:9;8:|b<;Aq=e>=<>]2>Aq?e=b@?|%A@BAp>B=CECDED>]EE|bFpAqGe>GF22==AqHe=bIH|JIKJ|%LK>L=%MNMjPNOPOAqQe=bRQ|SRTS|bUTAqVe>VU>]PPAqWe=bXW|YXZY|%[Z>[=%\A']$=^]|%_^`\_>`=acabbAMd>5>d9AMe9>e9AMf5>f9>jggijkkhihAMl5=mlA'n$=onpmo>p>j=qsqrsrisAMu5=vuwv>wAMx5=yxzy>z=||%}|%~j}>{~=P2O P  |=VO >V=%{|ACV5=%||%AC 5>=|%%*>'ACV5=%j=%'%jAC >ACV=%j9|%AC >ACV9=%AC 9>= |=|%A@$==|>V=VO| =VO|  |=VO >VACV5=%|ACV9=%||%>LAC=%=%L>=AM9>>]iAM5=5AM>9>= >O >=>jjgi=%jAM9>9AM9=9|bpAqe>>]cAM>5>9AM9>9AM5>9>jAM5=A'$~=>>j=AM5=5>AM5=|%%j|>=59|%ACV9>ACV9=%j9|%ACV5>=VO| =|%A@$=O  |=VO >V AC V5=%  |  AC V9=% | |%>{AC=%=%{>==|%%>'=%'|>= ! 5"!9|%#"AC$V9>$#AC%V9=%&%'&j('9|%)(AC*V5>*)=+VO,++| -,=.|%/.A@0$/=10O 211 3-2|43=5VO 654>V6AC7V5=%87|98AC:V9=%;:|<;=9<AM>9>>=>]AM@5=A@BA5AMC>9>CB= D>O EDD>E=F>F=%GHGjJHIJIAMK9>KJJAML9=ML|%NMON]>O=PRPQ^QAMS9=TSUT|%VU>V=%W|XWA'Y$=ZY[XZ|b\[Aq]e>]\>]R^Aq_e=b`_|%a`bap>b=cecded>]ee|bfpAqge>gfRRcc=%hihjkijkj=%l_%ml&Aqne9=bon|poA'qijm>qp=%rs%sr&Aqte5=but|vuA'wijs>wv=%x%yx&Aqze=b{z||{A'}ijy>}|=%~D%~&Aqe=b|A'ij>== O |=ceckk8 cbTranslationTableData bufferOffsetLevelbufferOffsetLevelAboveheight invLevelwidthcbTranslationTableData  addedTiles bufferOffsetLevelbufferOffsetLevelAbove evictedTiles height invLevellevel numAddedTilesnumEvictedTileswidthcbTranslationTableData bufferOffsetLevelheight invLevelwidthcbTranslationTableData  addedTiles bufferOffsetLevel evictedTiles height invLevellevel numAddedTilesnumEvictedTileswidth MaincbTranslationTableData _output_buftranslationTable #version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; uvec4 u_xlatu0; float u_xlat1; int u_xlati1; uvec2 u_xlatu1; int u_xlati2; bool u_xlatb2; int u_xlati4; bvec2 u_xlatb4; bool u_xlatb5; float u_xlat7; uint u_xlatu7; int u_xlati10; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlatu0 = gl_WorkGroupID.xyyy * uvec4(32u, 32u, 32u, 32u) + gl_LocalInvocationID.xyyy; u_xlatu1.xy = u_xlatu0.xw >> uvec2(1u, 1u); u_xlatu7 = width >> 1u; u_xlati1 = int(u_xlatu1.y) * int(u_xlatu7) + int(u_xlatu1.x); u_xlati1 = u_xlati1 + int(bufferOffsetLevelAbove); u_xlati1 = u_xlati1 << 2; u_xlat1 = uintBitsToFloat(_output_buf_buf[(u_xlati1 >> 2) + 0]); u_xlatb4.xy = greaterThanEqual(u_xlatu0.xwxx, uvec4(width, height, width, width)).xy; u_xlatb4.x = u_xlatb4.y || u_xlatb4.x; if(u_xlatb4.x){ return; } u_xlati4 = int(u_xlatu0.w) * int(width) + int(u_xlatu0.x); u_xlati4 = u_xlati4 + int(bufferOffsetLevel); u_xlati4 = u_xlati4 << 2; u_xlat7 = uintBitsToFloat(_output_buf_buf[(u_xlati4 >> 2) + 0]); u_xlati10 = int(floatBitsToUint(u_xlat7) & 2147483648u); if(u_xlati10 != 0) { u_xlat7 = uintBitsToFloat(floatBitsToUint(u_xlat7) & 2147483647u); } u_xlati2 = int(floatBitsToUint(u_xlat7) & 15u); u_xlatb2 = u_xlati2!=int(invLevel); u_xlatb5 = floatBitsToInt(u_xlat1)!=floatBitsToInt(u_xlat7); u_xlatb2 = u_xlatb5 && u_xlatb2; if(u_xlatb2){ u_xlat7 = u_xlat1; u_xlati1 = int(0xFFFFFFFFu); } else { u_xlati1 = int((u_xlati10!=0) ? 0xFFFFFFFFu : uint(0)); } if(u_xlati1 != 0) { _output_buf_buf[(u_xlati4 >> 2)] = floatBitsToUint(u_xlat7); imageStore(translationTable, ivec2(u_xlatu0.xy), vec4(u_xlat7)); } return; }  MaincbTranslationTableData lookupTexture lookupTexture _output_buftranslationTable#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; UNITY_LOCATION(0) uniform usampler2D lookupTexture; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; uvec4 u_xlatu0; float u_xlat1; int u_xlati1; uvec2 u_xlatu1; uvec2 u_xlatu2; ivec4 u_xlati3; uint u_xlatu3; bool u_xlatb3; ivec3 u_xlati4; ivec4 u_xlati5; int u_xlati7; bvec2 u_xlatb7; int u_xlati9; uint u_xlatu9; int u_xlati12; bool u_xlatb12; float u_xlat13; uint u_xlatu13; uvec2 u_xlatu14; ivec2 u_xlati15; bool u_xlatb15; int u_xlati18; bool u_xlatb18; int u_xlati19; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlatu0.xy = gl_WorkGroupID.xy * uvec2(32u, 32u) + gl_LocalInvocationID.xy; u_xlatu1.xy = u_xlatu0.xy >> uvec2(1u, 1u); u_xlatu13 = width >> 1u; u_xlati1 = int(u_xlatu1.y) * int(u_xlatu13) + int(u_xlatu1.x); u_xlati1 = u_xlati1 + int(bufferOffsetLevelAbove); u_xlati1 = u_xlati1 << 2; u_xlat1 = uintBitsToFloat(_output_buf_buf[(u_xlati1 >> 2) + 0]); u_xlatb7.xy = greaterThanEqual(u_xlatu0.xyxx, uvec4(width, height, width, width)).xy; u_xlatb7.x = u_xlatb7.y || u_xlatb7.x; if(u_xlatb7.x){ return; } u_xlati7 = int(u_xlatu0.y) * int(width) + int(u_xlatu0.x); u_xlati7 = u_xlati7 + int(bufferOffsetLevel); u_xlati7 = u_xlati7 << 2; u_xlat13 = uintBitsToFloat(_output_buf_buf[(u_xlati7 >> 2) + 0]); u_xlatu0.zw = uvec2(level); u_xlati12 = int(texelFetch(lookupTexture, ivec2(u_xlatu0.xy), int(u_xlatu0.w)).x); u_xlati18 = int(floatBitsToUint(u_xlat13) & 2147483648u); u_xlati19 = int((u_xlati18!=0) ? 0xFFFFFFFFu : uint(0)); if(u_xlati18 != 0) { u_xlat13 = uintBitsToFloat(floatBitsToUint(u_xlat13) & 2147483647u); } u_xlati18 = int(floatBitsToUint(u_xlat13) & 15u); u_xlatb18 = u_xlati18==int(invLevel); if(u_xlatb18){ u_xlatu2.y = 0u; u_xlatu14.x = uint(0u); u_xlatu14.y = uint(0u); u_xlati18 = 0; while(true){ u_xlatb3 = u_xlatu14.y>=numEvictedTiles; u_xlati18 = 0; if(u_xlatb3){break;} u_xlatu3 = u_xlatu14.y >> 2u; u_xlatu9 = u_xlatu14.y & 3u; u_xlati15.x = 0 - int(u_xlatu9); u_xlati4.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu9), uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati5.y = int(uint(u_xlati15.x) & uint(u_xlati4.y)); u_xlati9 = int(u_xlatu9) + int(0xFFFFFFFDu); u_xlati5.z = (u_xlati4.y != 0) ? 0 : u_xlati9; u_xlati5.w = int((u_xlati4.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati5.x = u_xlati4.x; u_xlati3 = ivec4(uvec4(u_xlati5) & evictedTiles[int(u_xlatu3)]); u_xlati3.xy = ivec2(uvec2(u_xlati3.yw) | uvec2(u_xlati3.xz)); u_xlati3.x = int(uint(u_xlati3.y) | uint(u_xlati3.x)); u_xlatb3 = u_xlati12==u_xlati3.x; if(u_xlatb3){ u_xlatu14.x = 4294967295u; u_xlati18 = int(0xFFFFFFFFu); break; } u_xlatu2.x = u_xlatu14.y + 1u; u_xlatu14.xy = u_xlatu2.yx; u_xlatb18 = u_xlatb3; } if(u_xlati18 == 0) { u_xlatu14.x = 0u; } if(u_xlatu14.x != uint(0)) { u_xlat13 = u_xlat1; u_xlati19 = int(0xFFFFFFFFu); } } else { u_xlatu2.y = 0u; u_xlatu14.x = uint(0u); u_xlatu14.y = uint(0u); u_xlati18 = 0; while(true){ u_xlatb3 = u_xlatu14.y>=numAddedTiles; u_xlati18 = 0; if(u_xlatb3){break;} u_xlatu3 = u_xlatu14.y >> 1u; u_xlatu9 = uint(int(bitfieldInsert(0,int(u_xlatu14.y),1,1) )); u_xlati4.x = int((u_xlatu9<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati4.y = int((u_xlati4.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati15.xy = ivec2(uvec2(u_xlati4.xy) & addedTiles[int(u_xlatu3)].xz); u_xlati15.x = int(uint(u_xlati15.y) | uint(u_xlati15.x)); u_xlatb15 = u_xlati12==u_xlati15.x; if(u_xlatb15){ u_xlati9 = int(u_xlatu9) + 1; u_xlatu9 = uint(u_xlati9) + 4294967295u; u_xlati4.x = int((u_xlatu9<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati4.y = int((u_xlati4.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati3.xy = ivec2(uvec2(u_xlati4.xy) & addedTiles[int(u_xlatu3)].yw); u_xlatu14.x = uint(u_xlati3.y) | uint(u_xlati3.x); u_xlati18 = int(0xFFFFFFFFu); break; } u_xlatu2.x = u_xlatu14.y + 1u; u_xlatu14.xy = u_xlatu2.yx; u_xlatb18 = u_xlatb15; } if(u_xlati18 == 0) { u_xlatu14.x = 4294967295u; } u_xlatb12 = int(u_xlatu14.x)!=int(0xFFFFFFFFu); if(u_xlatb12){ u_xlati12 = int(u_xlatu14.x & 4294967280u); u_xlat13 = uintBitsToFloat(uint(u_xlati12) | invLevel); u_xlati19 = int(0xFFFFFFFFu); } else { u_xlatb12 = floatBitsToInt(u_xlat1)!=floatBitsToInt(u_xlat13); if(u_xlatb12){ u_xlat13 = u_xlat1; u_xlati19 = int(0xFFFFFFFFu); } } } if(u_xlati19 != 0) { _output_buf_buf[(u_xlati7 >> 2)] = floatBitsToUint(u_xlat13); imageStore(translationTable, ivec2(u_xlatu0.xy), vec4(u_xlat13)); } return; }  MaincbTranslationTableData _output_buftranslationTable~ #version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; uvec4 u_xlatu0; int u_xlati1; bvec2 u_xlatb1; bool u_xlatb2; float u_xlat4; int u_xlati7; int u_xlati10; bool u_xlatb10; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlatu0 = gl_WorkGroupID.xyyy * uvec4(32u, 32u, 32u, 32u) + gl_LocalInvocationID.xyyy; u_xlatb1.xy = greaterThanEqual(u_xlatu0.xwxx, uvec4(width, height, width, width)).xy; u_xlatb1.x = u_xlatb1.y || u_xlatb1.x; if(u_xlatb1.x){ return; } u_xlati1 = int(u_xlatu0.w) * int(width) + int(u_xlatu0.x); u_xlati1 = u_xlati1 + int(bufferOffsetLevel); u_xlati1 = u_xlati1 << 2; u_xlat4 = uintBitsToFloat(_output_buf_buf[(u_xlati1 >> 2) + 0]); u_xlati7 = int(floatBitsToUint(u_xlat4) & 2147483648u); if(u_xlati7 != 0) { u_xlat4 = uintBitsToFloat(floatBitsToUint(u_xlat4) & 2147483647u); } u_xlati10 = int(floatBitsToUint(u_xlat4) & 15u); u_xlatb10 = u_xlati10!=int(invLevel); u_xlatb2 = floatBitsToInt(u_xlat4)!=int(0x7FFFFFFFu); u_xlatb10 = u_xlatb10 && u_xlatb2; if(u_xlatb10){ u_xlat4 = float(intBitsToFloat(int(0x7FFFFFFFu))); u_xlati10 = int(int(0xFFFFFFFFu)); } else { u_xlati10 = int((u_xlati7!=0) ? 0xFFFFFFFFu : uint(0)); } if(u_xlati10 != 0) { _output_buf_buf[(u_xlati1 >> 2)] = floatBitsToUint(u_xlat4); imageStore(translationTable, ivec2(u_xlatu0.xy), vec4(u_xlat4)); } return; }  MaincbTranslationTableData lookupTexture lookupTexture _output_buftranslationTable#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; UNITY_LOCATION(0) uniform usampler2D lookupTexture; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; uvec4 u_xlatu0; int u_xlati1; bvec2 u_xlatb1; uvec2 u_xlatu2; ivec4 u_xlati3; uint u_xlatu3; ivec3 u_xlati4; ivec4 u_xlati5; float u_xlat7; ivec2 u_xlati9; bool u_xlatb9; int u_xlati12; bool u_xlatb12; int u_xlati13; uvec2 u_xlatu14; int u_xlati18; bool u_xlatb18; int u_xlati19; uint u_xlatu19; bool u_xlatb19; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlatu0.xy = gl_WorkGroupID.xy * uvec2(32u, 32u) + gl_LocalInvocationID.xy; u_xlatb1.xy = greaterThanEqual(u_xlatu0.xyxx, uvec4(width, height, width, width)).xy; u_xlatb1.x = u_xlatb1.y || u_xlatb1.x; if(u_xlatb1.x){ return; } u_xlati1 = int(u_xlatu0.y) * int(width) + int(u_xlatu0.x); u_xlati1 = u_xlati1 + int(bufferOffsetLevel); u_xlati1 = u_xlati1 << 2; u_xlat7 = uintBitsToFloat(_output_buf_buf[(u_xlati1 >> 2) + 0]); u_xlatu0.zw = uvec2(level); u_xlati12 = int(texelFetch(lookupTexture, ivec2(u_xlatu0.xy), int(u_xlatu0.w)).x); u_xlati18 = int(floatBitsToUint(u_xlat7) & 2147483648u); u_xlati13 = int((u_xlati18!=0) ? 0xFFFFFFFFu : uint(0)); if(u_xlati18 != 0) { u_xlat7 = uintBitsToFloat(floatBitsToUint(u_xlat7) & 2147483647u); } u_xlati18 = int(floatBitsToUint(u_xlat7) & 15u); u_xlatb18 = u_xlati18==int(invLevel); if(u_xlatb18){ u_xlatu2.y = 0u; u_xlatu14.x = uint(0u); u_xlatu14.y = uint(0u); u_xlati18 = 0; while(true){ u_xlatb19 = u_xlatu14.y>=numEvictedTiles; u_xlati18 = 0; if(u_xlatb19){break;} u_xlatu19 = u_xlatu14.y >> 2u; u_xlatu3 = u_xlatu14.y & 3u; u_xlati9.x = 0 - int(u_xlatu3); u_xlati4.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu3), uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati5.y = int(uint(u_xlati9.x) & uint(u_xlati4.y)); u_xlati3.x = int(u_xlatu3) + int(0xFFFFFFFDu); u_xlati5.z = (u_xlati4.y != 0) ? 0 : u_xlati3.x; u_xlati5.w = int((u_xlati4.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati5.x = u_xlati4.x; u_xlati3 = ivec4(uvec4(u_xlati5) & evictedTiles[int(u_xlatu19)]); u_xlati3.xy = ivec2(uvec2(u_xlati3.yw) | uvec2(u_xlati3.xz)); u_xlati19 = int(uint(u_xlati3.y) | uint(u_xlati3.x)); u_xlatb19 = u_xlati12==u_xlati19; if(u_xlatb19){ u_xlatu14.x = 4294967295u; u_xlati18 = int(0xFFFFFFFFu); break; } u_xlatu2.x = u_xlatu14.y + 1u; u_xlatu14.xy = u_xlatu2.yx; u_xlatb18 = u_xlatb19; } if(u_xlati18 == 0) { u_xlatu14.x = 0u; } if(u_xlatu14.x != uint(0)) { u_xlat7 = float(intBitsToFloat(int(0x7FFFFFFFu))); u_xlati13 = int(int(0xFFFFFFFFu)); } } else { u_xlatu2.y = 0u; u_xlatu14.x = uint(0u); u_xlatu14.y = uint(0u); u_xlati18 = 0; while(true){ u_xlatb19 = u_xlatu14.y>=numAddedTiles; u_xlati18 = 0; if(u_xlatb19){break;} u_xlatu19 = u_xlatu14.y >> 1u; u_xlatu3 = uint(int(bitfieldInsert(0,int(u_xlatu14.y),1,1) )); u_xlati4.x = int((u_xlatu3<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati4.y = int((u_xlati4.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati9.xy = ivec2(uvec2(u_xlati4.xy) & addedTiles[int(u_xlatu19)].xz); u_xlati9.x = int(uint(u_xlati9.y) | uint(u_xlati9.x)); u_xlatb9 = u_xlati12==u_xlati9.x; if(u_xlatb9){ u_xlati3.x = int(u_xlatu3) + 1; u_xlatu3 = uint(u_xlati3.x) + 4294967295u; u_xlati4.x = int((u_xlatu3<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati4.y = int((u_xlati4.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati3.xz = ivec2(uvec2(u_xlati4.xy) & addedTiles[int(u_xlatu19)].yw); u_xlatu14.x = uint(u_xlati3.z) | uint(u_xlati3.x); u_xlati18 = int(0xFFFFFFFFu); break; } u_xlatu2.x = u_xlatu14.y + 1u; u_xlatu14.xy = u_xlatu2.yx; u_xlatb18 = u_xlatb9; } if(u_xlati18 == 0) { u_xlatu14.x = 4294967295u; } u_xlatb12 = int(u_xlatu14.x)!=int(0xFFFFFFFFu); if(u_xlatb12){ u_xlati12 = int(u_xlatu14.x & 4294967280u); u_xlat7 = uintBitsToFloat(uint(u_xlati12) | invLevel); u_xlati13 = int(0xFFFFFFFFu); } else { u_xlatb12 = floatBitsToInt(u_xlat7)!=int(0x7FFFFFFFu); if(u_xlatb12){ u_xlati13 = int(0xFFFFFFFFu); } u_xlat7 = intBitsToFloat(int(0x7FFFFFFFu)); } } if(u_xlati13 != 0) { _output_buf_buf[(u_xlati1 >> 2)] = floatBitsToUint(u_xlat7); imageStore(translationTable, ivec2(u_xlatu0.xy), vec4(u_xlat7)); } return; }  MaincbTranslationTableData _output_buftranslationTable#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; float u_xlat0; int u_xlati0; uvec4 u_xlatu1; vec2 u_xlat2; bool u_xlatb3; int u_xlati4; uvec2 u_xlatu4; bvec3 u_xlatb4; float u_xlat8; int u_xlati8; int u_xlati10; bool u_xlatb10; int u_xlati12; uint u_xlatu12; int u_xlati14; bool u_xlatb14; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlati0 = int(height) * int(width); u_xlati0 = u_xlati0 >> 2; u_xlatu1 = gl_WorkGroupID.xyyy * uvec4(32u, 32u, 32u, 32u) + gl_LocalInvocationID.xyyy; u_xlatu4.xy = u_xlatu1.xw >> uvec2(1u, 1u); u_xlatu12 = width >> 1u; u_xlati4 = int(u_xlatu4.y) * int(u_xlatu12) + int(u_xlatu4.x); u_xlati4 = u_xlati4 + int(bufferOffsetLevelAbove); u_xlati8 = u_xlati4 << 2; u_xlat8 = uintBitsToFloat(_output_buf_buf[(u_xlati8 >> 2) + 0]); u_xlati0 = u_xlati4 + u_xlati0; u_xlati0 = u_xlati0 << 2; u_xlat0 = uintBitsToFloat(_output_buf_buf[(u_xlati0 >> 2) + 0]); u_xlatb4.xz = greaterThanEqual(u_xlatu1.xxww, uvec4(width, width, height, height)).xz; u_xlatb4.x = u_xlatb4.z || u_xlatb4.x; if(u_xlatb4.x){ return; } u_xlati4 = int(u_xlatu1.w) * int(width) + int(u_xlatu1.x); u_xlati4 = u_xlati4 + int(bufferOffsetLevel); u_xlati12 = u_xlati4 << 2; u_xlat2.x = uintBitsToFloat(_output_buf_buf[(u_xlati12 >> 2) + 0]); u_xlati4 = int(width) * int(height) + u_xlati4; u_xlati4 = u_xlati4 << 2; u_xlat2.y = uintBitsToFloat(_output_buf_buf[(u_xlati4 >> 2) + 0]); u_xlati10 = int(floatBitsToUint(u_xlat2.x) & 2147483648u); if(u_xlati10 != 0) { u_xlat2.x = uintBitsToFloat(floatBitsToUint(u_xlat2.x) & 2147483647u); } u_xlati14 = int(floatBitsToUint(u_xlat2.x) & 15u); u_xlatb14 = u_xlati14!=int(invLevel); u_xlatb3 = floatBitsToInt(u_xlat8)!=floatBitsToInt(u_xlat2.x); u_xlatb14 = u_xlatb14 && u_xlatb3; if(u_xlatb14){ u_xlat2.x = u_xlat8; u_xlati8 = int(0xFFFFFFFFu); } else { u_xlati8 = int((u_xlati10!=0) ? 0xFFFFFFFFu : uint(0)); } u_xlati10 = int(floatBitsToUint(u_xlat2.y) & 2147483648u); if(u_xlati10 != 0) { u_xlat2.y = uintBitsToFloat(floatBitsToUint(u_xlat2.y) & 2147483647u); u_xlati8 = int(0xFFFFFFFFu); } u_xlati10 = int(floatBitsToUint(u_xlat2.y) & 15u); u_xlatb10 = u_xlati10!=int(invLevel); u_xlatb14 = floatBitsToInt(u_xlat0)!=floatBitsToInt(u_xlat2.y); u_xlatb10 = u_xlatb14 && u_xlatb10; if(u_xlatb10){ u_xlat2.y = u_xlat0; u_xlati8 = int(0xFFFFFFFFu); } if(u_xlati8 != 0) { _output_buf_buf[(u_xlati12 >> 2)] = floatBitsToUint(u_xlat2.x); _output_buf_buf[(u_xlati4 >> 2)] = floatBitsToUint(u_xlat2.y); imageStore(translationTable, ivec2(u_xlatu1.xy), u_xlat2.xyxx); } return; }  MaincbTranslationTableData lookupTexture lookupTexture _output_buftranslationTable)#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; UNITY_LOCATION(0) uniform usampler2D lookupTexture; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; float u_xlat0; int u_xlati0; uvec4 u_xlatu1; vec2 u_xlat2; uvec2 u_xlatu3; ivec4 u_xlati4; uint u_xlatu4; bool u_xlatb4; ivec4 u_xlati5; ivec4 u_xlati6; int u_xlati7; uvec2 u_xlatu7; bvec3 u_xlatb7; ivec3 u_xlati11; uint u_xlatu11; float u_xlat14; int u_xlati14; bool u_xlatb14; ivec2 u_xlati15; uint u_xlatu15; bool u_xlatb15; int u_xlati16; uint u_xlatu16; bool u_xlatb16; uvec2 u_xlatu17; ivec2 u_xlati18; bool u_xlatb18; int u_xlati21; uint u_xlatu21; int u_xlati23; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlati0 = int(height) * int(width); u_xlati0 = u_xlati0 >> 2; u_xlatu1.xy = gl_WorkGroupID.xy * uvec2(32u, 32u) + gl_LocalInvocationID.xy; u_xlatu7.xy = u_xlatu1.xy >> uvec2(1u, 1u); u_xlatu21 = width >> 1u; u_xlati7 = int(u_xlatu7.y) * int(u_xlatu21) + int(u_xlatu7.x); u_xlati7 = u_xlati7 + int(bufferOffsetLevelAbove); u_xlati14 = u_xlati7 << 2; u_xlat14 = uintBitsToFloat(_output_buf_buf[(u_xlati14 >> 2) + 0]); u_xlati0 = u_xlati7 + u_xlati0; u_xlati0 = u_xlati0 << 2; u_xlat0 = uintBitsToFloat(_output_buf_buf[(u_xlati0 >> 2) + 0]); u_xlatb7.xz = greaterThanEqual(u_xlatu1.xxyy, uvec4(width, width, height, height)).xz; u_xlatb7.x = u_xlatb7.z || u_xlatb7.x; if(u_xlatb7.x){ return; } u_xlati7 = int(u_xlatu1.y) * int(width) + int(u_xlatu1.x); u_xlati7 = u_xlati7 + int(bufferOffsetLevel); u_xlati21 = u_xlati7 << 2; u_xlat2.x = uintBitsToFloat(_output_buf_buf[(u_xlati21 >> 2) + 0]); u_xlati7 = int(width) * int(height) + u_xlati7; u_xlati7 = u_xlati7 << 2; u_xlat2.y = uintBitsToFloat(_output_buf_buf[(u_xlati7 >> 2) + 0]); u_xlatu1.zw = uvec2(level); u_xlati15.xy = ivec2(texelFetch(lookupTexture, ivec2(u_xlatu1.xy), int(u_xlatu1.w)).xy); u_xlati16 = int(floatBitsToUint(u_xlat2.x) & 2147483648u); u_xlati23 = int((u_xlati16!=0) ? 0xFFFFFFFFu : uint(0)); if(u_xlati16 != 0) { u_xlat2.x = uintBitsToFloat(floatBitsToUint(u_xlat2.x) & 2147483647u); } u_xlati16 = int(floatBitsToUint(u_xlat2.x) & 15u); u_xlatb16 = u_xlati16==int(invLevel); if(u_xlatb16){ u_xlatu3.y = 0u; u_xlatu17.x = uint(0u); u_xlatu17.y = uint(0u); u_xlati16 = 0; while(true){ u_xlatb4 = u_xlatu17.y>=numEvictedTiles; u_xlati16 = 0; if(u_xlatb4){break;} u_xlatu4 = u_xlatu17.y >> 2u; u_xlatu11 = u_xlatu17.y & 3u; u_xlati18.x = 0 - int(u_xlatu11); u_xlati5.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu11), uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati6.y = int(uint(u_xlati18.x) & uint(u_xlati5.y)); u_xlati11.x = int(u_xlatu11) + int(0xFFFFFFFDu); u_xlati6.z = (u_xlati5.y != 0) ? 0 : u_xlati11.x; u_xlati6.w = int((u_xlati5.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati6.x = u_xlati5.x; u_xlati4 = ivec4(uvec4(u_xlati6) & evictedTiles[int(u_xlatu4)]); u_xlati4.xy = ivec2(uvec2(u_xlati4.yw) | uvec2(u_xlati4.xz)); u_xlati4.x = int(uint(u_xlati4.y) | uint(u_xlati4.x)); u_xlatb4 = u_xlati15.x==u_xlati4.x; if(u_xlatb4){ u_xlatu17.x = 4294967295u; u_xlati16 = int(0xFFFFFFFFu); break; } u_xlatu3.x = u_xlatu17.y + 1u; u_xlatu17.xy = u_xlatu3.yx; u_xlatb16 = u_xlatb4; } if(u_xlati16 == 0) { u_xlatu17.x = 0u; } if(u_xlatu17.x != uint(0)) { u_xlat2.x = u_xlat14; u_xlati23 = int(0xFFFFFFFFu); } } else { u_xlatu3.y = 0u; u_xlatu17.x = uint(0u); u_xlatu17.y = uint(0u); u_xlati16 = 0; while(true){ u_xlatb4 = u_xlatu17.y>=numAddedTiles; u_xlati16 = 0; if(u_xlatb4){break;} u_xlatu4 = u_xlatu17.y >> 1u; u_xlatu11 = uint(int(bitfieldInsert(0,int(u_xlatu17.y),1,1) )); u_xlati5.x = int((u_xlatu11<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati18.xy = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu4)].xz); u_xlati18.x = int(uint(u_xlati18.y) | uint(u_xlati18.x)); u_xlatb18 = u_xlati15.x==u_xlati18.x; if(u_xlatb18){ u_xlati11.x = int(u_xlatu11) + 1; u_xlatu11 = uint(u_xlati11.x) + 4294967295u; u_xlati5.x = int((u_xlatu11<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati4.xy = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu4)].yw); u_xlatu17.x = uint(u_xlati4.y) | uint(u_xlati4.x); u_xlati16 = int(0xFFFFFFFFu); break; } u_xlatu3.x = u_xlatu17.y + 1u; u_xlatu17.xy = u_xlatu3.yx; u_xlatb16 = u_xlatb18; } if(u_xlati16 == 0) { u_xlatu17.x = 4294967295u; } u_xlatb15 = int(u_xlatu17.x)!=int(0xFFFFFFFFu); if(u_xlatb15){ u_xlati15.x = int(u_xlatu17.x & 4294967280u); u_xlat2.x = uintBitsToFloat(uint(u_xlati15.x) | invLevel); u_xlati23 = int(0xFFFFFFFFu); } else { u_xlatb15 = floatBitsToInt(u_xlat14)!=floatBitsToInt(u_xlat2.x); if(u_xlatb15){ u_xlat2.x = u_xlat14; u_xlati23 = int(0xFFFFFFFFu); } } } u_xlati14 = int(floatBitsToUint(u_xlat2.y) & 2147483648u); if(u_xlati14 != 0) { u_xlat2.y = uintBitsToFloat(floatBitsToUint(u_xlat2.y) & 2147483647u); u_xlati23 = int(0xFFFFFFFFu); } u_xlati14 = int(floatBitsToUint(u_xlat2.y) & 15u); u_xlatb14 = u_xlati14==int(invLevel); if(u_xlatb14){ u_xlatu3.y = 0u; u_xlatu17.x = uint(0u); u_xlatu17.y = uint(0u); u_xlati14 = 0; while(true){ u_xlatb15 = u_xlatu17.y>=numEvictedTiles; u_xlati14 = 0; if(u_xlatb15){break;} u_xlatu15 = u_xlatu17.y >> 2u; u_xlatu16 = u_xlatu17.y & 3u; u_xlati4.x = 0 - int(u_xlatu16); u_xlati11.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu16), uvec4(1u, 2u, 3u, 3u)).xyz) * 0xFFFFFFFFu); u_xlati5.y = int(uint(u_xlati4.x) & uint(u_xlati11.y)); u_xlati16 = int(u_xlatu16) + int(0xFFFFFFFDu); u_xlati5.z = (u_xlati11.y != 0) ? 0 : u_xlati16; u_xlati5.w = int((u_xlati11.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati5.x = u_xlati11.x; u_xlati4 = ivec4(uvec4(u_xlati5) & evictedTiles[int(u_xlatu15)]); u_xlati4.xy = ivec2(uvec2(u_xlati4.yw) | uvec2(u_xlati4.xz)); u_xlati15.x = int(uint(u_xlati4.y) | uint(u_xlati4.x)); u_xlatb15 = u_xlati15.y==u_xlati15.x; if(u_xlatb15){ u_xlatu17.x = 4294967295u; u_xlati14 = int(0xFFFFFFFFu); break; } u_xlatu3.x = u_xlatu17.y + 1u; u_xlatu17.xy = u_xlatu3.yx; u_xlatb14 = u_xlatb15; } if(u_xlati14 == 0) { u_xlatu17.x = 0u; } if(u_xlatu17.x != uint(0)) { u_xlat2.y = u_xlat0; u_xlati23 = int(0xFFFFFFFFu); } } else { u_xlatu3.y = 0u; u_xlatu17.x = uint(0u); u_xlatu17.y = uint(0u); u_xlati14 = 0; while(true){ u_xlatb15 = u_xlatu17.y>=numAddedTiles; u_xlati14 = 0; if(u_xlatb15){break;} u_xlatu15 = u_xlatu17.y >> 1u; u_xlatu16 = uint(int(bitfieldInsert(0,int(u_xlatu17.y),1,1) )); u_xlati4.x = int((u_xlatu16<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati4.y = int((u_xlati4.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati4.xy = ivec2(uvec2(u_xlati4.xy) & addedTiles[int(u_xlatu15)].xz); u_xlati4.x = int(uint(u_xlati4.y) | uint(u_xlati4.x)); u_xlatb4 = u_xlati15.y==u_xlati4.x; if(u_xlatb4){ u_xlati16 = int(u_xlatu16) + 1; u_xlatu16 = uint(u_xlati16) + 4294967295u; u_xlati5.x = int((u_xlatu16<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati11.xy = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu15)].yw); u_xlatu17.x = uint(u_xlati11.y) | uint(u_xlati11.x); u_xlati14 = int(0xFFFFFFFFu); break; } u_xlatu3.x = u_xlatu17.y + 1u; u_xlatu17.xy = u_xlatu3.yx; u_xlatb14 = u_xlatb4; } if(u_xlati14 == 0) { u_xlatu17.x = 4294967295u; } u_xlatb14 = int(u_xlatu17.x)!=int(0xFFFFFFFFu); if(u_xlatb14){ u_xlati14 = int(u_xlatu17.x & 4294967280u); u_xlat2.y = uintBitsToFloat(uint(u_xlati14) | invLevel); u_xlati23 = int(0xFFFFFFFFu); } else { u_xlatb14 = floatBitsToInt(u_xlat0)!=floatBitsToInt(u_xlat2.y); if(u_xlatb14){ u_xlat2.y = u_xlat0; u_xlati23 = int(0xFFFFFFFFu); } } } if(u_xlati23 != 0) { _output_buf_buf[(u_xlati21 >> 2)] = floatBitsToUint(u_xlat2.x); _output_buf_buf[(u_xlati7 >> 2)] = floatBitsToUint(u_xlat2.y); imageStore(translationTable, ivec2(u_xlatu1.xy), u_xlat2.xyxx); } return; }  MaincbTranslationTableData _output_buftranslationTable #version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; uvec4 u_xlatu0; int u_xlati1; bvec2 u_xlatb1; vec2 u_xlat2; int u_xlati4; int u_xlati7; bool u_xlatb7; bool u_xlatb8; int u_xlati10; bool u_xlatb10; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlatu0 = gl_WorkGroupID.xyyy * uvec4(32u, 32u, 32u, 32u) + gl_LocalInvocationID.xyyy; u_xlatb1.xy = greaterThanEqual(u_xlatu0.xwxx, uvec4(width, height, width, width)).xy; u_xlatb1.x = u_xlatb1.y || u_xlatb1.x; if(u_xlatb1.x){ return; } u_xlati1 = int(u_xlatu0.w) * int(width) + int(u_xlatu0.x); u_xlati1 = u_xlati1 + int(bufferOffsetLevel); u_xlati4 = u_xlati1 << 2; u_xlat2.x = uintBitsToFloat(_output_buf_buf[(u_xlati4 >> 2) + 0]); u_xlati1 = int(width) * int(height) + u_xlati1; u_xlati1 = u_xlati1 << 2; u_xlat2.y = uintBitsToFloat(_output_buf_buf[(u_xlati1 >> 2) + 0]); u_xlati7 = int(floatBitsToUint(u_xlat2.x) & 2147483648u); if(u_xlati7 != 0) { u_xlat2.x = uintBitsToFloat(floatBitsToUint(u_xlat2.x) & 2147483647u); } u_xlati10 = int(floatBitsToUint(u_xlat2.x) & 15u); u_xlatb10 = u_xlati10!=int(invLevel); u_xlatb8 = floatBitsToInt(u_xlat2.x)!=int(0x7FFFFFFFu); u_xlatb10 = u_xlatb10 && u_xlatb8; if(u_xlatb10){ u_xlat2.x = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati10 = int(0xFFFFFFFFu); } else { u_xlati10 = int((u_xlati7!=0) ? 0xFFFFFFFFu : uint(0)); } u_xlati7 = int(floatBitsToUint(u_xlat2.y) & 2147483648u); if(u_xlati7 != 0) { u_xlat2.y = uintBitsToFloat(floatBitsToUint(u_xlat2.y) & 2147483647u); u_xlati10 = int(0xFFFFFFFFu); } u_xlati7 = int(floatBitsToUint(u_xlat2.y) & 15u); u_xlatb7 = u_xlati7!=int(invLevel); u_xlatb8 = floatBitsToInt(u_xlat2.y)!=int(0x7FFFFFFFu); u_xlatb7 = u_xlatb7 && u_xlatb8; if(u_xlatb7){ u_xlat2.y = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati10 = int(0xFFFFFFFFu); } if(u_xlati10 != 0) { _output_buf_buf[(u_xlati4 >> 2)] = floatBitsToUint(u_xlat2.x); _output_buf_buf[(u_xlati1 >> 2)] = floatBitsToUint(u_xlat2.y); imageStore(translationTable, ivec2(u_xlatu0.xy), u_xlat2.xyxx); } return; }  MaincbTranslationTableData lookupTexture lookupTexture _output_buftranslationTable'#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; UNITY_LOCATION(0) uniform usampler2D lookupTexture; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; uvec4 u_xlatu0; int u_xlati1; bvec2 u_xlatb1; vec2 u_xlat2; uvec2 u_xlatu3; ivec4 u_xlati4; bool u_xlatb4; ivec4 u_xlati5; int u_xlati7; ivec3 u_xlati10; ivec2 u_xlati12; bool u_xlatb12; int u_xlati13; uint u_xlatu13; bool u_xlatb13; uvec2 u_xlatu14; ivec2 u_xlati15; uint u_xlatu15; bool u_xlatb15; int u_xlati19; int u_xlati21; uint u_xlatu21; bool u_xlatb21; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlatu0.xy = gl_WorkGroupID.xy * uvec2(32u, 32u) + gl_LocalInvocationID.xy; u_xlatb1.xy = greaterThanEqual(u_xlatu0.xyxx, uvec4(width, height, width, width)).xy; u_xlatb1.x = u_xlatb1.y || u_xlatb1.x; if(u_xlatb1.x){ return; } u_xlati1 = int(u_xlatu0.y) * int(width) + int(u_xlatu0.x); u_xlati1 = u_xlati1 + int(bufferOffsetLevel); u_xlati7 = u_xlati1 << 2; u_xlat2.x = uintBitsToFloat(_output_buf_buf[(u_xlati7 >> 2) + 0]); u_xlati1 = int(width) * int(height) + u_xlati1; u_xlati1 = u_xlati1 << 2; u_xlat2.y = uintBitsToFloat(_output_buf_buf[(u_xlati1 >> 2) + 0]); u_xlatu0.zw = uvec2(level); u_xlati12.xy = ivec2(texelFetch(lookupTexture, ivec2(u_xlatu0.xy), int(u_xlatu0.w)).xy); u_xlati13 = int(floatBitsToUint(u_xlat2.x) & 2147483648u); u_xlati19 = int((u_xlati13!=0) ? 0xFFFFFFFFu : uint(0)); if(u_xlati13 != 0) { u_xlat2.x = uintBitsToFloat(floatBitsToUint(u_xlat2.x) & 2147483647u); } u_xlati13 = int(floatBitsToUint(u_xlat2.x) & 15u); u_xlatb13 = u_xlati13==int(invLevel); if(u_xlatb13){ u_xlatu3.y = 0u; u_xlatu14.x = uint(0u); u_xlatu14.y = uint(0u); u_xlati13 = 0; while(true){ u_xlatb15 = u_xlatu14.y>=numEvictedTiles; u_xlati13 = 0; if(u_xlatb15){break;} u_xlatu15 = u_xlatu14.y >> 2u; u_xlatu21 = u_xlatu14.y & 3u; u_xlati4.x = 0 - int(u_xlatu21); u_xlati10.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu21), uvec4(1u, 2u, 3u, 3u)).xyz) * 0xFFFFFFFFu); u_xlati5.y = int(uint(u_xlati4.x) & uint(u_xlati10.y)); u_xlati21 = int(u_xlatu21) + int(0xFFFFFFFDu); u_xlati5.z = (u_xlati10.y != 0) ? 0 : u_xlati21; u_xlati5.w = int((u_xlati10.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati5.x = u_xlati10.x; u_xlati4 = ivec4(uvec4(u_xlati5) & evictedTiles[int(u_xlatu15)]); u_xlati15.xy = ivec2(uvec2(u_xlati4.yw) | uvec2(u_xlati4.xz)); u_xlati15.x = int(uint(u_xlati15.y) | uint(u_xlati15.x)); u_xlatb15 = u_xlati12.x==u_xlati15.x; if(u_xlatb15){ u_xlatu14.x = 4294967295u; u_xlati13 = int(0xFFFFFFFFu); break; } u_xlatu3.x = u_xlatu14.y + 1u; u_xlatu14.xy = u_xlatu3.yx; u_xlatb13 = u_xlatb15; } if(u_xlati13 == 0) { u_xlatu14.x = 0u; } if(u_xlatu14.x != uint(0)) { u_xlat2.x = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati19 = int(0xFFFFFFFFu); } } else { u_xlatu3.y = 0u; u_xlatu14.x = uint(0u); u_xlatu14.y = uint(0u); u_xlati13 = 0; while(true){ u_xlatb15 = u_xlatu14.y>=numAddedTiles; u_xlati13 = 0; if(u_xlatb15){break;} u_xlatu15 = u_xlatu14.y >> 1u; u_xlatu21 = uint(int(bitfieldInsert(0,int(u_xlatu14.y),1,1) )); u_xlati4.x = int((u_xlatu21<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati4.y = int((u_xlati4.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati4.xy = ivec2(uvec2(u_xlati4.xy) & addedTiles[int(u_xlatu15)].xz); u_xlati4.x = int(uint(u_xlati4.y) | uint(u_xlati4.x)); u_xlatb4 = u_xlati12.x==u_xlati4.x; if(u_xlatb4){ u_xlati21 = int(u_xlatu21) + 1; u_xlatu21 = uint(u_xlati21) + 4294967295u; u_xlati5.x = int((u_xlatu21<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati15.xy = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu15)].yw); u_xlatu14.x = uint(u_xlati15.y) | uint(u_xlati15.x); u_xlati13 = int(0xFFFFFFFFu); break; } u_xlatu3.x = u_xlatu14.y + 1u; u_xlatu14.xy = u_xlatu3.yx; u_xlatb13 = u_xlatb4; } if(u_xlati13 == 0) { u_xlatu14.x = 4294967295u; } u_xlatb12 = int(u_xlatu14.x)!=int(0xFFFFFFFFu); if(u_xlatb12){ u_xlati12.x = int(u_xlatu14.x & 4294967280u); u_xlat2.x = uintBitsToFloat(uint(u_xlati12.x) | invLevel); u_xlati19 = int(0xFFFFFFFFu); } else { u_xlatb12 = floatBitsToInt(u_xlat2.x)!=int(0x7FFFFFFFu); if(u_xlatb12){ u_xlati19 = int(0xFFFFFFFFu); } u_xlat2.x = intBitsToFloat(int(0x7FFFFFFFu)); } } u_xlati12.x = int(floatBitsToUint(u_xlat2.y) & 2147483648u); if(u_xlati12.x != 0) { u_xlat2.y = uintBitsToFloat(floatBitsToUint(u_xlat2.y) & 2147483647u); u_xlati19 = int(0xFFFFFFFFu); } u_xlati12.x = int(floatBitsToUint(u_xlat2.y) & 15u); u_xlatb12 = u_xlati12.x==int(invLevel); if(u_xlatb12){ u_xlatu3.y = 0u; u_xlatu14.x = uint(0u); u_xlatu14.y = uint(0u); u_xlati12.x = 0; while(true){ u_xlatb13 = u_xlatu14.y>=numEvictedTiles; u_xlati12.x = 0; if(u_xlatb13){break;} u_xlatu13 = u_xlatu14.y >> 2u; u_xlatu15 = u_xlatu14.y & 3u; u_xlati21 = 0 - int(u_xlatu15); u_xlati4.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu15), uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati5.y = int(uint(u_xlati21) & uint(u_xlati4.y)); u_xlati15.x = int(u_xlatu15) + int(0xFFFFFFFDu); u_xlati5.z = (u_xlati4.y != 0) ? 0 : u_xlati15.x; u_xlati5.w = int((u_xlati4.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati5.x = u_xlati4.x; u_xlati4 = ivec4(uvec4(u_xlati5) & evictedTiles[int(u_xlatu13)]); u_xlati15.xy = ivec2(uvec2(u_xlati4.yw) | uvec2(u_xlati4.xz)); u_xlati13 = int(uint(u_xlati15.y) | uint(u_xlati15.x)); u_xlatb13 = u_xlati12.y==u_xlati13; if(u_xlatb13){ u_xlatu14.x = 4294967295u; u_xlati12.x = int(0xFFFFFFFFu); break; } u_xlatu3.x = u_xlatu14.y + 1u; u_xlatu14.xy = u_xlatu3.yx; u_xlatb12 = u_xlatb13; } if(u_xlati12.x == 0) { u_xlatu14.x = 0u; } if(u_xlatu14.x != uint(0)) { u_xlat2.y = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati19 = int(0xFFFFFFFFu); } } else { u_xlatu3.y = 0u; u_xlatu14.x = uint(0u); u_xlatu14.y = uint(0u); u_xlati12.x = 0; while(true){ u_xlatb13 = u_xlatu14.y>=numAddedTiles; u_xlati12.x = 0; if(u_xlatb13){break;} u_xlatu13 = u_xlatu14.y >> 1u; u_xlatu15 = uint(int(bitfieldInsert(0,int(u_xlatu14.y),1,1) )); u_xlati4.x = int((u_xlatu15<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati4.y = int((u_xlati4.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati4.xy = ivec2(uvec2(u_xlati4.xy) & addedTiles[int(u_xlatu13)].xz); u_xlati21 = int(uint(u_xlati4.y) | uint(u_xlati4.x)); u_xlatb21 = u_xlati12.y==u_xlati21; if(u_xlatb21){ u_xlati15.x = int(u_xlatu15) + 1; u_xlatu15 = uint(u_xlati15.x) + 4294967295u; u_xlati4.x = int((u_xlatu15<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati4.y = int((u_xlati4.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati4.xy = ivec2(uvec2(u_xlati4.xy) & addedTiles[int(u_xlatu13)].yw); u_xlatu14.x = uint(u_xlati4.y) | uint(u_xlati4.x); u_xlati12.x = int(0xFFFFFFFFu); break; } u_xlatu3.x = u_xlatu14.y + 1u; u_xlatu14.xy = u_xlatu3.yx; u_xlatb12 = u_xlatb21; } if(u_xlati12.x == 0) { u_xlatu14.x = 4294967295u; } u_xlatb12 = int(u_xlatu14.x)!=int(0xFFFFFFFFu); if(u_xlatb12){ u_xlati12.x = int(u_xlatu14.x & 4294967280u); u_xlat2.y = uintBitsToFloat(uint(u_xlati12.x) | invLevel); u_xlati19 = int(0xFFFFFFFFu); } else { u_xlatb12 = floatBitsToInt(u_xlat2.y)!=int(0x7FFFFFFFu); if(u_xlatb12){ u_xlati19 = int(0xFFFFFFFFu); } u_xlat2.y = intBitsToFloat(int(0x7FFFFFFFu)); } } if(u_xlati19 != 0) { _output_buf_buf[(u_xlati7 >> 2)] = floatBitsToUint(u_xlat2.x); _output_buf_buf[(u_xlati1 >> 2)] = floatBitsToUint(u_xlat2.y); imageStore(translationTable, ivec2(u_xlatu0.xy), u_xlat2.xyxx); } return; }  MaincbTranslationTableData _output_buftranslationTable#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; int u_xlati0; uvec4 u_xlatu1; float u_xlat2; int u_xlati2; uint u_xlatu2; bool u_xlatb2; vec4 u_xlat3; bool u_xlatb4; float u_xlat5; int u_xlati5; int u_xlati7; bvec2 u_xlatb7; int u_xlati10; uvec2 u_xlatu10; bool u_xlatb10; int u_xlati12; float u_xlat15; int u_xlati15; int u_xlati17; bool u_xlatb17; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlati0 = int(height) * int(width); u_xlati5 = u_xlati0 >> 2; u_xlatu1 = gl_WorkGroupID.xyyy * uvec4(32u, 32u, 32u, 32u) + gl_LocalInvocationID.xyyy; u_xlatu10.xy = u_xlatu1.xw >> uvec2(1u, 1u); u_xlatu2 = width >> 1u; u_xlati10 = int(u_xlatu10.y) * int(u_xlatu2) + int(u_xlatu10.x); u_xlati10 = u_xlati10 + int(bufferOffsetLevelAbove); u_xlati15 = u_xlati10 << 2; u_xlat15 = uintBitsToFloat(_output_buf_buf[(u_xlati15 >> 2) + 0]); u_xlati2 = u_xlati10 + u_xlati5; u_xlati2 = u_xlati2 << 2; u_xlat2 = uintBitsToFloat(_output_buf_buf[(u_xlati2 >> 2) + 0]); u_xlati5 = u_xlati5 << 1; u_xlati5 = u_xlati10 + u_xlati5; u_xlati5 = u_xlati5 << 2; u_xlat5 = uintBitsToFloat(_output_buf_buf[(u_xlati5 >> 2) + 0]); u_xlatb7.xy = greaterThanEqual(u_xlatu1.xwxx, uvec4(width, height, width, width)).xy; u_xlatb10 = u_xlatb7.y || u_xlatb7.x; if(u_xlatb10){ return; } u_xlati10 = int(u_xlatu1.w) * int(width) + int(u_xlatu1.x); u_xlati10 = u_xlati10 + int(bufferOffsetLevel); u_xlati7 = u_xlati10 << 2; u_xlat3.x = uintBitsToFloat(_output_buf_buf[(u_xlati7 >> 2) + 0]); u_xlati12 = int(width) * int(height) + u_xlati10; u_xlati12 = u_xlati12 << 2; u_xlat3.y = uintBitsToFloat(_output_buf_buf[(u_xlati12 >> 2) + 0]); u_xlati0 = u_xlati0 << 1; u_xlati0 = u_xlati10 + u_xlati0; u_xlati0 = u_xlati0 << 2; u_xlat3.z = uintBitsToFloat(_output_buf_buf[(u_xlati0 >> 2) + 0]); u_xlati10 = int(floatBitsToUint(u_xlat3.x) & 2147483648u); if(u_xlati10 != 0) { u_xlat3.x = uintBitsToFloat(floatBitsToUint(u_xlat3.x) & 2147483647u); } u_xlati17 = int(floatBitsToUint(u_xlat3.x) & 15u); u_xlatb17 = u_xlati17!=int(invLevel); u_xlatb4 = floatBitsToInt(u_xlat15)!=floatBitsToInt(u_xlat3.x); u_xlatb17 = u_xlatb17 && u_xlatb4; if(u_xlatb17){ u_xlat3.x = u_xlat15; u_xlati15 = int(0xFFFFFFFFu); } else { u_xlati15 = int((u_xlati10!=0) ? 0xFFFFFFFFu : uint(0)); } u_xlati10 = int(floatBitsToUint(u_xlat3.y) & 2147483648u); if(u_xlati10 != 0) { u_xlat3.y = uintBitsToFloat(floatBitsToUint(u_xlat3.y) & 2147483647u); u_xlati15 = int(0xFFFFFFFFu); } u_xlati10 = int(floatBitsToUint(u_xlat3.y) & 15u); u_xlatb10 = u_xlati10!=int(invLevel); u_xlatb17 = floatBitsToInt(u_xlat2)!=floatBitsToInt(u_xlat3.y); u_xlatb10 = u_xlatb10 && u_xlatb17; if(u_xlatb10){ u_xlat3.y = u_xlat2; u_xlati15 = int(0xFFFFFFFFu); } u_xlati10 = int(floatBitsToUint(u_xlat3.z) & 2147483648u); if(u_xlati10 != 0) { u_xlat3.z = uintBitsToFloat(floatBitsToUint(u_xlat3.z) & 2147483647u); u_xlati15 = int(0xFFFFFFFFu); } u_xlati10 = int(floatBitsToUint(u_xlat3.z) & 15u); u_xlatb10 = u_xlati10!=int(invLevel); u_xlatb2 = floatBitsToInt(u_xlat5)!=floatBitsToInt(u_xlat3.z); u_xlatb10 = u_xlatb10 && u_xlatb2; if(u_xlatb10){ u_xlat3.z = u_xlat5; u_xlati15 = int(0xFFFFFFFFu); } if(u_xlati15 != 0) { _output_buf_buf[(u_xlati7 >> 2)] = floatBitsToUint(u_xlat3.x); _output_buf_buf[(u_xlati12 >> 2)] = floatBitsToUint(u_xlat3.y); _output_buf_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat3.z); u_xlat3.w = intBitsToFloat(int(0x7FFFFFFFu)); imageStore(translationTable, ivec2(u_xlatu1.xy), u_xlat3); } return; }  MaincbTranslationTableData lookupTexture lookupTexture _output_buftranslationTable:#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; UNITY_LOCATION(0) uniform usampler2D lookupTexture; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; int u_xlati0; uvec4 u_xlatu1; float u_xlat2; ivec4 u_xlati2; uint u_xlatu2; bool u_xlatb2; vec4 u_xlat3; ivec4 u_xlati4; uvec2 u_xlatu4; ivec4 u_xlati5; uvec2 u_xlatu5; ivec4 u_xlati6; ivec4 u_xlati7; float u_xlat8; int u_xlati8; int u_xlati10; bvec2 u_xlatb10; int u_xlati16; uvec2 u_xlatu16; bool u_xlatb16; int u_xlati17; int u_xlati18; ivec2 u_xlati21; uvec2 u_xlatu21; float u_xlat24; int u_xlati24; bool u_xlatb24; int u_xlati25; uint u_xlatu25; bool u_xlatb25; int u_xlati26; uint u_xlatu26; bool u_xlatb26; int u_xlati28; bool u_xlatb28; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlati0 = int(height) * int(width); u_xlati8 = u_xlati0 >> 2; u_xlatu1.xy = gl_WorkGroupID.xy * uvec2(32u, 32u) + gl_LocalInvocationID.xy; u_xlatu16.xy = u_xlatu1.xy >> uvec2(1u, 1u); u_xlatu2 = width >> 1u; u_xlati16 = int(u_xlatu16.y) * int(u_xlatu2) + int(u_xlatu16.x); u_xlati16 = u_xlati16 + int(bufferOffsetLevelAbove); u_xlati24 = u_xlati16 << 2; u_xlat24 = uintBitsToFloat(_output_buf_buf[(u_xlati24 >> 2) + 0]); u_xlati2.x = u_xlati16 + u_xlati8; u_xlati2.x = u_xlati2.x << 2; u_xlat2 = uintBitsToFloat(_output_buf_buf[(u_xlati2.x >> 2) + 0]); u_xlati8 = u_xlati8 << 1; u_xlati8 = u_xlati16 + u_xlati8; u_xlati8 = u_xlati8 << 2; u_xlat8 = uintBitsToFloat(_output_buf_buf[(u_xlati8 >> 2) + 0]); u_xlatb10.xy = greaterThanEqual(u_xlatu1.xyxx, uvec4(width, height, width, width)).xy; u_xlatb16 = u_xlatb10.y || u_xlatb10.x; if(u_xlatb16){ return; } u_xlati16 = int(u_xlatu1.y) * int(width) + int(u_xlatu1.x); u_xlati16 = u_xlati16 + int(bufferOffsetLevel); u_xlati10 = u_xlati16 << 2; u_xlat3.x = uintBitsToFloat(_output_buf_buf[(u_xlati10 >> 2) + 0]); u_xlati18 = int(width) * int(height) + u_xlati16; u_xlati18 = u_xlati18 << 2; u_xlat3.y = uintBitsToFloat(_output_buf_buf[(u_xlati18 >> 2) + 0]); u_xlati0 = u_xlati0 << 1; u_xlati0 = u_xlati16 + u_xlati0; u_xlati0 = u_xlati0 << 2; u_xlat3.z = uintBitsToFloat(_output_buf_buf[(u_xlati0 >> 2) + 0]); u_xlatu1.zw = uvec2(level); u_xlati4.xyz = ivec3(texelFetch(lookupTexture, ivec2(u_xlatu1.xy), int(u_xlatu1.w)).xyz); u_xlati16 = int(floatBitsToUint(u_xlat3.x) & 2147483648u); u_xlati17 = int((u_xlati16!=0) ? 0xFFFFFFFFu : uint(0)); if(u_xlati16 != 0) { u_xlat3.x = uintBitsToFloat(floatBitsToUint(u_xlat3.x) & 2147483647u); } u_xlati16 = int(floatBitsToUint(u_xlat3.x) & 15u); u_xlatb16 = u_xlati16==int(invLevel); if(u_xlatb16){ u_xlatu5.y = 0u; u_xlatu21.x = uint(0u); u_xlatu21.y = uint(0u); u_xlati16 = 0; while(true){ u_xlatb25 = u_xlatu21.y>=numEvictedTiles; u_xlati16 = 0; if(u_xlatb25){break;} u_xlatu25 = u_xlatu21.y >> 2u; u_xlatu26 = u_xlatu21.y & 3u; u_xlati28 = 0 - int(u_xlatu26); u_xlati6.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu26), uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati7.y = int(uint(u_xlati28) & uint(u_xlati6.y)); u_xlati26 = int(u_xlatu26) + int(0xFFFFFFFDu); u_xlati7.z = (u_xlati6.y != 0) ? 0 : u_xlati26; u_xlati7.w = int((u_xlati6.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati7.x = u_xlati6.x; u_xlati6 = ivec4(uvec4(u_xlati7) & evictedTiles[int(u_xlatu25)]); u_xlati6.xy = ivec2(uvec2(u_xlati6.yw) | uvec2(u_xlati6.xz)); u_xlati25 = int(uint(u_xlati6.y) | uint(u_xlati6.x)); u_xlatb25 = u_xlati4.x==u_xlati25; if(u_xlatb25){ u_xlatu21.x = 4294967295u; u_xlati16 = int(0xFFFFFFFFu); break; } u_xlatu5.x = u_xlatu21.y + 1u; u_xlatu21.xy = u_xlatu5.yx; u_xlatb16 = u_xlatb25; } if(u_xlati16 == 0) { u_xlatu21.x = 0u; } if(u_xlatu21.x != uint(0)) { u_xlat3.x = u_xlat24; u_xlati17 = int(0xFFFFFFFFu); } } else { u_xlatu5.y = 0u; u_xlatu21.x = uint(0u); u_xlatu21.y = uint(0u); u_xlati16 = 0; while(true){ u_xlatb25 = u_xlatu21.y>=numAddedTiles; u_xlati16 = 0; if(u_xlatb25){break;} u_xlatu25 = u_xlatu21.y >> 1u; u_xlatu26 = uint(int(bitfieldInsert(0,int(u_xlatu21.y),1,1) )); u_xlati6.x = int((u_xlatu26<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati6.y = int((u_xlati6.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati6.xy = ivec2(uvec2(u_xlati6.xy) & addedTiles[int(u_xlatu25)].xz); u_xlati28 = int(uint(u_xlati6.y) | uint(u_xlati6.x)); u_xlatb28 = u_xlati4.x==u_xlati28; if(u_xlatb28){ u_xlati26 = int(u_xlatu26) + 1; u_xlatu26 = uint(u_xlati26) + 4294967295u; u_xlati6.x = int((u_xlatu26<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati6.y = int((u_xlati6.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati6.xy = ivec2(uvec2(u_xlati6.xy) & addedTiles[int(u_xlatu25)].yw); u_xlatu21.x = uint(u_xlati6.y) | uint(u_xlati6.x); u_xlati16 = int(0xFFFFFFFFu); break; } u_xlatu5.x = u_xlatu21.y + 1u; u_xlatu21.xy = u_xlatu5.yx; u_xlatb16 = u_xlatb28; } if(u_xlati16 == 0) { u_xlatu21.x = 4294967295u; } u_xlatb16 = int(u_xlatu21.x)!=int(0xFFFFFFFFu); if(u_xlatb16){ u_xlati16 = int(u_xlatu21.x & 4294967280u); u_xlat3.x = uintBitsToFloat(uint(u_xlati16) | invLevel); u_xlati17 = int(0xFFFFFFFFu); } else { u_xlatb16 = floatBitsToInt(u_xlat24)!=floatBitsToInt(u_xlat3.x); if(u_xlatb16){ u_xlat3.x = u_xlat24; u_xlati17 = int(0xFFFFFFFFu); } } } u_xlati16 = int(floatBitsToUint(u_xlat3.y) & 2147483648u); if(u_xlati16 != 0) { u_xlat3.y = uintBitsToFloat(floatBitsToUint(u_xlat3.y) & 2147483647u); u_xlati17 = int(0xFFFFFFFFu); } u_xlati16 = int(floatBitsToUint(u_xlat3.y) & 15u); u_xlatb16 = u_xlati16==int(invLevel); if(u_xlatb16){ u_xlatu5.y = 0u; u_xlatu16.x = uint(0u); u_xlatu16.y = uint(0u); u_xlati25 = 0; while(true){ u_xlatb26 = u_xlatu16.y>=numEvictedTiles; u_xlati25 = 0; if(u_xlatb26){break;} u_xlatu26 = u_xlatu16.y >> 2u; u_xlatu4.x = u_xlatu16.y & 3u; u_xlati28 = 0 - int(u_xlatu4.x); u_xlati6.xyz = ivec3(uvec3(lessThan(u_xlatu4.xxxx, uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati7.y = int(uint(u_xlati28) & uint(u_xlati6.y)); u_xlati4.x = int(u_xlatu4.x) + int(0xFFFFFFFDu); u_xlati7.z = (u_xlati6.y != 0) ? 0 : u_xlati4.x; u_xlati7.w = int((u_xlati6.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati7.x = u_xlati6.x; u_xlati6 = ivec4(uvec4(u_xlati7) & evictedTiles[int(u_xlatu26)]); u_xlati4.xw = ivec2(uvec2(u_xlati6.yw) | uvec2(u_xlati6.xz)); u_xlati26 = int(uint(u_xlati4.w) | uint(u_xlati4.x)); u_xlatb26 = u_xlati4.y==u_xlati26; if(u_xlatb26){ u_xlatu16.x = 4294967295u; u_xlati25 = int(0xFFFFFFFFu); break; } u_xlatu5.x = u_xlatu16.y + 1u; u_xlatu16.xy = u_xlatu5.yx; u_xlatb25 = u_xlatb26; } if(u_xlati25 == 0) { u_xlatu16.x = 0u; } if(u_xlatu16.x != uint(0)) { u_xlat3.y = u_xlat2; u_xlati17 = int(0xFFFFFFFFu); } } else { u_xlatu5.y = 0u; u_xlatu16.x = uint(0u); u_xlatu16.y = uint(0u); u_xlati25 = 0; while(true){ u_xlatb26 = u_xlatu16.y>=numAddedTiles; u_xlati25 = 0; if(u_xlatb26){break;} u_xlatu26 = u_xlatu16.y >> 1u; u_xlatu4.x = uint(int(bitfieldInsert(0,int(u_xlatu16.y),1,1) )); u_xlati6.x = int((u_xlatu4.x<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati6.y = int((u_xlati6.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati21.xy = ivec2(uvec2(u_xlati6.xy) & addedTiles[int(u_xlatu26)].xz); u_xlati28 = int(uint(u_xlati21.y) | uint(u_xlati21.x)); u_xlatb28 = u_xlati4.y==u_xlati28; if(u_xlatb28){ u_xlati4.x = int(u_xlatu4.x) + 1; u_xlatu4.x = uint(u_xlati4.x) + 4294967295u; u_xlati6.x = int((u_xlatu4.x<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati6.y = int((u_xlati6.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati21.xy = ivec2(uvec2(u_xlati6.xy) & addedTiles[int(u_xlatu26)].yw); u_xlatu16.x = uint(u_xlati21.y) | uint(u_xlati21.x); u_xlati25 = int(0xFFFFFFFFu); break; } u_xlatu5.x = u_xlatu16.y + 1u; u_xlatu16.xy = u_xlatu5.yx; u_xlatb25 = u_xlatb28; } if(u_xlati25 == 0) { u_xlatu16.x = 4294967295u; } u_xlatb24 = int(u_xlatu16.x)!=int(0xFFFFFFFFu); if(u_xlatb24){ u_xlati16 = int(u_xlatu16.x & 4294967280u); u_xlat3.y = uintBitsToFloat(uint(u_xlati16) | invLevel); u_xlati17 = int(0xFFFFFFFFu); } else { u_xlatb16 = floatBitsToInt(u_xlat2)!=floatBitsToInt(u_xlat3.y); if(u_xlatb16){ u_xlat3.y = u_xlat2; u_xlati17 = int(0xFFFFFFFFu); } } } u_xlati16 = int(floatBitsToUint(u_xlat3.z) & 2147483648u); if(u_xlati16 != 0) { u_xlat3.z = uintBitsToFloat(floatBitsToUint(u_xlat3.z) & 2147483647u); u_xlati17 = int(0xFFFFFFFFu); } u_xlati16 = int(floatBitsToUint(u_xlat3.z) & 15u); u_xlatb16 = u_xlati16==int(invLevel); if(u_xlatb16){ u_xlatu4.y = 0u; u_xlatu16.x = uint(0u); u_xlatu16.y = uint(0u); u_xlati25 = 0; while(true){ u_xlatb2 = u_xlatu16.y>=numEvictedTiles; u_xlati25 = 0; if(u_xlatb2){break;} u_xlatu2 = u_xlatu16.y >> 2u; u_xlatu26 = u_xlatu16.y & 3u; u_xlati28 = 0 - int(u_xlatu26); u_xlati5.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu26), uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati6.y = int(uint(u_xlati28) & uint(u_xlati5.y)); u_xlati26 = int(u_xlatu26) + int(0xFFFFFFFDu); u_xlati6.z = (u_xlati5.y != 0) ? 0 : u_xlati26; u_xlati6.w = int((u_xlati5.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati6.x = u_xlati5.x; u_xlati5 = ivec4(uvec4(u_xlati6) & evictedTiles[int(u_xlatu2)]); u_xlati2.xw = ivec2(uvec2(u_xlati5.yw) | uvec2(u_xlati5.xz)); u_xlati2.x = int(uint(u_xlati2.w) | uint(u_xlati2.x)); u_xlatb2 = u_xlati4.z==u_xlati2.x; if(u_xlatb2){ u_xlatu16.x = 4294967295u; u_xlati25 = int(0xFFFFFFFFu); break; } u_xlatu4.x = u_xlatu16.y + 1u; u_xlatu16.xy = u_xlatu4.yx; u_xlatb25 = u_xlatb2; } if(u_xlati25 == 0) { u_xlatu16.x = 0u; } if(u_xlatu16.x != uint(0)) { u_xlat3.z = u_xlat8; u_xlati17 = int(0xFFFFFFFFu); } } else { u_xlatu4.y = 0u; u_xlatu16.x = uint(0u); u_xlatu16.y = uint(0u); u_xlati25 = 0; while(true){ u_xlatb2 = u_xlatu16.y>=numAddedTiles; u_xlati25 = 0; if(u_xlatb2){break;} u_xlatu2 = u_xlatu16.y >> 1u; u_xlatu26 = uint(int(bitfieldInsert(0,int(u_xlatu16.y),1,1) )); u_xlati5.x = int((u_xlatu26<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati5.xy = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu2)].xz); u_xlati28 = int(uint(u_xlati5.y) | uint(u_xlati5.x)); u_xlatb28 = u_xlati4.z==u_xlati28; if(u_xlatb28){ u_xlati26 = int(u_xlatu26) + 1; u_xlatu26 = uint(u_xlati26) + 4294967295u; u_xlati5.x = int((u_xlatu26<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati2.xw = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu2)].yw); u_xlatu16.x = uint(u_xlati2.w) | uint(u_xlati2.x); u_xlati25 = int(0xFFFFFFFFu); break; } u_xlatu4.x = u_xlatu16.y + 1u; u_xlatu16.xy = u_xlatu4.yx; u_xlatb25 = u_xlatb28; } if(u_xlati25 == 0) { u_xlatu16.x = 4294967295u; } u_xlatb24 = int(u_xlatu16.x)!=int(0xFFFFFFFFu); if(u_xlatb24){ u_xlati16 = int(u_xlatu16.x & 4294967280u); u_xlat3.z = uintBitsToFloat(uint(u_xlati16) | invLevel); u_xlati17 = int(0xFFFFFFFFu); } else { u_xlatb16 = floatBitsToInt(u_xlat8)!=floatBitsToInt(u_xlat3.z); if(u_xlatb16){ u_xlat3.z = u_xlat8; u_xlati17 = int(0xFFFFFFFFu); } } } if(u_xlati17 != 0) { _output_buf_buf[(u_xlati10 >> 2)] = floatBitsToUint(u_xlat3.x); _output_buf_buf[(u_xlati18 >> 2)] = floatBitsToUint(u_xlat3.y); _output_buf_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat3.z); u_xlat3.w = intBitsToFloat(int(0x7FFFFFFFu)); imageStore(translationTable, ivec2(u_xlatu1.xy), u_xlat3); } return; }  MaincbTranslationTableData _output_buftranslationTable#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; uvec4 u_xlatu0; ivec3 u_xlati1; bvec2 u_xlatb1; vec4 u_xlat2; int u_xlati3; bool u_xlatb3; int u_xlati5; bool u_xlatb5; bool u_xlatb7; int u_xlati13; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlatu0 = gl_WorkGroupID.xyyy * uvec4(32u, 32u, 32u, 32u) + gl_LocalInvocationID.xyyy; u_xlatb1.xy = greaterThanEqual(u_xlatu0.xwxx, uvec4(width, height, width, width)).xy; u_xlatb1.x = u_xlatb1.y || u_xlatb1.x; if(u_xlatb1.x){ return; } u_xlati1.x = int(height) * int(width); u_xlati5 = int(u_xlatu0.w) * int(width) + int(u_xlatu0.x); u_xlati1.y = u_xlati5 + int(bufferOffsetLevel); u_xlati1.xz = u_xlati1.xy << ivec2(1, 2); u_xlat2.x = uintBitsToFloat(_output_buf_buf[(u_xlati1.z >> 2) + 0]); u_xlati13 = int(width) * int(height) + u_xlati1.y; u_xlati13 = u_xlati13 << 2; u_xlat2.y = uintBitsToFloat(_output_buf_buf[(u_xlati13 >> 2) + 0]); u_xlati1.x = u_xlati1.y + u_xlati1.x; u_xlati1.x = u_xlati1.x << 2; u_xlat2.z = uintBitsToFloat(_output_buf_buf[(u_xlati1.x >> 2) + 0]); u_xlati5 = int(floatBitsToUint(u_xlat2.x) & 2147483648u); if(u_xlati5 != 0) { u_xlat2.x = uintBitsToFloat(floatBitsToUint(u_xlat2.x) & 2147483647u); } u_xlati3 = int(floatBitsToUint(u_xlat2.x) & 15u); u_xlatb3 = u_xlati3!=int(invLevel); u_xlatb7 = floatBitsToInt(u_xlat2.x)!=int(0x7FFFFFFFu); u_xlatb3 = u_xlatb7 && u_xlatb3; if(u_xlatb3){ u_xlat2.x = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati3 = int(0xFFFFFFFFu); } else { u_xlati3 = int((u_xlati5!=0) ? 0xFFFFFFFFu : uint(0)); } u_xlati5 = int(floatBitsToUint(u_xlat2.y) & 2147483648u); if(u_xlati5 != 0) { u_xlat2.y = uintBitsToFloat(floatBitsToUint(u_xlat2.y) & 2147483647u); u_xlati3 = int(0xFFFFFFFFu); } u_xlati5 = int(floatBitsToUint(u_xlat2.y) & 15u); u_xlatb5 = u_xlati5!=int(invLevel); u_xlatb7 = floatBitsToInt(u_xlat2.y)!=int(0x7FFFFFFFu); u_xlatb5 = u_xlatb5 && u_xlatb7; if(u_xlatb5){ u_xlat2.y = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati3 = int(0xFFFFFFFFu); } u_xlati5 = int(floatBitsToUint(u_xlat2.z) & 2147483648u); if(u_xlati5 != 0) { u_xlat2.z = uintBitsToFloat(floatBitsToUint(u_xlat2.z) & 2147483647u); u_xlati3 = int(0xFFFFFFFFu); } u_xlati5 = int(floatBitsToUint(u_xlat2.z) & 15u); u_xlatb5 = u_xlati5!=int(invLevel); u_xlatb7 = floatBitsToInt(u_xlat2.z)!=int(0x7FFFFFFFu); u_xlatb5 = u_xlatb5 && u_xlatb7; if(u_xlatb5){ u_xlat2.z = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati3 = int(0xFFFFFFFFu); } if(u_xlati3 != 0) { _output_buf_buf[(u_xlati1.z >> 2)] = floatBitsToUint(u_xlat2.x); _output_buf_buf[(u_xlati13 >> 2)] = floatBitsToUint(u_xlat2.y); _output_buf_buf[(u_xlati1.x >> 2)] = floatBitsToUint(u_xlat2.z); u_xlat2.w = intBitsToFloat(int(0x7FFFFFFFu)); imageStore(translationTable, ivec2(u_xlatu0.xy), u_xlat2); } return; }  MaincbTranslationTableData lookupTexture lookupTexture _output_buftranslationTable7#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; UNITY_LOCATION(0) uniform usampler2D lookupTexture; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; uvec4 u_xlatu0; ivec3 u_xlati1; bvec2 u_xlatb1; vec4 u_xlat2; ivec3 u_xlati3; uvec4 u_xlatu3; uvec2 u_xlatu4; ivec4 u_xlati5; bool u_xlatb5; ivec4 u_xlati6; int u_xlati8; uint u_xlatu8; bool u_xlatb8; ivec3 u_xlati12; int u_xlati14; bool u_xlatb14; ivec2 u_xlati18; uvec2 u_xlatu18; bool u_xlatb18; int u_xlati21; int u_xlati22; int u_xlati24; uint u_xlatu24; int u_xlati25; bool u_xlatb25; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlatu0.xy = gl_WorkGroupID.xy * uvec2(32u, 32u) + gl_LocalInvocationID.xy; u_xlatb1.xy = greaterThanEqual(u_xlatu0.xyxx, uvec4(width, height, width, width)).xy; u_xlatb1.x = u_xlatb1.y || u_xlatb1.x; if(u_xlatb1.x){ return; } u_xlati1.x = int(height) * int(width); u_xlati8 = int(u_xlatu0.y) * int(width) + int(u_xlatu0.x); u_xlati1.y = u_xlati8 + int(bufferOffsetLevel); u_xlati1.xz = u_xlati1.xy << ivec2(1, 2); u_xlat2.x = uintBitsToFloat(_output_buf_buf[(u_xlati1.z >> 2) + 0]); u_xlati22 = int(width) * int(height) + u_xlati1.y; u_xlati22 = u_xlati22 << 2; u_xlat2.y = uintBitsToFloat(_output_buf_buf[(u_xlati22 >> 2) + 0]); u_xlati1.x = u_xlati1.y + u_xlati1.x; u_xlati1.x = u_xlati1.x << 2; u_xlat2.z = uintBitsToFloat(_output_buf_buf[(u_xlati1.x >> 2) + 0]); u_xlatu0.zw = uvec2(level); u_xlati3.xyz = ivec3(texelFetch(lookupTexture, ivec2(u_xlatu0.xy), int(u_xlatu0.w)).xyz); u_xlati14 = int(floatBitsToUint(u_xlat2.x) & 2147483648u); u_xlati21 = int((u_xlati14!=0) ? 0xFFFFFFFFu : uint(0)); if(u_xlati14 != 0) { u_xlat2.x = uintBitsToFloat(floatBitsToUint(u_xlat2.x) & 2147483647u); } u_xlati14 = int(floatBitsToUint(u_xlat2.x) & 15u); u_xlatb14 = u_xlati14==int(invLevel); if(u_xlatb14){ u_xlatu4.y = 0u; u_xlatu18.x = uint(0u); u_xlatu18.y = uint(0u); u_xlati14 = 0; while(true){ u_xlatb8 = u_xlatu18.y>=numEvictedTiles; u_xlati14 = 0; if(u_xlatb8){break;} u_xlatu8 = u_xlatu18.y >> 2u; u_xlatu24 = u_xlatu18.y & 3u; u_xlati5.x = 0 - int(u_xlatu24); u_xlati12.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu24), uvec4(1u, 2u, 3u, 3u)).xyz) * 0xFFFFFFFFu); u_xlati6.y = int(uint(u_xlati5.x) & uint(u_xlati12.y)); u_xlati24 = int(u_xlatu24) + int(0xFFFFFFFDu); u_xlati6.z = (u_xlati12.y != 0) ? 0 : u_xlati24; u_xlati6.w = int((u_xlati12.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati6.x = u_xlati12.x; u_xlati5 = ivec4(uvec4(u_xlati6) & evictedTiles[int(u_xlatu8)]); u_xlati5.xy = ivec2(uvec2(u_xlati5.yw) | uvec2(u_xlati5.xz)); u_xlati8 = int(uint(u_xlati5.y) | uint(u_xlati5.x)); u_xlatb8 = u_xlati3.x==u_xlati8; if(u_xlatb8){ u_xlatu18.x = 4294967295u; u_xlati14 = int(0xFFFFFFFFu); break; } u_xlatu4.x = u_xlatu18.y + 1u; u_xlatu18.xy = u_xlatu4.yx; u_xlatb14 = u_xlatb8; } if(u_xlati14 == 0) { u_xlatu18.x = 0u; } if(u_xlatu18.x != uint(0)) { u_xlat2.x = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati21 = int(0xFFFFFFFFu); } } else { u_xlatu4.y = 0u; u_xlatu18.x = uint(0u); u_xlatu18.y = uint(0u); u_xlati14 = 0; while(true){ u_xlatb8 = u_xlatu18.y>=numAddedTiles; u_xlati14 = 0; if(u_xlatb8){break;} u_xlatu8 = u_xlatu18.y >> 1u; u_xlatu24 = uint(int(bitfieldInsert(0,int(u_xlatu18.y),1,1) )); u_xlati5.x = int((u_xlatu24<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati5.xy = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu8)].xz); u_xlati5.x = int(uint(u_xlati5.y) | uint(u_xlati5.x)); u_xlatb5 = u_xlati3.x==u_xlati5.x; if(u_xlatb5){ u_xlati24 = int(u_xlatu24) + 1; u_xlatu24 = uint(u_xlati24) + 4294967295u; u_xlati6.x = int((u_xlatu24<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati6.y = int((u_xlati6.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati12.xy = ivec2(uvec2(u_xlati6.xy) & addedTiles[int(u_xlatu8)].yw); u_xlatu18.x = uint(u_xlati12.y) | uint(u_xlati12.x); u_xlati14 = int(0xFFFFFFFFu); break; } u_xlatu4.x = u_xlatu18.y + 1u; u_xlatu18.xy = u_xlatu4.yx; u_xlatb14 = u_xlatb5; } if(u_xlati14 == 0) { u_xlatu18.x = 4294967295u; } u_xlatb14 = int(u_xlatu18.x)!=int(0xFFFFFFFFu); if(u_xlatb14){ u_xlati14 = int(u_xlatu18.x & 4294967280u); u_xlat2.x = uintBitsToFloat(uint(u_xlati14) | invLevel); u_xlati21 = int(0xFFFFFFFFu); } else { u_xlatb14 = floatBitsToInt(u_xlat2.x)!=int(0x7FFFFFFFu); if(u_xlatb14){ u_xlati21 = int(0xFFFFFFFFu); } u_xlat2.x = intBitsToFloat(int(0x7FFFFFFFu)); } } u_xlati14 = int(floatBitsToUint(u_xlat2.y) & 2147483648u); if(u_xlati14 != 0) { u_xlat2.y = uintBitsToFloat(floatBitsToUint(u_xlat2.y) & 2147483647u); u_xlati21 = int(0xFFFFFFFFu); } u_xlati14 = int(floatBitsToUint(u_xlat2.y) & 15u); u_xlatb14 = u_xlati14==int(invLevel); if(u_xlatb14){ u_xlatu4.y = 0u; u_xlatu3.x = uint(0u); u_xlatu3.w = uint(0u); u_xlati14 = 0; while(true){ u_xlatb8 = u_xlatu3.w>=numEvictedTiles; u_xlati14 = 0; if(u_xlatb8){break;} u_xlatu8 = u_xlatu3.w >> 2u; u_xlatu18.x = u_xlatu3.w & 3u; u_xlati25 = 0 - int(u_xlatu18.x); u_xlati5.xyz = ivec3(uvec3(lessThan(u_xlatu18.xxxx, uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati6.y = int(uint(u_xlati25) & uint(u_xlati5.y)); u_xlati18.x = int(u_xlatu18.x) + int(0xFFFFFFFDu); u_xlati6.z = (u_xlati5.y != 0) ? 0 : u_xlati18.x; u_xlati6.w = int((u_xlati5.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati6.x = u_xlati5.x; u_xlati5 = ivec4(uvec4(u_xlati6) & evictedTiles[int(u_xlatu8)]); u_xlati18.xy = ivec2(uvec2(u_xlati5.yw) | uvec2(u_xlati5.xz)); u_xlati8 = int(uint(u_xlati18.y) | uint(u_xlati18.x)); u_xlatb8 = u_xlati3.y==u_xlati8; if(u_xlatb8){ u_xlatu3.x = 4294967295u; u_xlati14 = int(0xFFFFFFFFu); break; } u_xlatu4.x = u_xlatu3.w + 1u; u_xlatu3.xw = u_xlatu4.yx; u_xlatb14 = u_xlatb8; } if(u_xlati14 == 0) { u_xlatu3.x = 0u; } if(u_xlatu3.x != uint(0)) { u_xlat2.y = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati21 = int(0xFFFFFFFFu); } } else { u_xlatu4.y = 0u; u_xlatu3.x = uint(0u); u_xlatu3.w = uint(0u); u_xlati14 = 0; while(true){ u_xlatb8 = u_xlatu3.w>=numAddedTiles; u_xlati14 = 0; if(u_xlatb8){break;} u_xlatu8 = u_xlatu3.w >> 1u; u_xlatu18.x = uint(int(bitfieldInsert(0,int(u_xlatu3.w),1,1) )); u_xlati5.x = int((u_xlatu18.x<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati5.xy = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu8)].xz); u_xlati25 = int(uint(u_xlati5.y) | uint(u_xlati5.x)); u_xlatb25 = u_xlati3.y==u_xlati25; if(u_xlatb25){ u_xlati18.x = int(u_xlatu18.x) + 1; u_xlatu18.x = uint(u_xlati18.x) + 4294967295u; u_xlati5.x = int((u_xlatu18.x<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati5.xy = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu8)].yw); u_xlatu3.x = uint(u_xlati5.y) | uint(u_xlati5.x); u_xlati14 = int(0xFFFFFFFFu); break; } u_xlatu4.x = u_xlatu3.w + 1u; u_xlatu3.xw = u_xlatu4.yx; u_xlatb14 = u_xlatb25; } if(u_xlati14 == 0) { u_xlatu3.x = 4294967295u; } u_xlatb14 = int(u_xlatu3.x)!=int(0xFFFFFFFFu); if(u_xlatb14){ u_xlati14 = int(u_xlatu3.x & 4294967280u); u_xlat2.y = uintBitsToFloat(uint(u_xlati14) | invLevel); u_xlati21 = int(0xFFFFFFFFu); } else { u_xlatb14 = floatBitsToInt(u_xlat2.y)!=int(0x7FFFFFFFu); if(u_xlatb14){ u_xlati21 = int(0xFFFFFFFFu); } u_xlat2.y = intBitsToFloat(int(0x7FFFFFFFu)); } } u_xlati14 = int(floatBitsToUint(u_xlat2.z) & 2147483648u); if(u_xlati14 != 0) { u_xlat2.z = uintBitsToFloat(floatBitsToUint(u_xlat2.z) & 2147483647u); u_xlati21 = int(0xFFFFFFFFu); } u_xlati14 = int(floatBitsToUint(u_xlat2.z) & 15u); u_xlatb14 = u_xlati14==int(invLevel); if(u_xlatb14){ u_xlatu3.y = 0u; u_xlatu4.x = uint(0u); u_xlatu4.y = uint(0u); u_xlati14 = 0; while(true){ u_xlatb8 = u_xlatu4.y>=numEvictedTiles; u_xlati14 = 0; if(u_xlatb8){break;} u_xlatu8 = u_xlatu4.y >> 2u; u_xlatu24 = u_xlatu4.y & 3u; u_xlati18.x = 0 - int(u_xlatu24); u_xlati5.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu24), uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati6.y = int(uint(u_xlati18.x) & uint(u_xlati5.y)); u_xlati24 = int(u_xlatu24) + int(0xFFFFFFFDu); u_xlati6.z = (u_xlati5.y != 0) ? 0 : u_xlati24; u_xlati6.w = int((u_xlati5.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati6.x = u_xlati5.x; u_xlati5 = ivec4(uvec4(u_xlati6) & evictedTiles[int(u_xlatu8)]); u_xlati18.xy = ivec2(uvec2(u_xlati5.yw) | uvec2(u_xlati5.xz)); u_xlati8 = int(uint(u_xlati18.y) | uint(u_xlati18.x)); u_xlatb8 = u_xlati3.z==u_xlati8; if(u_xlatb8){ u_xlatu4.x = 4294967295u; u_xlati14 = int(0xFFFFFFFFu); break; } u_xlatu3.x = u_xlatu4.y + 1u; u_xlatu4.xy = u_xlatu3.yx; u_xlatb14 = u_xlatb8; } if(u_xlati14 == 0) { u_xlatu4.x = 0u; } if(u_xlatu4.x != uint(0)) { u_xlat2.z = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati21 = int(0xFFFFFFFFu); } } else { u_xlatu3.y = 0u; u_xlatu4.x = uint(0u); u_xlatu4.y = uint(0u); u_xlati14 = 0; while(true){ u_xlatb8 = u_xlatu4.y>=numAddedTiles; u_xlati14 = 0; if(u_xlatb8){break;} u_xlatu8 = u_xlatu4.y >> 1u; u_xlatu24 = uint(int(bitfieldInsert(0,int(u_xlatu4.y),1,1) )); u_xlati5.x = int((u_xlatu24<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati18.xy = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu8)].xz); u_xlati18.x = int(uint(u_xlati18.y) | uint(u_xlati18.x)); u_xlatb18 = u_xlati3.z==u_xlati18.x; if(u_xlatb18){ u_xlati24 = int(u_xlatu24) + 1; u_xlatu24 = uint(u_xlati24) + 4294967295u; u_xlati5.x = int((u_xlatu24<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati5.xy = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu8)].yw); u_xlatu4.x = uint(u_xlati5.y) | uint(u_xlati5.x); u_xlati14 = int(0xFFFFFFFFu); break; } u_xlatu3.x = u_xlatu4.y + 1u; u_xlatu4.xy = u_xlatu3.yx; u_xlatb14 = u_xlatb18; } if(u_xlati14 == 0) { u_xlatu4.x = 4294967295u; } u_xlatb14 = int(u_xlatu4.x)!=int(0xFFFFFFFFu); if(u_xlatb14){ u_xlati14 = int(u_xlatu4.x & 4294967280u); u_xlat2.z = uintBitsToFloat(uint(u_xlati14) | invLevel); u_xlati21 = int(0xFFFFFFFFu); } else { u_xlatb14 = floatBitsToInt(u_xlat2.z)!=int(0x7FFFFFFFu); if(u_xlatb14){ u_xlati21 = int(0xFFFFFFFFu); } u_xlat2.z = intBitsToFloat(int(0x7FFFFFFFu)); } } if(u_xlati21 != 0) { _output_buf_buf[(u_xlati1.z >> 2)] = floatBitsToUint(u_xlat2.x); _output_buf_buf[(u_xlati22 >> 2)] = floatBitsToUint(u_xlat2.y); _output_buf_buf[(u_xlati1.x >> 2)] = floatBitsToUint(u_xlat2.z); u_xlat2.w = intBitsToFloat(int(0x7FFFFFFFu)); imageStore(translationTable, ivec2(u_xlatu0.xy), u_xlat2); } return; }  MaincbTranslationTableData _output_buftranslationTable #version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; int u_xlati0; uvec4 u_xlatu1; float u_xlat2; int u_xlati2; uint u_xlatu2; bool u_xlatb2; vec4 u_xlat3; int u_xlati4; float u_xlat5; int u_xlati5; float u_xlat7; int u_xlati7; int u_xlati9; bool u_xlatb9; int u_xlati10; uvec2 u_xlatu10; bool u_xlatb10; int u_xlati12; bvec2 u_xlatb12; bool u_xlatb14; float u_xlat15; int u_xlati15; int u_xlati17; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlati0 = int(height) * int(width); u_xlati5 = u_xlati0 >> 2; u_xlatu1 = gl_WorkGroupID.xyyy * uvec4(32u, 32u, 32u, 32u) + gl_LocalInvocationID.xyyy; u_xlatu10.xy = u_xlatu1.xw >> uvec2(1u, 1u); u_xlatu2 = width >> 1u; u_xlati10 = int(u_xlatu10.y) * int(u_xlatu2) + int(u_xlatu10.x); u_xlati10 = u_xlati10 + int(bufferOffsetLevelAbove); u_xlati15 = u_xlati10 << 2; u_xlat15 = uintBitsToFloat(_output_buf_buf[(u_xlati15 >> 2) + 0]); u_xlati2 = u_xlati10 + u_xlati5; u_xlati2 = u_xlati2 << 2; u_xlat2 = uintBitsToFloat(_output_buf_buf[(u_xlati2 >> 2) + 0]); u_xlati7 = u_xlati5 << 1; u_xlati7 = u_xlati10 + u_xlati7; u_xlati7 = u_xlati7 << 2; u_xlat7 = uintBitsToFloat(_output_buf_buf[(u_xlati7 >> 2) + 0]); u_xlati5 = u_xlati5 * 3 + u_xlati10; u_xlati5 = u_xlati5 << 2; u_xlat5 = uintBitsToFloat(_output_buf_buf[(u_xlati5 >> 2) + 0]); u_xlatb12.xy = greaterThanEqual(u_xlatu1.xwxw, uvec4(width, height, width, height)).xy; u_xlatb10 = u_xlatb12.y || u_xlatb12.x; if(u_xlatb10){ return; } u_xlati10 = int(u_xlatu1.w) * int(width) + int(u_xlatu1.x); u_xlati10 = u_xlati10 + int(bufferOffsetLevel); u_xlati12 = u_xlati10 << 2; u_xlat3.x = uintBitsToFloat(_output_buf_buf[(u_xlati12 >> 2) + 0]); u_xlati17 = int(width) * int(height) + u_xlati10; u_xlati17 = u_xlati17 << 2; u_xlat3.y = uintBitsToFloat(_output_buf_buf[(u_xlati17 >> 2) + 0]); u_xlati4 = u_xlati0 << 1; u_xlati4 = u_xlati10 + u_xlati4; u_xlati4 = u_xlati4 << 2; u_xlat3.z = uintBitsToFloat(_output_buf_buf[(u_xlati4 >> 2) + 0]); u_xlati0 = u_xlati0 * 3 + u_xlati10; u_xlati0 = u_xlati0 << 2; u_xlat3.w = uintBitsToFloat(_output_buf_buf[(u_xlati0 >> 2) + 0]); u_xlati10 = int(floatBitsToUint(u_xlat3.x) & 2147483648u); if(u_xlati10 != 0) { u_xlat3.x = uintBitsToFloat(floatBitsToUint(u_xlat3.x) & 2147483647u); } u_xlati9 = int(floatBitsToUint(u_xlat3.x) & 15u); u_xlatb9 = u_xlati9!=int(invLevel); u_xlatb14 = floatBitsToInt(u_xlat15)!=floatBitsToInt(u_xlat3.x); u_xlatb9 = u_xlatb14 && u_xlatb9; if(u_xlatb9){ u_xlat3.x = u_xlat15; u_xlati15 = int(0xFFFFFFFFu); } else { u_xlati15 = int((u_xlati10!=0) ? 0xFFFFFFFFu : uint(0)); } u_xlati10 = int(floatBitsToUint(u_xlat3.y) & 2147483648u); if(u_xlati10 != 0) { u_xlat3.y = uintBitsToFloat(floatBitsToUint(u_xlat3.y) & 2147483647u); u_xlati15 = int(0xFFFFFFFFu); } u_xlati10 = int(floatBitsToUint(u_xlat3.y) & 15u); u_xlatb10 = u_xlati10!=int(invLevel); u_xlatb9 = floatBitsToInt(u_xlat2)!=floatBitsToInt(u_xlat3.y); u_xlatb10 = u_xlatb10 && u_xlatb9; if(u_xlatb10){ u_xlat3.y = u_xlat2; u_xlati15 = int(0xFFFFFFFFu); } u_xlati10 = int(floatBitsToUint(u_xlat3.z) & 2147483648u); if(u_xlati10 != 0) { u_xlat3.z = uintBitsToFloat(floatBitsToUint(u_xlat3.z) & 2147483647u); u_xlati15 = int(0xFFFFFFFFu); } u_xlati10 = int(floatBitsToUint(u_xlat3.z) & 15u); u_xlatb10 = u_xlati10!=int(invLevel); u_xlatb2 = floatBitsToInt(u_xlat7)!=floatBitsToInt(u_xlat3.z); u_xlatb10 = u_xlatb10 && u_xlatb2; if(u_xlatb10){ u_xlat3.z = u_xlat7; u_xlati15 = int(0xFFFFFFFFu); } u_xlati10 = int(floatBitsToUint(u_xlat3.w) & 2147483648u); if(u_xlati10 != 0) { u_xlat3.w = uintBitsToFloat(floatBitsToUint(u_xlat3.w) & 2147483647u); u_xlati15 = int(0xFFFFFFFFu); } u_xlati10 = int(floatBitsToUint(u_xlat3.w) & 15u); u_xlatb10 = u_xlati10!=int(invLevel); u_xlatb2 = floatBitsToInt(u_xlat5)!=floatBitsToInt(u_xlat3.w); u_xlatb10 = u_xlatb10 && u_xlatb2; if(u_xlatb10){ u_xlat3.w = u_xlat5; u_xlati15 = int(0xFFFFFFFFu); } if(u_xlati15 != 0) { _output_buf_buf[(u_xlati12 >> 2)] = floatBitsToUint(u_xlat3.x); _output_buf_buf[(u_xlati17 >> 2)] = floatBitsToUint(u_xlat3.y); _output_buf_buf[(u_xlati4 >> 2)] = floatBitsToUint(u_xlat3.z); _output_buf_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat3.w); imageStore(translationTable, ivec2(u_xlatu1.xy), u_xlat3); } return; }  MaincbTranslationTableData lookupTexture lookupTexture _output_buftranslationTableaK#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; UNITY_LOCATION(0) uniform usampler2D lookupTexture; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; int u_xlati0; uvec4 u_xlatu1; float u_xlat2; int u_xlati2; uvec2 u_xlatu2; bool u_xlatb2; vec4 u_xlat3; int u_xlati4; ivec4 u_xlati5; uvec2 u_xlatu5; ivec4 u_xlati6; uvec2 u_xlatu6; ivec4 u_xlati7; ivec4 u_xlati8; float u_xlat9; int u_xlati9; float u_xlat11; int u_xlati11; ivec3 u_xlati13; uvec2 u_xlatu13; bool u_xlatb13; int u_xlati18; uvec2 u_xlatu18; bool u_xlatb18; int u_xlati19; int u_xlati20; bvec2 u_xlatb20; ivec2 u_xlati22; uint u_xlatu22; bool u_xlatb22; ivec2 u_xlati24; bool u_xlatb24; float u_xlat27; int u_xlati27; bool u_xlatb27; int u_xlati28; uint u_xlatu28; bool u_xlatb28; int u_xlati29; int u_xlati31; uint u_xlatu31; bool u_xlatb31; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlati0 = int(height) * int(width); u_xlati9 = u_xlati0 >> 2; u_xlatu1.xy = gl_WorkGroupID.xy * uvec2(32u, 32u) + gl_LocalInvocationID.xy; u_xlatu18.xy = u_xlatu1.xy >> uvec2(1u, 1u); u_xlatu2.x = width >> 1u; u_xlati18 = int(u_xlatu18.y) * int(u_xlatu2.x) + int(u_xlatu18.x); u_xlati18 = u_xlati18 + int(bufferOffsetLevelAbove); u_xlati27 = u_xlati18 << 2; u_xlat27 = uintBitsToFloat(_output_buf_buf[(u_xlati27 >> 2) + 0]); u_xlati2 = u_xlati18 + u_xlati9; u_xlati2 = u_xlati2 << 2; u_xlat2 = uintBitsToFloat(_output_buf_buf[(u_xlati2 >> 2) + 0]); u_xlati11 = u_xlati9 << 1; u_xlati11 = u_xlati18 + u_xlati11; u_xlati11 = u_xlati11 << 2; u_xlat11 = uintBitsToFloat(_output_buf_buf[(u_xlati11 >> 2) + 0]); u_xlati9 = u_xlati9 * 3 + u_xlati18; u_xlati9 = u_xlati9 << 2; u_xlat9 = uintBitsToFloat(_output_buf_buf[(u_xlati9 >> 2) + 0]); u_xlatb20.xy = greaterThanEqual(u_xlatu1.xyxy, uvec4(width, height, width, height)).xy; u_xlatb18 = u_xlatb20.y || u_xlatb20.x; if(u_xlatb18){ return; } u_xlati18 = int(u_xlatu1.y) * int(width) + int(u_xlatu1.x); u_xlati18 = u_xlati18 + int(bufferOffsetLevel); u_xlati20 = u_xlati18 << 2; u_xlat3.x = uintBitsToFloat(_output_buf_buf[(u_xlati20 >> 2) + 0]); u_xlati29 = int(width) * int(height) + u_xlati18; u_xlati29 = u_xlati29 << 2; u_xlat3.y = uintBitsToFloat(_output_buf_buf[(u_xlati29 >> 2) + 0]); u_xlati4 = u_xlati0 << 1; u_xlati4 = u_xlati18 + u_xlati4; u_xlati4 = u_xlati4 << 2; u_xlat3.z = uintBitsToFloat(_output_buf_buf[(u_xlati4 >> 2) + 0]); u_xlati0 = u_xlati0 * 3 + u_xlati18; u_xlati0 = u_xlati0 << 2; u_xlat3.w = uintBitsToFloat(_output_buf_buf[(u_xlati0 >> 2) + 0]); u_xlatu1.zw = uvec2(level); u_xlati5 = ivec4(texelFetch(lookupTexture, ivec2(u_xlatu1.xy), int(u_xlatu1.w))); u_xlati18 = int(floatBitsToUint(u_xlat3.x) & 2147483648u); u_xlati19 = int((u_xlati18!=0) ? 0xFFFFFFFFu : uint(0)); if(u_xlati18 != 0) { u_xlat3.x = uintBitsToFloat(floatBitsToUint(u_xlat3.x) & 2147483647u); } u_xlati18 = int(floatBitsToUint(u_xlat3.x) & 15u); u_xlatb18 = u_xlati18==int(invLevel); if(u_xlatb18){ u_xlatu6.y = 0u; u_xlatu13.x = uint(0u); u_xlatu13.y = uint(0u); u_xlati18 = 0; while(true){ u_xlatb28 = u_xlatu13.y>=numEvictedTiles; u_xlati18 = 0; if(u_xlatb28){break;} u_xlatu28 = u_xlatu13.y >> 2u; u_xlatu31 = u_xlatu13.y & 3u; u_xlati24.x = 0 - int(u_xlatu31); u_xlati7.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu31), uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati8.y = int(uint(u_xlati24.x) & uint(u_xlati7.y)); u_xlati31 = int(u_xlatu31) + int(0xFFFFFFFDu); u_xlati8.z = (u_xlati7.y != 0) ? 0 : u_xlati31; u_xlati8.w = int((u_xlati7.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati8.x = u_xlati7.x; u_xlati7 = ivec4(uvec4(u_xlati8) & evictedTiles[int(u_xlatu28)]); u_xlati24.xy = ivec2(uvec2(u_xlati7.yw) | uvec2(u_xlati7.xz)); u_xlati28 = int(uint(u_xlati24.y) | uint(u_xlati24.x)); u_xlatb28 = u_xlati5.x==u_xlati28; if(u_xlatb28){ u_xlatu13.x = 4294967295u; u_xlati18 = int(0xFFFFFFFFu); break; } u_xlatu6.x = u_xlatu13.y + 1u; u_xlatu13.xy = u_xlatu6.yx; u_xlatb18 = u_xlatb28; } if(u_xlati18 == 0) { u_xlatu13.x = 0u; } if(u_xlatu13.x != uint(0)) { u_xlat3.x = u_xlat27; u_xlati19 = int(0xFFFFFFFFu); } } else { u_xlatu6.y = 0u; u_xlatu13.x = uint(0u); u_xlatu13.y = uint(0u); u_xlati18 = 0; while(true){ u_xlatb28 = u_xlatu13.y>=numAddedTiles; u_xlati18 = 0; if(u_xlatb28){break;} u_xlatu28 = u_xlatu13.y >> 1u; u_xlatu31 = uint(int(bitfieldInsert(0,int(u_xlatu13.y),1,1) )); u_xlati7.x = int((u_xlatu31<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati7.y = int((u_xlati7.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati24.xy = ivec2(uvec2(u_xlati7.xy) & addedTiles[int(u_xlatu28)].xz); u_xlati24.x = int(uint(u_xlati24.y) | uint(u_xlati24.x)); u_xlatb24 = u_xlati5.x==u_xlati24.x; if(u_xlatb24){ u_xlati31 = int(u_xlatu31) + 1; u_xlatu31 = uint(u_xlati31) + 4294967295u; u_xlati7.x = int((u_xlatu31<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati7.y = int((u_xlati7.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati7.xy = ivec2(uvec2(u_xlati7.xy) & addedTiles[int(u_xlatu28)].yw); u_xlatu13.x = uint(u_xlati7.y) | uint(u_xlati7.x); u_xlati18 = int(0xFFFFFFFFu); break; } u_xlatu6.x = u_xlatu13.y + 1u; u_xlatu13.xy = u_xlatu6.yx; u_xlatb18 = u_xlatb24; } if(u_xlati18 == 0) { u_xlatu13.x = 4294967295u; } u_xlatb18 = int(u_xlatu13.x)!=int(0xFFFFFFFFu); if(u_xlatb18){ u_xlati18 = int(u_xlatu13.x & 4294967280u); u_xlat3.x = uintBitsToFloat(uint(u_xlati18) | invLevel); u_xlati19 = int(0xFFFFFFFFu); } else { u_xlatb18 = floatBitsToInt(u_xlat27)!=floatBitsToInt(u_xlat3.x); if(u_xlatb18){ u_xlat3.x = u_xlat27; u_xlati19 = int(0xFFFFFFFFu); } } } u_xlati18 = int(floatBitsToUint(u_xlat3.y) & 2147483648u); if(u_xlati18 != 0) { u_xlat3.y = uintBitsToFloat(floatBitsToUint(u_xlat3.y) & 2147483647u); u_xlati19 = int(0xFFFFFFFFu); } u_xlati18 = int(floatBitsToUint(u_xlat3.y) & 15u); u_xlatb18 = u_xlati18==int(invLevel); if(u_xlatb18){ u_xlatu6.y = 0u; u_xlatu18.x = uint(0u); u_xlatu18.y = uint(0u); u_xlati28 = 0; while(true){ u_xlatb13 = u_xlatu18.y>=numEvictedTiles; u_xlati28 = 0; if(u_xlatb13){break;} u_xlatu13.x = u_xlatu18.y >> 2u; u_xlatu22 = u_xlatu18.y & 3u; u_xlati31 = 0 - int(u_xlatu22); u_xlati7.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu22), uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati8.y = int(uint(u_xlati31) & uint(u_xlati7.y)); u_xlati22.x = int(u_xlatu22) + int(0xFFFFFFFDu); u_xlati8.z = (u_xlati7.y != 0) ? 0 : u_xlati22.x; u_xlati8.w = int((u_xlati7.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati8.x = u_xlati7.x; u_xlati7 = ivec4(uvec4(u_xlati8) & evictedTiles[int(u_xlatu13.x)]); u_xlati13.xy = ivec2(uvec2(u_xlati7.yw) | uvec2(u_xlati7.xz)); u_xlati13.x = int(uint(u_xlati13.y) | uint(u_xlati13.x)); u_xlatb13 = u_xlati5.y==u_xlati13.x; if(u_xlatb13){ u_xlatu18.x = 4294967295u; u_xlati28 = int(0xFFFFFFFFu); break; } u_xlatu6.x = u_xlatu18.y + 1u; u_xlatu18.xy = u_xlatu6.yx; u_xlatb28 = u_xlatb13; } if(u_xlati28 == 0) { u_xlatu18.x = 0u; } if(u_xlatu18.x != uint(0)) { u_xlat3.y = u_xlat2; u_xlati19 = int(0xFFFFFFFFu); } } else { u_xlatu6.y = 0u; u_xlatu18.x = uint(0u); u_xlatu18.y = uint(0u); u_xlati28 = 0; while(true){ u_xlatb13 = u_xlatu18.y>=numAddedTiles; u_xlati28 = 0; if(u_xlatb13){break;} u_xlatu13.x = u_xlatu18.y >> 1u; u_xlatu22 = uint(int(bitfieldInsert(0,int(u_xlatu18.y),1,1) )); u_xlati7.x = int((u_xlatu22<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati7.y = int((u_xlati7.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati24.xy = ivec2(uvec2(u_xlati7.xy) & addedTiles[int(u_xlatu13.x)].xz); u_xlati31 = int(uint(u_xlati24.y) | uint(u_xlati24.x)); u_xlatb31 = u_xlati5.y==u_xlati31; if(u_xlatb31){ u_xlati22.x = int(u_xlatu22) + 1; u_xlatu22 = uint(u_xlati22.x) + 4294967295u; u_xlati7.x = int((u_xlatu22<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati7.y = int((u_xlati7.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati13.xy = ivec2(uvec2(u_xlati7.xy) & addedTiles[int(u_xlatu13.x)].yw); u_xlatu18.x = uint(u_xlati13.y) | uint(u_xlati13.x); u_xlati28 = int(0xFFFFFFFFu); break; } u_xlatu6.x = u_xlatu18.y + 1u; u_xlatu18.xy = u_xlatu6.yx; u_xlatb28 = u_xlatb31; } if(u_xlati28 == 0) { u_xlatu18.x = 4294967295u; } u_xlatb27 = int(u_xlatu18.x)!=int(0xFFFFFFFFu); if(u_xlatb27){ u_xlati18 = int(u_xlatu18.x & 4294967280u); u_xlat3.y = uintBitsToFloat(uint(u_xlati18) | invLevel); u_xlati19 = int(0xFFFFFFFFu); } else { u_xlatb18 = floatBitsToInt(u_xlat2)!=floatBitsToInt(u_xlat3.y); if(u_xlatb18){ u_xlat3.y = u_xlat2; u_xlati19 = int(0xFFFFFFFFu); } } } u_xlati18 = int(floatBitsToUint(u_xlat3.z) & 2147483648u); if(u_xlati18 != 0) { u_xlat3.z = uintBitsToFloat(floatBitsToUint(u_xlat3.z) & 2147483647u); u_xlati19 = int(0xFFFFFFFFu); } u_xlati18 = int(floatBitsToUint(u_xlat3.z) & 15u); u_xlatb18 = u_xlati18==int(invLevel); if(u_xlatb18){ u_xlatu5.y = 0u; u_xlatu18.x = uint(0u); u_xlatu18.y = uint(0u); u_xlati28 = 0; while(true){ u_xlatb2 = u_xlatu18.y>=numEvictedTiles; u_xlati28 = 0; if(u_xlatb2){break;} u_xlatu2.x = u_xlatu18.y >> 2u; u_xlatu13.x = u_xlatu18.y & 3u; u_xlati22.x = 0 - int(u_xlatu13.x); u_xlati6.xyz = ivec3(uvec3(lessThan(u_xlatu13.xxxx, uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati7.y = int(uint(u_xlati22.x) & uint(u_xlati6.y)); u_xlati13.x = int(u_xlatu13.x) + int(0xFFFFFFFDu); u_xlati7.z = (u_xlati6.y != 0) ? 0 : u_xlati13.x; u_xlati7.w = int((u_xlati6.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati7.x = u_xlati6.x; u_xlati6 = ivec4(uvec4(u_xlati7) & evictedTiles[int(u_xlatu2.x)]); u_xlati13.xy = ivec2(uvec2(u_xlati6.yw) | uvec2(u_xlati6.xz)); u_xlati2 = int(uint(u_xlati13.y) | uint(u_xlati13.x)); u_xlatb2 = u_xlati5.z==u_xlati2; if(u_xlatb2){ u_xlatu18.x = 4294967295u; u_xlati28 = int(0xFFFFFFFFu); break; } u_xlatu5.x = u_xlatu18.y + 1u; u_xlatu18.xy = u_xlatu5.yx; u_xlatb28 = u_xlatb2; } if(u_xlati28 == 0) { u_xlatu18.x = 0u; } if(u_xlatu18.x != uint(0)) { u_xlat3.z = u_xlat11; u_xlati19 = int(0xFFFFFFFFu); } } else { u_xlatu5.y = 0u; u_xlatu18.x = uint(0u); u_xlatu18.y = uint(0u); u_xlati28 = 0; while(true){ u_xlatb2 = u_xlatu18.y>=numAddedTiles; u_xlati28 = 0; if(u_xlatb2){break;} u_xlatu2.x = u_xlatu18.y >> 1u; u_xlatu13.x = uint(int(bitfieldInsert(0,int(u_xlatu18.y),1,1) )); u_xlati6.x = int((u_xlatu13.x<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati6.y = int((u_xlati6.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati22.xy = ivec2(uvec2(u_xlati6.xy) & addedTiles[int(u_xlatu2.x)].xz); u_xlati22.x = int(uint(u_xlati22.y) | uint(u_xlati22.x)); u_xlatb22 = u_xlati5.z==u_xlati22.x; if(u_xlatb22){ u_xlati13.x = int(u_xlatu13.x) + 1; u_xlatu13.x = uint(u_xlati13.x) + 4294967295u; u_xlati6.x = int((u_xlatu13.x<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati6.y = int((u_xlati6.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati13.xz = ivec2(uvec2(u_xlati6.xy) & addedTiles[int(u_xlatu2.x)].yw); u_xlatu18.x = uint(u_xlati13.z) | uint(u_xlati13.x); u_xlati28 = int(0xFFFFFFFFu); break; } u_xlatu5.x = u_xlatu18.y + 1u; u_xlatu18.xy = u_xlatu5.yx; u_xlatb28 = u_xlatb22; } if(u_xlati28 == 0) { u_xlatu18.x = 4294967295u; } u_xlatb27 = int(u_xlatu18.x)!=int(0xFFFFFFFFu); if(u_xlatb27){ u_xlati18 = int(u_xlatu18.x & 4294967280u); u_xlat3.z = uintBitsToFloat(uint(u_xlati18) | invLevel); u_xlati19 = int(0xFFFFFFFFu); } else { u_xlatb18 = floatBitsToInt(u_xlat11)!=floatBitsToInt(u_xlat3.z); if(u_xlatb18){ u_xlat3.z = u_xlat11; u_xlati19 = int(0xFFFFFFFFu); } } } u_xlati18 = int(floatBitsToUint(u_xlat3.w) & 2147483648u); if(u_xlati18 != 0) { u_xlat3.w = uintBitsToFloat(floatBitsToUint(u_xlat3.w) & 2147483647u); u_xlati19 = int(0xFFFFFFFFu); } u_xlati18 = int(floatBitsToUint(u_xlat3.w) & 15u); u_xlatb18 = u_xlati18==int(invLevel); if(u_xlatb18){ u_xlatu2.y = 0u; u_xlatu18.x = uint(0u); u_xlatu18.y = uint(0u); u_xlati28 = 0; while(true){ u_xlatb13 = u_xlatu18.y>=numEvictedTiles; u_xlati28 = 0; if(u_xlatb13){break;} u_xlatu13.x = u_xlatu18.y >> 2u; u_xlatu22 = u_xlatu18.y & 3u; u_xlati31 = 0 - int(u_xlatu22); u_xlati5.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu22), uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati6.y = int(uint(u_xlati31) & uint(u_xlati5.y)); u_xlati22.x = int(u_xlatu22) + int(0xFFFFFFFDu); u_xlati6.z = (u_xlati5.y != 0) ? 0 : u_xlati22.x; u_xlati6.w = int((u_xlati5.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati6.x = u_xlati5.x; u_xlati6 = ivec4(uvec4(u_xlati6) & evictedTiles[int(u_xlatu13.x)]); u_xlati13.xy = ivec2(uvec2(u_xlati6.yw) | uvec2(u_xlati6.xz)); u_xlati13.x = int(uint(u_xlati13.y) | uint(u_xlati13.x)); u_xlatb13 = u_xlati5.w==u_xlati13.x; if(u_xlatb13){ u_xlatu18.x = 4294967295u; u_xlati28 = int(0xFFFFFFFFu); break; } u_xlatu2.x = u_xlatu18.y + 1u; u_xlatu18.xy = u_xlatu2.yx; u_xlatb28 = u_xlatb13; } if(u_xlati28 == 0) { u_xlatu18.x = 0u; } if(u_xlatu18.x != uint(0)) { u_xlat3.w = u_xlat9; u_xlati19 = int(0xFFFFFFFFu); } } else { u_xlatu2.y = 0u; u_xlatu18.x = uint(0u); u_xlatu18.y = uint(0u); u_xlati28 = 0; while(true){ u_xlatb13 = u_xlatu18.y>=numAddedTiles; u_xlati28 = 0; if(u_xlatb13){break;} u_xlatu13.x = u_xlatu18.y >> 1u; u_xlatu22 = uint(int(bitfieldInsert(0,int(u_xlatu18.y),1,1) )); u_xlati5.x = int((u_xlatu22<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati5.xy = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu13.x)].xz); u_xlati31 = int(uint(u_xlati5.y) | uint(u_xlati5.x)); u_xlatb31 = u_xlati5.w==u_xlati31; if(u_xlatb31){ u_xlati22.x = int(u_xlatu22) + 1; u_xlatu22 = uint(u_xlati22.x) + 4294967295u; u_xlati5.x = int((u_xlatu22<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati13.xy = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu13.x)].yw); u_xlatu18.x = uint(u_xlati13.y) | uint(u_xlati13.x); u_xlati28 = int(0xFFFFFFFFu); break; } u_xlatu2.x = u_xlatu18.y + 1u; u_xlatu18.xy = u_xlatu2.yx; u_xlatb28 = u_xlatb31; } if(u_xlati28 == 0) { u_xlatu18.x = 4294967295u; } u_xlatb27 = int(u_xlatu18.x)!=int(0xFFFFFFFFu); if(u_xlatb27){ u_xlati18 = int(u_xlatu18.x & 4294967280u); u_xlat3.w = uintBitsToFloat(uint(u_xlati18) | invLevel); u_xlati19 = int(0xFFFFFFFFu); } else { u_xlatb18 = floatBitsToInt(u_xlat9)!=floatBitsToInt(u_xlat3.w); if(u_xlatb18){ u_xlat3.w = u_xlat9; u_xlati19 = int(0xFFFFFFFFu); } } } if(u_xlati19 != 0) { _output_buf_buf[(u_xlati20 >> 2)] = floatBitsToUint(u_xlat3.x); _output_buf_buf[(u_xlati29 >> 2)] = floatBitsToUint(u_xlat3.y); _output_buf_buf[(u_xlati4 >> 2)] = floatBitsToUint(u_xlat3.z); _output_buf_buf[(u_xlati0 >> 2)] = floatBitsToUint(u_xlat3.w); imageStore(translationTable, ivec2(u_xlatu1.xy), u_xlat3); } return; }  MaincbTranslationTableData _output_buftranslationTable#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; uvec4 u_xlatu0; int u_xlati1; bvec2 u_xlatb1; vec4 u_xlat2; int u_xlati3; int u_xlati5; bool u_xlatb5; int u_xlati7; bool u_xlatb7; int u_xlati9; bool u_xlatb11; int u_xlati13; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlatu0 = gl_WorkGroupID.xyyy * uvec4(32u, 32u, 32u, 32u) + gl_LocalInvocationID.xyyy; u_xlatb1.xy = greaterThanEqual(u_xlatu0.xwxx, uvec4(width, height, width, width)).xy; u_xlatb1.x = u_xlatb1.y || u_xlatb1.x; if(u_xlatb1.x){ return; } u_xlati1 = int(height) * int(width); u_xlati5 = int(u_xlatu0.w) * int(width) + int(u_xlatu0.x); u_xlati5 = u_xlati5 + int(bufferOffsetLevel); u_xlati9 = u_xlati5 << 2; u_xlat2.x = uintBitsToFloat(_output_buf_buf[(u_xlati9 >> 2) + 0]); u_xlati13 = int(width) * int(height) + u_xlati5; u_xlati13 = u_xlati13 << 2; u_xlat2.y = uintBitsToFloat(_output_buf_buf[(u_xlati13 >> 2) + 0]); u_xlati3 = u_xlati1 << 1; u_xlati3 = u_xlati5 + u_xlati3; u_xlati3 = u_xlati3 << 2; u_xlat2.z = uintBitsToFloat(_output_buf_buf[(u_xlati3 >> 2) + 0]); u_xlati1 = u_xlati1 * 3 + u_xlati5; u_xlati1 = u_xlati1 << 2; u_xlat2.w = uintBitsToFloat(_output_buf_buf[(u_xlati1 >> 2) + 0]); u_xlati5 = int(floatBitsToUint(u_xlat2.x) & 2147483648u); if(u_xlati5 != 0) { u_xlat2.x = uintBitsToFloat(floatBitsToUint(u_xlat2.x) & 2147483647u); } u_xlati7 = int(floatBitsToUint(u_xlat2.x) & 15u); u_xlatb7 = u_xlati7!=int(invLevel); u_xlatb11 = floatBitsToInt(u_xlat2.x)!=int(0x7FFFFFFFu); u_xlatb7 = u_xlatb11 && u_xlatb7; if(u_xlatb7){ u_xlat2.x = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati7 = int(0xFFFFFFFFu); } else { u_xlati7 = int((u_xlati5!=0) ? 0xFFFFFFFFu : uint(0)); } u_xlati5 = int(floatBitsToUint(u_xlat2.y) & 2147483648u); if(u_xlati5 != 0) { u_xlat2.y = uintBitsToFloat(floatBitsToUint(u_xlat2.y) & 2147483647u); u_xlati7 = int(0xFFFFFFFFu); } u_xlati5 = int(floatBitsToUint(u_xlat2.y) & 15u); u_xlatb5 = u_xlati5!=int(invLevel); u_xlatb11 = floatBitsToInt(u_xlat2.y)!=int(0x7FFFFFFFu); u_xlatb5 = u_xlatb5 && u_xlatb11; if(u_xlatb5){ u_xlat2.y = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati7 = int(0xFFFFFFFFu); } u_xlati5 = int(floatBitsToUint(u_xlat2.z) & 2147483648u); if(u_xlati5 != 0) { u_xlat2.z = uintBitsToFloat(floatBitsToUint(u_xlat2.z) & 2147483647u); u_xlati7 = int(0xFFFFFFFFu); } u_xlati5 = int(floatBitsToUint(u_xlat2.z) & 15u); u_xlatb5 = u_xlati5!=int(invLevel); u_xlatb11 = floatBitsToInt(u_xlat2.z)!=int(0x7FFFFFFFu); u_xlatb5 = u_xlatb5 && u_xlatb11; if(u_xlatb5){ u_xlat2.z = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati7 = int(0xFFFFFFFFu); } u_xlati5 = int(floatBitsToUint(u_xlat2.w) & 2147483648u); if(u_xlati5 != 0) { u_xlat2.w = uintBitsToFloat(floatBitsToUint(u_xlat2.w) & 2147483647u); u_xlati7 = int(0xFFFFFFFFu); } u_xlati5 = int(floatBitsToUint(u_xlat2.w) & 15u); u_xlatb5 = u_xlati5!=int(invLevel); u_xlatb11 = floatBitsToInt(u_xlat2.w)!=int(0x7FFFFFFFu); u_xlatb5 = u_xlatb5 && u_xlatb11; if(u_xlatb5){ u_xlat2.w = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati7 = int(0xFFFFFFFFu); } if(u_xlati7 != 0) { _output_buf_buf[(u_xlati9 >> 2)] = floatBitsToUint(u_xlat2.x); _output_buf_buf[(u_xlati13 >> 2)] = floatBitsToUint(u_xlat2.y); _output_buf_buf[(u_xlati3 >> 2)] = floatBitsToUint(u_xlat2.z); _output_buf_buf[(u_xlati1 >> 2)] = floatBitsToUint(u_xlat2.w); imageStore(translationTable, ivec2(u_xlatu0.xy), u_xlat2); } return; }  MaincbTranslationTableData lookupTexture lookupTexture _output_buftranslationTableG#version 430 #extension GL_ARB_shading_language_420pack : require #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif precise vec4 u_xlat_precise_vec4; precise ivec4 u_xlat_precise_ivec4; precise bvec4 u_xlat_precise_bvec4; precise uvec4 u_xlat_precise_uvec4; UNITY_BINDING(0) uniform cbTranslationTableData { uint level; uint invLevel; uint width; uint height; uint bufferOffsetLevel; uint bufferOffsetLevelAbove; uint numEvictedTiles; uint numAddedTiles; uvec4 addedTiles[32]; uvec4 evictedTiles[16]; }; UNITY_LOCATION(0) uniform usampler2D lookupTexture; layout(std430, binding = 0) buffer _output_buf { uint _output_buf_buf[]; }; writeonly layout(binding=1) uniform image2D translationTable; uvec4 u_xlatu0; int u_xlati1; bvec2 u_xlatb1; vec4 u_xlat2; int u_xlati3; ivec4 u_xlati4; uvec2 u_xlatu4; bool u_xlatb4; ivec4 u_xlati5; uvec2 u_xlatu5; bool u_xlatb5; ivec4 u_xlati6; ivec4 u_xlati7; int u_xlati9; uint u_xlatu9; bool u_xlatb9; uvec2 u_xlatu11; ivec3 u_xlati13; int u_xlati16; bool u_xlatb16; int u_xlati17; int u_xlati20; bool u_xlatb20; ivec2 u_xlati21; bool u_xlatb21; int u_xlati24; int u_xlati25; int u_xlati27; uint u_xlatu27; layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in; void main() { u_xlatu0.xy = gl_WorkGroupID.xy * uvec2(32u, 32u) + gl_LocalInvocationID.xy; u_xlatb1.xy = greaterThanEqual(u_xlatu0.xyxx, uvec4(width, height, width, width)).xy; u_xlatb1.x = u_xlatb1.y || u_xlatb1.x; if(u_xlatb1.x){ return; } u_xlati1 = int(height) * int(width); u_xlati9 = int(u_xlatu0.y) * int(width) + int(u_xlatu0.x); u_xlati9 = u_xlati9 + int(bufferOffsetLevel); u_xlati17 = u_xlati9 << 2; u_xlat2.x = uintBitsToFloat(_output_buf_buf[(u_xlati17 >> 2) + 0]); u_xlati25 = int(width) * int(height) + u_xlati9; u_xlati25 = u_xlati25 << 2; u_xlat2.y = uintBitsToFloat(_output_buf_buf[(u_xlati25 >> 2) + 0]); u_xlati3 = u_xlati1 << 1; u_xlati3 = u_xlati9 + u_xlati3; u_xlati3 = u_xlati3 << 2; u_xlat2.z = uintBitsToFloat(_output_buf_buf[(u_xlati3 >> 2) + 0]); u_xlati1 = u_xlati1 * 3 + u_xlati9; u_xlati1 = u_xlati1 << 2; u_xlat2.w = uintBitsToFloat(_output_buf_buf[(u_xlati1 >> 2) + 0]); u_xlatu0.zw = uvec2(level); u_xlati4 = ivec4(texelFetch(lookupTexture, ivec2(u_xlatu0.xy), int(u_xlatu0.w))); u_xlati16 = int(floatBitsToUint(u_xlat2.x) & 2147483648u); u_xlati24 = int((u_xlati16!=0) ? 0xFFFFFFFFu : uint(0)); if(u_xlati16 != 0) { u_xlat2.x = uintBitsToFloat(floatBitsToUint(u_xlat2.x) & 2147483647u); } u_xlati16 = int(floatBitsToUint(u_xlat2.x) & 15u); u_xlatb16 = u_xlati16==int(invLevel); if(u_xlatb16){ u_xlatu5.y = 0u; u_xlatu11.x = uint(0u); u_xlatu11.y = uint(0u); u_xlati16 = 0; while(true){ u_xlatb9 = u_xlatu11.y>=numEvictedTiles; u_xlati16 = 0; if(u_xlatb9){break;} u_xlatu9 = u_xlatu11.y >> 2u; u_xlatu27 = u_xlatu11.y & 3u; u_xlati21.x = 0 - int(u_xlatu27); u_xlati6.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu27), uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati7.y = int(uint(u_xlati21.x) & uint(u_xlati6.y)); u_xlati27 = int(u_xlatu27) + int(0xFFFFFFFDu); u_xlati7.z = (u_xlati6.y != 0) ? 0 : u_xlati27; u_xlati7.w = int((u_xlati6.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati7.x = u_xlati6.x; u_xlati6 = ivec4(uvec4(u_xlati7) & evictedTiles[int(u_xlatu9)]); u_xlati21.xy = ivec2(uvec2(u_xlati6.yw) | uvec2(u_xlati6.xz)); u_xlati9 = int(uint(u_xlati21.y) | uint(u_xlati21.x)); u_xlatb9 = u_xlati4.x==u_xlati9; if(u_xlatb9){ u_xlatu11.x = 4294967295u; u_xlati16 = int(0xFFFFFFFFu); break; } u_xlatu5.x = u_xlatu11.y + 1u; u_xlatu11.xy = u_xlatu5.yx; u_xlatb16 = u_xlatb9; } if(u_xlati16 == 0) { u_xlatu11.x = 0u; } if(u_xlatu11.x != uint(0)) { u_xlat2.x = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati24 = int(0xFFFFFFFFu); } } else { u_xlatu5.y = 0u; u_xlatu11.x = uint(0u); u_xlatu11.y = uint(0u); u_xlati16 = 0; while(true){ u_xlatb9 = u_xlatu11.y>=numAddedTiles; u_xlati16 = 0; if(u_xlatb9){break;} u_xlatu9 = u_xlatu11.y >> 1u; u_xlatu27 = uint(int(bitfieldInsert(0,int(u_xlatu11.y),1,1) )); u_xlati6.x = int((u_xlatu27<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati6.y = int((u_xlati6.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati21.xy = ivec2(uvec2(u_xlati6.xy) & addedTiles[int(u_xlatu9)].xz); u_xlati21.x = int(uint(u_xlati21.y) | uint(u_xlati21.x)); u_xlatb21 = u_xlati4.x==u_xlati21.x; if(u_xlatb21){ u_xlati27 = int(u_xlatu27) + 1; u_xlatu27 = uint(u_xlati27) + 4294967295u; u_xlati6.x = int((u_xlatu27<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati6.y = int((u_xlati6.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati6.xy = ivec2(uvec2(u_xlati6.xy) & addedTiles[int(u_xlatu9)].yw); u_xlatu11.x = uint(u_xlati6.y) | uint(u_xlati6.x); u_xlati16 = int(0xFFFFFFFFu); break; } u_xlatu5.x = u_xlatu11.y + 1u; u_xlatu11.xy = u_xlatu5.yx; u_xlatb16 = u_xlatb21; } if(u_xlati16 == 0) { u_xlatu11.x = 4294967295u; } u_xlatb16 = int(u_xlatu11.x)!=int(0xFFFFFFFFu); if(u_xlatb16){ u_xlati16 = int(u_xlatu11.x & 4294967280u); u_xlat2.x = uintBitsToFloat(uint(u_xlati16) | invLevel); u_xlati24 = int(0xFFFFFFFFu); } else { u_xlatb16 = floatBitsToInt(u_xlat2.x)!=int(0x7FFFFFFFu); if(u_xlatb16){ u_xlati24 = int(0xFFFFFFFFu); } u_xlat2.x = intBitsToFloat(int(0x7FFFFFFFu)); } } u_xlati16 = int(floatBitsToUint(u_xlat2.y) & 2147483648u); if(u_xlati16 != 0) { u_xlat2.y = uintBitsToFloat(floatBitsToUint(u_xlat2.y) & 2147483647u); u_xlati24 = int(0xFFFFFFFFu); } u_xlati16 = int(floatBitsToUint(u_xlat2.y) & 15u); u_xlatb16 = u_xlati16==int(invLevel); if(u_xlatb16){ u_xlatu5.y = 0u; u_xlatu11.x = uint(0u); u_xlatu11.y = uint(0u); u_xlati16 = 0; while(true){ u_xlatb9 = u_xlatu11.y>=numEvictedTiles; u_xlati16 = 0; if(u_xlatb9){break;} u_xlatu9 = u_xlatu11.y >> 2u; u_xlatu27 = u_xlatu11.y & 3u; u_xlati4.x = 0 - int(u_xlatu27); u_xlati6.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu27), uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati7.y = int(uint(u_xlati4.x) & uint(u_xlati6.y)); u_xlati27 = int(u_xlatu27) + int(0xFFFFFFFDu); u_xlati7.z = (u_xlati6.y != 0) ? 0 : u_xlati27; u_xlati7.w = int((u_xlati6.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati7.x = u_xlati6.x; u_xlati6 = ivec4(uvec4(u_xlati7) & evictedTiles[int(u_xlatu9)]); u_xlati21.xy = ivec2(uvec2(u_xlati6.yw) | uvec2(u_xlati6.xz)); u_xlati9 = int(uint(u_xlati21.y) | uint(u_xlati21.x)); u_xlatb9 = u_xlati4.y==u_xlati9; if(u_xlatb9){ u_xlatu11.x = 4294967295u; u_xlati16 = int(0xFFFFFFFFu); break; } u_xlatu5.x = u_xlatu11.y + 1u; u_xlatu11.xy = u_xlatu5.yx; u_xlatb16 = u_xlatb9; } if(u_xlati16 == 0) { u_xlatu11.x = 0u; } if(u_xlatu11.x != uint(0)) { u_xlat2.y = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati24 = int(0xFFFFFFFFu); } } else { u_xlatu5.y = 0u; u_xlatu11.x = uint(0u); u_xlatu11.y = uint(0u); u_xlati16 = 0; while(true){ u_xlatb9 = u_xlatu11.y>=numAddedTiles; u_xlati16 = 0; if(u_xlatb9){break;} u_xlatu9 = u_xlatu11.y >> 1u; u_xlatu27 = uint(int(bitfieldInsert(0,int(u_xlatu11.y),1,1) )); u_xlati6.x = int((u_xlatu27<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati6.y = int((u_xlati6.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati21.xy = ivec2(uvec2(u_xlati6.xy) & addedTiles[int(u_xlatu9)].xz); u_xlati4.x = int(uint(u_xlati21.y) | uint(u_xlati21.x)); u_xlatb4 = u_xlati4.y==u_xlati4.x; if(u_xlatb4){ u_xlati27 = int(u_xlatu27) + 1; u_xlatu27 = uint(u_xlati27) + 4294967295u; u_xlati6.x = int((u_xlatu27<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati6.y = int((u_xlati6.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati21.xy = ivec2(uvec2(u_xlati6.xy) & addedTiles[int(u_xlatu9)].yw); u_xlatu11.x = uint(u_xlati21.y) | uint(u_xlati21.x); u_xlati16 = int(0xFFFFFFFFu); break; } u_xlatu5.x = u_xlatu11.y + 1u; u_xlatu11.xy = u_xlatu5.yx; u_xlatb16 = u_xlatb4; } if(u_xlati16 == 0) { u_xlatu11.x = 4294967295u; } u_xlatb16 = int(u_xlatu11.x)!=int(0xFFFFFFFFu); if(u_xlatb16){ u_xlati16 = int(u_xlatu11.x & 4294967280u); u_xlat2.y = uintBitsToFloat(uint(u_xlati16) | invLevel); u_xlati24 = int(0xFFFFFFFFu); } else { u_xlatb16 = floatBitsToInt(u_xlat2.y)!=int(0x7FFFFFFFu); if(u_xlatb16){ u_xlati24 = int(0xFFFFFFFFu); } u_xlat2.y = intBitsToFloat(int(0x7FFFFFFFu)); } } u_xlati16 = int(floatBitsToUint(u_xlat2.z) & 2147483648u); if(u_xlati16 != 0) { u_xlat2.z = uintBitsToFloat(floatBitsToUint(u_xlat2.z) & 2147483647u); u_xlati24 = int(0xFFFFFFFFu); } u_xlati16 = int(floatBitsToUint(u_xlat2.z) & 15u); u_xlatb16 = u_xlati16==int(invLevel); if(u_xlatb16){ u_xlatu4.y = 0u; u_xlatu11.x = uint(0u); u_xlatu11.y = uint(0u); u_xlati16 = 0; while(true){ u_xlatb9 = u_xlatu11.y>=numEvictedTiles; u_xlati16 = 0; if(u_xlatb9){break;} u_xlatu9 = u_xlatu11.y >> 2u; u_xlatu27 = u_xlatu11.y & 3u; u_xlati5.x = 0 - int(u_xlatu27); u_xlati13.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu27), uvec4(1u, 2u, 3u, 3u)).xyz) * 0xFFFFFFFFu); u_xlati6.y = int(uint(u_xlati5.x) & uint(u_xlati13.y)); u_xlati27 = int(u_xlatu27) + int(0xFFFFFFFDu); u_xlati6.z = (u_xlati13.y != 0) ? 0 : u_xlati27; u_xlati6.w = int((u_xlati13.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati6.x = u_xlati13.x; u_xlati5 = ivec4(uvec4(u_xlati6) & evictedTiles[int(u_xlatu9)]); u_xlati5.xy = ivec2(uvec2(u_xlati5.yw) | uvec2(u_xlati5.xz)); u_xlati9 = int(uint(u_xlati5.y) | uint(u_xlati5.x)); u_xlatb9 = u_xlati4.z==u_xlati9; if(u_xlatb9){ u_xlatu11.x = 4294967295u; u_xlati16 = int(0xFFFFFFFFu); break; } u_xlatu4.x = u_xlatu11.y + 1u; u_xlatu11.xy = u_xlatu4.yx; u_xlatb16 = u_xlatb9; } if(u_xlati16 == 0) { u_xlatu11.x = 0u; } if(u_xlatu11.x != uint(0)) { u_xlat2.z = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati24 = int(0xFFFFFFFFu); } } else { u_xlatu4.y = 0u; u_xlatu11.x = uint(0u); u_xlatu11.y = uint(0u); u_xlati16 = 0; while(true){ u_xlatb9 = u_xlatu11.y>=numAddedTiles; u_xlati16 = 0; if(u_xlatb9){break;} u_xlatu9 = u_xlatu11.y >> 1u; u_xlatu27 = uint(int(bitfieldInsert(0,int(u_xlatu11.y),1,1) )); u_xlati5.x = int((u_xlatu27<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati5.xy = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu9)].xz); u_xlati5.x = int(uint(u_xlati5.y) | uint(u_xlati5.x)); u_xlatb5 = u_xlati4.z==u_xlati5.x; if(u_xlatb5){ u_xlati27 = int(u_xlatu27) + 1; u_xlatu27 = uint(u_xlati27) + 4294967295u; u_xlati6.x = int((u_xlatu27<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati6.y = int((u_xlati6.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati13.xy = ivec2(uvec2(u_xlati6.xy) & addedTiles[int(u_xlatu9)].yw); u_xlatu11.x = uint(u_xlati13.y) | uint(u_xlati13.x); u_xlati16 = int(0xFFFFFFFFu); break; } u_xlatu4.x = u_xlatu11.y + 1u; u_xlatu11.xy = u_xlatu4.yx; u_xlatb16 = u_xlatb5; } if(u_xlati16 == 0) { u_xlatu11.x = 4294967295u; } u_xlatb16 = int(u_xlatu11.x)!=int(0xFFFFFFFFu); if(u_xlatb16){ u_xlati16 = int(u_xlatu11.x & 4294967280u); u_xlat2.z = uintBitsToFloat(uint(u_xlati16) | invLevel); u_xlati24 = int(0xFFFFFFFFu); } else { u_xlatb16 = floatBitsToInt(u_xlat2.z)!=int(0x7FFFFFFFu); if(u_xlatb16){ u_xlati24 = int(0xFFFFFFFFu); } u_xlat2.z = intBitsToFloat(int(0x7FFFFFFFu)); } } u_xlati16 = int(floatBitsToUint(u_xlat2.w) & 2147483648u); if(u_xlati16 != 0) { u_xlat2.w = uintBitsToFloat(floatBitsToUint(u_xlat2.w) & 2147483647u); u_xlati24 = int(0xFFFFFFFFu); } u_xlati16 = int(floatBitsToUint(u_xlat2.w) & 15u); u_xlatb16 = u_xlati16==int(invLevel); if(u_xlatb16){ u_xlatu4.y = 0u; u_xlatu11.x = uint(0u); u_xlatu11.y = uint(0u); u_xlati16 = 0; while(true){ u_xlatb9 = u_xlatu11.y>=numEvictedTiles; u_xlati16 = 0; if(u_xlatb9){break;} u_xlatu9 = u_xlatu11.y >> 2u; u_xlatu27 = u_xlatu11.y & 3u; u_xlati20 = 0 - int(u_xlatu27); u_xlati5.xyz = ivec3(uvec3(lessThan(uvec4(u_xlatu27), uvec4(1u, 2u, 3u, 0u)).xyz) * 0xFFFFFFFFu); u_xlati6.y = int(uint(u_xlati20) & uint(u_xlati5.y)); u_xlati27 = int(u_xlatu27) + int(0xFFFFFFFDu); u_xlati6.z = (u_xlati5.y != 0) ? 0 : u_xlati27; u_xlati6.w = int((u_xlati5.z==0) ? 0xFFFFFFFFu : uint(0)); u_xlati6.x = u_xlati5.x; u_xlati5 = ivec4(uvec4(u_xlati6) & evictedTiles[int(u_xlatu9)]); u_xlati5.xy = ivec2(uvec2(u_xlati5.yw) | uvec2(u_xlati5.xz)); u_xlati9 = int(uint(u_xlati5.y) | uint(u_xlati5.x)); u_xlatb9 = u_xlati4.w==u_xlati9; if(u_xlatb9){ u_xlatu11.x = 4294967295u; u_xlati16 = int(0xFFFFFFFFu); break; } u_xlatu4.x = u_xlatu11.y + 1u; u_xlatu11.xy = u_xlatu4.yx; u_xlatb16 = u_xlatb9; } if(u_xlati16 == 0) { u_xlatu11.x = 0u; } if(u_xlatu11.x != uint(0)) { u_xlat2.w = intBitsToFloat(int(0x7FFFFFFFu)); u_xlati24 = int(0xFFFFFFFFu); } } else { u_xlatu4.y = 0u; u_xlatu11.x = uint(0u); u_xlatu11.y = uint(0u); u_xlati16 = 0; while(true){ u_xlatb9 = u_xlatu11.y>=numAddedTiles; u_xlati16 = 0; if(u_xlatb9){break;} u_xlatu9 = u_xlatu11.y >> 1u; u_xlatu27 = uint(int(bitfieldInsert(0,int(u_xlatu11.y),1,1) )); u_xlati5.x = int((u_xlatu27<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati5.xy = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu9)].xz); u_xlati20 = int(uint(u_xlati5.y) | uint(u_xlati5.x)); u_xlatb20 = u_xlati4.w==u_xlati20; if(u_xlatb20){ u_xlati27 = int(u_xlatu27) + 1; u_xlatu27 = uint(u_xlati27) + 4294967295u; u_xlati5.x = int((u_xlatu27<1u) ? 0xFFFFFFFFu : uint(0)); u_xlati5.y = int((u_xlati5.x==0) ? 0xFFFFFFFFu : uint(0)); u_xlati5.xy = ivec2(uvec2(u_xlati5.xy) & addedTiles[int(u_xlatu9)].yw); u_xlatu11.x = uint(u_xlati5.y) | uint(u_xlati5.x); u_xlati16 = int(0xFFFFFFFFu); break; } u_xlatu4.x = u_xlatu11.y + 1u; u_xlatu11.xy = u_xlatu4.yx; u_xlatb16 = u_xlatb20; } if(u_xlati16 == 0) { u_xlatu11.x = 4294967295u; } u_xlatb16 = int(u_xlatu11.x)!=int(0xFFFFFFFFu); if(u_xlatb16){ u_xlati16 = int(u_xlatu11.x & 4294967280u); u_xlat2.w = uintBitsToFloat(uint(u_xlati16) | invLevel); u_xlati24 = int(0xFFFFFFFFu); } else { u_xlatb16 = floatBitsToInt(u_xlat2.w)!=int(0x7FFFFFFFu); if(u_xlatb16){ u_xlati24 = int(0xFFFFFFFFu); } u_xlat2.w = intBitsToFloat(int(0x7FFFFFFFu)); } } if(u_xlati24 != 0) { _output_buf_buf[(u_xlati17 >> 2)] = floatBitsToUint(u_xlat2.x); _output_buf_buf[(u_xlati25 >> 2)] = floatBitsToUint(u_xlat2.y); _output_buf_buf[(u_xlati3 >> 2)] = floatBitsToUint(u_xlat2.z); _output_buf_buf[(u_xlati1 >> 2)] = floatBitsToUint(u_xlat2.w); imageStore(translationTable, ivec2(u_xlatu0.xy), u_xlat2); } return; }  cbTranslationTableData invLevelwidthheight bufferOffsetLevelbufferOffsetLevelAbovecbTranslationTableData  levelinvLevelwidthheight bufferOffsetLevelbufferOffsetLevelAbovenumEvictedTiles numAddedTiles addedTiles  evictedTiles cbTranslationTableData invLevelwidthheight bufferOffsetLevelcbTranslationTableData  levelinvLevelwidthheight bufferOffsetLevelnumEvictedTiles numAddedTiles addedTiles  evictedTiles SoftUUUU       !!!!!!    "$&()*+,------,+*)(&$"    #&),.035689:;<<<<;:986530.,)&#   !%),/369DJOTY^chlptwz||zwtplhc^YTOJD>82-(#  "'-3:@GNTZ`flqv{{vqlf`ZTNG@:3-'"  !&-3:BHPW^dksx~~xskd^WPHB:3-&!  %+29AHPX`gov~~vog`XPHA92+%  !(07?HPX`iqz¿zqi`XPH?70(!  %,4GR]hs}Ľ}sh]RG>4,$  %.6@KValxĽxlaVK@6.%  &.8BMXep|û|peXMB8.&  '/9CO[gssg[OC9/'  '/9EP\iwĻwi\PE9/'  &/9EQ^kxȿxk^QE9/&  %/9EQ_ky¸yk_QE9/%  $-8DP^lzĺzl^PD8-$  #,6BO\kyƻyk\OB6,#   *5@M[ixǼxi[M@5*   (2>KYgwǼwgYK>2(  %/;GVesǻseVG;/%  !,8DRapƺpaRD8,!  (4@M]l|ĸ|l]M@4(  $0M^oĵo^M>0$  )5DTevʻveTD5)  !-:IZk~²~kZI:-!  %1?O`rȹr`O?1%  )5DTew̾weTD5)   ,9IYl~ó~lYI9,   #/=M_qȹq_M=/#  &3ARcv̽vcRA3&  )6EVh{{hVE6)   ,9IZlŵlZI9,   ".M^oĵo^M>0$   ,8GWhz˽zhWG8,   '2@P`qĵq`P@2'  !-9HXi{ʽ{iXH9-!  (4AParôraPA4(  ".:HXizȻziXH:."  '4@P`pp`P@4'  "-9GVgvķvgVG9-"  &2?M\m}Ȼ}m\M?2&  !,7DScs˿scSD7,!  $0KYgwǼwgYK>2(   *5@M[ixǼxi[M@5*   #,6BO\kyƻyk\OB6,#  $-8DP^lzĺzl^PD8-$  %/9EQ_ky¸yk_QE9/%  &/9EQ^kxȿxk^QE9/&  '/9EP\iwĻwi\PE9/'  '/9CO[gssg[OC9/'  &.8BMXep|û|peXMB8.&  %.6@KValxĽxlaVK@6.%  $,4>GR]hs}Ľ}sh]RG>4,$  "*2;DNXclw»wlcXND;2*"   (/8@IS]gpyþypg]SI@8/(   %,4DJOTY^chlptwz||zwtplhc^YTOJD>82-(#  "'+05:?DIMRVZ^aegjlmoppqqppomljgea^ZVRMID?:50+'"   $)-159=AEILORUWY[\^^^^^^\[YWUROLIEA=951-)$   !%),/369PcvǾvcP>.  $4F[pƹp[F4$&8LczǸzcL8&':Pi¯iP:' &:RkɶkR:&  $7PlλlP7$   4LiѼiL4  .FcѻcF. '>[zζz[>' 5PpɯpP5 +Dc¥cD+  7TvѸvT7  *DeǩeD* 5RuԹuR5%?`Ʀ`?% -JlгlJ- 4TxپxT4"<]ǧ]<"'CeίeC' +IlӶlI+ /NrػrN/ 2QvڿvQ2 4TyŸyT4 5U{á{U5 5U{á{U5 4TyŸyT4 2QvڿvQ2 /NrػrN/ +IlӶlI+ 'CeίeC'"<]ǧ]<"4TxپxT4 -JlгlJ- %?`Ʀ`?%5RuԹuR5 *DeǩeD*  7TvѸvT7  +Dc¥cD+ 5PpɯpP5 '>[zζz[>' .FcѻcF.  4LiѼiL4   $7PlλlP7$  &:RkɶkR:& ':Pi¯iP:'&8LczǸzcL8&$4F[pƹp[F4$  .>PcvǾvcP>.   '5ETeuueTE5'  *7ES_lxxl_SE7*   *4?JS]elrvyzzyvrle]SJ?4*   %-4\xx\>$2V}ϼ}V2:fؼf::lˡl:2fСf2 $V˕V$ ?}}? %\ؠ\% 7xx7HϏHW۠W%bb%(gg((gg(%bb%W۠WHϏH7xx7 %\ؠ\% ?}}? $V˕V$ 2fСf2:lˡl::fؼf:2V}ϼ}V2$>\xx\>$ %7HWbggbWH7%  %((%  LttL  :lj: :: LLttttLL :: :lj:  LttL HHHH Font Materialu'_MainTexw'??_Color????_MainTex Font Texturewhite_Color Text Color????n)βkFļg XFlir)-|2 Ȍ4P-B"g&HV=!(ǣܮޘҐ STEREO_INSTANCING_ONSTEREO_MULTIVIEW_ONUNITY_SINGLE_PASS_STEREO@ A @ A pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? A A A A C C unity_FogStart unity_FogEndunity_FogDensity unity_FogColorHIGNOREPROJECTORtrue PreviewTypePlaneQUEUE Transparent RenderType Transparent!!!!!! ! !  !! ! !  !!!!IGNOREPROJECTORtrue PreviewTypePlaneQUEUE Transparent RenderType TransparentGUI/Text Shader Gs 6!G, ;4H8,dbT b4  SDbL  SX( SX S$ & >[jF R$Globals@N MainTex_ST@ "_Color$0 UnityPerDraw,>u_ObjectToWorld( LFramep(PMatrixVPL& l  <NITY_SINGLE_PASS_STEREO(  _cG"ibl T    =S)5 C@h<2n%  (  L00/ 0 0\\b\LcStereoB@,T!fT]TEyeIndexT!X$ _INSTANCING_ON$/>  db/C8>"hqw/SV_InstanceID tz   SV_RenderTargetArray!<<< ,u`<(5 nLEL"@T)"dD6x x xxxTTSFI0 4HMULTIVIEW \@;G7æ`YAK7&X "& ,D t2SV_o d p*Z+$`F2p fUUb&bx EE 0~$`S88:,:` r> 0  (L $^Fsx%D7$ < &'X, Pxb o?xyz@Xx 0 UNITY_SINGLE_PASS_STEREO$/_eStereok84Hint &EyeIndex$in)i12pop_shl( a,{S b) {?q(floor( (a) * pow(2.0,(b)))); } iQ S UTa.x =!a.x, b.x); a.yy4y);a]3]3]3]#8a.zzzu4u4u4u;8a.wwwz-&i1bH, 2)02 (l\+ 1)]PA@2T/2)2^/3)2{P4 b 8 S b* o?xyz#$GlobalsG (8P(}$#,840,&@t 8C[INGLE_PASS_STEREO$/M   UcStereox$ { >!_P[8];9!V9%?Inv<&V CameraPro?ionB%?InvE)6TL%}?-3 qSSpaceOos[2w8ScaleOffset0'};1EyeIndex9int1 $in=)i12 .!i1'/t(?h << 2)/2D  (k\+ 1)]PA@d 2T/2)w 2w ^/3) 2 /  _` @ P $ `@TK< 4(   0V00 dOdPdK0 hl x 8 8&| , 8 $ Lt8 &_INSTANCING_ON0 4 a#extenGL_AMD_vertex_shader_layer : requiredyVflat "u`vs_BLET^DICES uu  3 d([(gl_InstanceID)) <0.5Sfract /0)wroundEvenCuD/ina#i3!>u0)1310,1113,1631:31o I' =6L )= 4 0 MULTIVIEW/!OVR_multiview2w >ice4@num_s = 2) in.{ BmWEIGHT! @-!QV`ViewID)+!z]  FM/ =\ C?].x!  0 p %!: !Pdb<H S&t cd$C(, S,( &0 o  texture> using namespace {; #if !(__HAVE_FMA__) #define fma(a,b,c) ((a) * (b) + (c)) #endif struct VGlobals_Type { float4 hlslcc_mtx4x4unity_ObjectToWorld[4];0 MatrixVP+_ jTex_STColor; };Mtl_VertexInPOSITION0 [[ attribute(0) ]] W[COLOR'1'2 TEXCOORD*2*:Outmtl_PositionHp /]]Ruser(j),v  v(R{constan&bbbufferC,6` input(pstage_i;) {)~ioutput u_01!" =h.u.yyyy *.,1]S@=0],Txxxx,R)`+2`Ozzzz` +31FQ1F;%0] ?/1)S&2S2Sy._3_Owwww_Q43.xy,in,C$#zwereturnx}  `i,G t(8P($#,84 ,&@tL$ UNITY_SINGLE_PASS_STEREO$/1 UNoStereo3_P[8];0V0?Inv3VCameraProQ?ion9?Inv< TCr 6-3 _SJos[2e/ScaleOffset' EyeIndex!9intJ$- z6&J1J &L2 N/i1&2 Si=  .+i << 0x2 .(\+ 1)]cIX"WI /2)j6/2)f 2f |5/3) 2   `4 @ P  B@,T  Tt ], T < LH 6 _INSTANCING_ON8MULTIVIEW($/#ifndef XLT_REMAP_O B {0, 1, 2, 3, 4, 5, 6, 7}J0Fexpr:uxlt_remap_o[] =T; Fragment p SV_TargetKc(&0]KfE ROtsampler!H12d<, access::-8 > B.T  f.(., 9).wn'.w*+4;xyzW 8 ,(T| P4$ bX  b S(o9> 9 > 9 >9  >9>9>>*P> ./>03 P4 7g9-R919598 Y   ;   "&,! J %"='D"x/  3 HRSZ\UZ G##@"Gd    >9>9  Q >9 >9(N DE>F9G>9Pz0  X9Y>X9[>> nq Pr au$l9o9s9vMU#J"$#A&&PJ0K"2##%6%%@%aBD),)K"LP|4|A" ||^|W%|l|$%&# ,%!&&<&PPH,1X h-XJX K"#fHD?#fHD"0 @N_ VGlobals23154377268Xb_Color0@P $MainTex_ST(unity_MatrixVP{U@,ObjectToWorld0/H/4 $ UNITY_SINGLE_PASS_STEREO$&$P/VP/ PT`aikUiP dGP[#TxTTT%  Mab9]]]]`>91h#i2iPiQ>R9S>9^i@1q1g9hq9g9jq}   $sq{9~99vvSpS(24#$%8B%DvF)-vN3$$"bU8C; "?wrw)*EH/H{.0a0 F0R0V0JD^TCc" g !-g;g3KgUuTPSuTP-4229488953U|StereoEyeIndex x `0  _INSTANCING_ON Ss0! )SPV_EXT_shader_viewport_i _layer4T`ahjuUh )o> +G<\ O ,h h      939x 1f9g1f9iu9t> ."D99 >$<9- f!-f;f2Kf P"#z'z' .3854107715 ( MULTIVIEW6Q /#@"KHR_multi/2copyU4G B"^~ D$  a?G2<2VF#3?]%AC59CCCCC19/YS91R95 BCC:;<=>?@ADE>T._s`>a9bm> 9u>9xQz>{9|H"AQ99>p9$S""#$+c#"%4 >%@B)+J @&3\"2h#H+J*".<Nw*" ">*LFj0W0N0aP h0t0e0jDmcI""3}\q" 7s1-LCKUxc_<U<Rices% <\F08700608@$(R3` P 4,` x /Dq/ PArial.oAt'PAw'?F,F.P,P.T,T.T:T;TaTcTeToTsV,V.Y,Y-Y.YeYoYq=L)=>{|g{|RgS>RS)>*)*|g|hSgh>S?*>?*|}h|}ShT?ST*?+*+++?@?T@Thih}i+,+@,@TUTiU,,@A@UA,-,A--UijAUVUjV-ABAVB-.-B..i~ji}~}~}      2121F21EFEZFFZ[Zo[2FGF[G232G3 3    [opopG[\[p\3GHG\H343H4\pqpqH\]\q]   4 4HIH]I]qrqr]r^I]^4I5 45     ^rsrsI^J5IJ 5!  ! ^s_J^_5J6!56 !   _stst!6" !"  " ~~j~jkVjkkVkWBVWklWklBWC.BClWlXCWX.C/./lmXlmCXD/CD/mXmYDXY/D0/000DEDYEYmnmn010E1EYZYnZ11EFEZF 121F2 2   ZnoFZ[Zo[2FGF[G232G3 3non   #"#"7#"676K76JKJ_KK_`_t`7KLK`L#787L8#$#8$$`tutuL`a`ua8LMLaM$898M9auvuvMabavb$%$9%9MNMbNbvwvwbwcNbc9N:%9:%cwxwxNcO:NO%:&%&cxdOcd:O;&:;&dxyxy&;'&''oop[opp[p\G[\pq\pqG\H3GHq\q]H\]3H434qr]qrH]I4HI4  r]r^I]^4I5 45  ! 5!5IJI^J^rsrs !  !565J6J^_^s_ !"!6"6JKJ_K " "676K7"#"7##_stK_`_t`7KLK`L#787L8#$#8$sts$('('<(';<;P<;OPOdPPdedye<PQPeQ(<=<Q=()(=))eyzyzQefezf=QRQfR)=>=R>fz{z{Rfgf{gg{{gRgSSg>RSS?S>S??)>**>?)*+?*?++**+++ttuu`tuvuvwvww`uaauvL`abvwavbcwbwccLaMMab8LMNbcMbNOcNcOO8M99MN$89:NO9N:;O:O;;$9%%9:$%&:;%:&';&;''~%%&&&''~'~ (PRKY%|'F]Sc|1Ea7>ĝX5uxsL={%|?Pmc| Iy?.P4OL=L=?P%|{He|PO?ɱy=L=%F%|JYkEc|WSrxs?s7>L=%|a0 c|* ?Ų*4L>L=%F=%|IYyE=c|OSpxs?37>>L==P=%|yH=c|pO?jy?>L=x>%|;Ps>c|Hy?-j2O?43>L=GY>%|"F^S>c|Ez7>J̌qxs?>L=_0 >%|(* >c|2s͞1?hf>L=GY>%|"F=_S>c|E=|7h3pxs??L=x>%|:P=r>e|H=yO? ?L=:P=%|w>H=e|R>O:Ry??L="F=%|FY>qE=c|MS>qxs+w7>hf&?L=\01%|]0 >e| * >mԲ\'533?L=F%|EY>|Ec|WS>pxs\3|7@?L=8P%|v>Hc|z>OΆyL?L=v%|9P=sc|H=y#4OY?L=EY%|F=]Sc|E=w7 سqxsiff?L=\0 %|** c| !-463s?L=yqxsýs]ysý\7>3uxs=qxs9]ys9y?E3OL==9qxs9]ysO?\ֳy==ýqxsyý]yssqxs?tv7>=qxs7]ys1?M??74L>==qxsy=[ysspxs?-ł7>>=9>qxs9>YysO?!Gy?>=>qxs9>[ys9y?;鳾O?43>=y>qxsýs>[ys1ýv7>7qxs?>=|7>qxs1>[ysGȮ0!?hf>=y>qxs=s>[ys&={74pxs??=>qxs9>>]ys9>yO? ?=9>qxs> 9>[ys>OPN1y??==qxsy> =[yss>qxsgku7>hf&?=z72qxs{7>]ys1>yJ533?= ýqxsy>ý[yss>pxsl3{7@?=9qxs>9[ys>OdTyL?=qxs9>[ys9>yOY?=yqxs =s[ys8=|7X}pxsiff?=z7qxs1[ys2}463s?=ݾdi ݾdϣ]7>P4uxs> drd(y? &P3OL=>rd "dO?~n!y=>hdݾޣd ݾqxs?ubt7>>dyqd*j?eV\m@3L>>h>dݾ>d ݾpxs?y[27>>>p>d *>dO?ܲy?>> >do >d$y?2O?43>>>de$ >dv7>F3qxs?>>vq>d4j>dH1ױ-B[?hf>>>de>% >d>z7#5pxs??> >dn> >d&>yO? ?>n>d >%>d >O33y??>e>d >>d' >qxsj 2w7>hf&?>rqh2dtq>d6j>l JD533?>cd >d% >pxs1}7@?>ld >(d>O8yL?> dm> d->y5OY?> ݾdd>% ݾd>x7K3qxsiff?>rqd0jd9c˄463s?>O9O9\7>Z2vxsL>{xOJ䰾,rO߰y?3OL=L>J䰾Ozx߰O1rO?Hf3y=L>9O9Oqxs?oEu7>L>OyOL>9>O9>Ooxs?߲7>>L>H>Ovx߰>O,rO?y?>L>ux>OF䰾0r>O߰y?%@O?43>L>?O9?O9w7>rvܲqxs?>L>y?OL>?O9>?O9>{7=ݑ3pxs??L>tx>OE>.r>O߰>ycx3O? ?L>E>Osx>߰>O7r>Oҳ3y??L>9>O?9>O?qxsK3v7>hf&?L>y2Oy?O>u? |!}L^533?L>9O?9O?qxsߜrz7@?L>C䰾Orx>߰O7r>O4yL?L>qxOD>2rO߰>y۳OY?L>O9>O9>w7eqxsiff?L>yO>uO4? 563s?L>(,5_%,5_X7>Svxs>r5Ծo5Ծy?3OL=>Ծ5rԾ5oO?I13y=>_5(,)_~5~%,qxs?#1v7>>55~5h5?ܻ3L>>_>5(,7_>}5}%,pxs?gDc7>>>>5r>~5oO?~y?>>r?5Ծo?~5Ծy?^гO?43>>(,?5_~%,?~5/_x7>3*qxs?>>5?5h5?}5(O81G81?hf>>(,?5_>~%,?~5-_>y7vaqxs??>r?5>o?~5>y1O? ?>>5r?>|5o?Oy??>_>5(,?+_>|5%,?qxsА3w7>hf&?>255?|5j5?wh²p²533?>_5(,?5_|5%,?pxsa2|7@?> Ծ5r?Ծ{5o?O0N43yL?>r5>o|5>yĕ1OY?>(,5_>%,|5,_>w7G0qxsiff?>55j5{5,&563s?>Dy D|UY7>vxs>'yzx󾚋'|(uy?!L2OL=>zxy'"u|'O?,Oy=>yD|Drxs?gϾ2s7>>yO|O?B?@; 3L>>>yD>|Dpxs?37>>>wx>y'.u>|'O?UK82y?>>'?yux󾞋'?|%uy?f mO?43>>D?yD?|w7>Lqxs?>>O?yO?|dW$?hf>>D?y>D?|>y7'?ytx>'?|+u>y Z1O? ?>tx>y'?$u>|'?OB2y??>>yD?>|D?qxsI2y7>hf&?>2yO?|O?*HᲨ533?>yD?|D?pxs3~7@?>qxyߍ'?,u|'?OQ2yL?>ߍ'yrx>'|'u>y/ 3OY?>Dy>D|>v78[2qxsiff?>OyO|2 ô5563s?>XrqUXx辝X7>.Gvxs43>8rq辑t8xzy?"2OL=43>rq8vxu8O?@y=43>rqXxOXrxs?2t7>43>rqdx,d?I&rH&2L>43>>rqX>xMXpxs?17>>43>?rq8{?xq8O?4y?>43>8?rq辎u8?xvy?*J1O?43>43>X?rqOX?x辺x7>}qxs?>43>d?rq,d?x&3?hf>43>X?rq>MX?x边>y7'qxs??43>8?rq辎?q8?xz?y3O? ?43>?rq8?w?xu8?O7Ey??43>>rqX?>xPX?qxsKx7>hf&?43>2rqd?x.d?B533?43>rq X?xPX?pxsc|7@?43>rq8?yxu8?O` yL?43>8rq辍?u8xx?y(2OY?43> Xrq>PXx辺>x7l0qxsiff?43>drq.dxkotQ463s?43>gy7y g=kxY7>vxs>Dy7 D=6y?oOL=>y7D2= DO?!3y=>yy7gx=gqxs?Rv7>>y7yxs=ws?T%2L>>y>y7gx>=gpxs?{27>>>?y7D9?=DO?!1y?>>D?y7 D?=3y?$O?43>>g?y7yg?=xy7>͉qxs?>>uxs?y7ws?=mnį?hf>>g?y7y>g?=x>z7Tkqxs??>D?y7? D?<6?yxO? ?>?y7D?4?< D?O 2y??>y>y7g?x><g?qxs]2v7>hf&?>qx2y7sxs?=ws?$I533?>yy7g?x=g?pxsؕ1~7@?>y7D?6= D?O2yL?>Dy7? D<5?yo`1OY?>ߍgy7y>gw7Zqxsiff?>qxsy7ws<4>G463s?>ypU0 Dxpb6 DX7>Cvxshf>LU0 ܞɎLZ6 y?ROL=hf>ܞU0 Lc6 ˎLO?1y=hf>DU0 ypDc6 xpqxs?h1u7>hf>U0 -|^6 |?LcU1L>hf>D>U0 ypD>_6 xpoxs?tݰ7>>hf>ڞ?U0 L?\6 ŎLO?܆2y?>hf>L?U0 ٞʎL?X6 y?tO?43>hf>yp?U0 Dxp?Q6 Dw7>3 ذqxs?>hf>)|?U0 |?E6 GJ"/'0?hf>hf>yp?U0 D>xp?E6 D>{7NPpxs??hf>L?U0 ؞?ɎL?O6 ?y4O? ?hf>؞?U0 L??Z6 ʎL?O41y??hf>D>U0 yp?D>a6 xp?qxs92v7>hf&?hf>%2U0 '|?]6 |?zih533?hf>DU0 yp?D\6 xp?pxsݰ|7@?hf>֞U0 L?Z6 ɎL?OR1yL?hf>LU0 מ?ɎL[6 ?yOY?hf>ypU0 D>xpW6 D>y7kPqxsiff?hf>%|U0 |\6 Xײ)463s?hf>{xs7uxsZ7Z7>vxs?OyOyy?OL=?yOyOO?y=?7yxso7qxsrxs?p7>??L>?7>xxs7>pxspxs?7>>?y?Oy?OO?y?>?O?yO?yy?O?43>?uxs?|7qxs?x7x7>qxs?>????hf>?uxs?|7>qxs?}7>|7pxs???O?y?O?y?yO? ??y?O?y?O?Oy???|7>sxs?s7>qxs?rxss7>hf&??3??533??y7rxs?{7qxs?pxs{7@??yO?yO?OyL??Oy?Oy?yOY??qxsz7>qxs{7>{7pxsiff??63s??ypU0 >Dxpb6 >DZ7>|2vxs ?LU0 >ܞɎLZ6 >y? v1OL= ?ܞU0 >Lb6 >ˎLO?< y= ?DU0 >ypDb6 >xprxs?hcs7> ?U0 >-|_6 >|?\2/1L> ?D>U0 >ypD>_6 >xpoxs?7>> ?ڞ?U0 >L?]6 >ƎLO? y?> ?L?U0 >ٞʎL?X6 >y?1O?43> ?yp?U0 >Dxp?R6 >Dx7>|%n1qxs?> ?)|?U0 >|?F6 >GJ"(0?hf> ?yp?U0 >D>xp?F6 >D>{7f0pxs?? ?L?U0 >؞?ɎL?O6 >?ywP?2O? ? ?؞?U0 >L??X6 >ʎL?O#@y?? ?D>U0 >yp?D>_6 >xp?qxsv7>hf&? ?%2U0 >'|?_6 >|?1͞533? ?DU0 >yp?D]6 >xp?pxsQ~ |7@? ?֞U0 >L?[6 >ɎL?O^yL? ?LU0 >מ?ɎL[6 >?yO1OY? ?ypU0 >D>xpX6 >D>z7#1qxsiff? ?%|U0 >|[6 >.ز*63s? ?gy7>yg=>lx[7><1vxs?Dy7> D=>6y?h;2OL=?y7>D3=> DO? y=?yy7>gx=>gqxs?t7>?y7>yxs=>ws?D2G1L>?y>y7>gx>=>gpxs?'/7>>??y7>D9?=>DO?y?>?D?y7> D?=>3y?$82O?43>?g?y7>yg?=>xw7>U#1qxs?>?uxs?y7>ws?=>mn/?hf>?g?y7>y>g?=>x>z7W0qxs???D?y7>? D?<>6?yWl2O? ???y7>D?5?<> D?OԮy???y>y7>g?x><>g?qxs#;u7>hf&??qx2y7>sxs?=>ws?3&'533??yy7>g?x=>g?pxsj}7@??y7>D?4=> D?OO2yL??Dy7>? D=>6?y>2OY??ߍgy7>y>g<>x>w7}òqxsiff??qxsy7>ws<>pܳ63s??Xrq>SXx>Y7>3vxshf&?8rq>t8x>zy?OL=hf&?rq>8ux>u8O?F1y=hf&?rq>Xx>OXrxs?6`t7>hf&?rq>dx>,d?b+21L>hf&?>rq>X>x>LXpxs?/Pv7>>hf&??rq>8|?x>q8O?Ls2y?>hf&?8?rq>u8?x>vy?CO?43>hf&?X?rq>OX?x>x7>Fg2qxs?>hf&?d?rq>,d?x>1$3?hf>hf&?X?rq>>OX?x>>y7qxs??hf&?8?rq>?r8?x>z?yH^O? ?hf&??rq>8?w?x>t8?O2y??hf&?>rq>X?>x>PX?qxsz1x7>hf&?hf&?2rq>d?x>,d?I13p533?hf&?rq> X?x>OX?pxssH1}7@?hf&?rq>8?xx>u8?OML2yL?hf&?8rq>?t8x>y?yv2OY?hf&? Xrq>>PXx>>x7`1qxsiff?hf&?drq>.dx>)oi63s?hf&?Dy? D|?RX7>M3vxs533?'y?zx󾙋'|?%uy?CpR2OL=533?zxy?'#u|?'O?:y=533?y?D|?Drxs?v"2s7>533?y?O|?O?L33L>533?>y?D>|?Dpxs?7>>533?wx>y?'.u>|?'O?[sy?>533?'?y?ux󾞋'?|?#uy?$533?D?y?D?|?w7>ĂW2qxs?>533?O?y?O?|?d1W$?hf>533?D?y?>D?|?>y7ٱ13qxs??533?'?y?tx>'?|?(u>y'2O? ?533?tx>y?'?$u>|?'?O]My??533?>y?D?>|?D?qxs12y7>hf&?533?2y?O?|?O?gް0533?533?y?D?|?D?pxs9S17@?533?qxy?ߍ'?)u|?'?O^yL?533?ߍ'y?rx>'|?(u>ygJOY?533?Dy?>D|?>v7&qxsiff?533?Oy?O|?ȴ/ 63s?533?(,5?_%,5?_Y7>P3vxs@?r5?Ծo5?Ծy?YгOL=@?Ծ5?rԾ5?oO?.[y=@?_5?(,)_~5?}%,qxs?2v7>@?5?5~5?h5?3 3L>@?_>5?(,6_>}5?~%,pxs?rI37>>@?>5?r>~5?oO?H3y?>@?r?5?Ծo?~5?Ծy?e2O?43>@?(,?5?_~%,?}5?+_w7>qxs?>@?5?5?i5?}5?&O8G81?hf>@?(,?5?_>~%,?~5?/_>z7Wqxs??@?r?5?>o?~5?>yO? ?@?>5?r?>}5?o?OPJy??@?_>5?(,?,_>}5?%,?qxslMv7>hf&?@?25?5?|5?j5?ʐЕ2533?@?_5?(,?5_|5?~%,?pxs]}7@?@? Ծ5?r?Ծ{5?o?OyL?@?r5?>o{5?>y3창OY?@?(,5?_>%,|5?._>x7Z62qxsiff?@?55?j5{5?B<63s?@?O?9O?9\7>ׇuxsL?{xO?J䰾)rO?߰y?\VOL=L?J䰾O?zx߰O?4rO?˳y=L?9O?9O?qxs?n]2v7>L?O?yO?;u?;033L>L?9>O?9>O?oxs?27>>L?H>O?vx߰>O?.rO?3y?>L?ux>O?F䰾0r>O?߰y? ͹3O?43>L??O?9?O?9x7>w93qxs?>L?y?O?L??O?9>?O?9>}7_pxs??L?tx>O?E>.r>O?߰>yTO? ?L?E>O?sx>߰>O?3r>Oe1y??L?9>O??9>O??qxs8;Sw7>hf&?L?y2O?y?O?>u?+2Ӽ533?L?9O??9O??qxs=g3x7@?L?C䰾O?rx>߰O?4r>O2yL?L?qxO?D>5rO?߰>yZڇOY?L?O?9>O?9>x703qxsiff?L?yO?>uO?d>N 63s?L?ݾd?i ݾd?Σ]7>9uxsY? d?rd?-y?8'/OL=Y?rd? "d?O?ry=Y?hd?ݾܣd? ݾrxs?ts7>Y?d?yqd?'j?/53E3L>Y?h>d?ݾ>d? ݾoxs?m7>>Y?p>d? *>d?O?~y?>Y? >d?o >d?"y? ɳO?43>Y?>d?e& >d?w7>01qxs?>Y?vq>d?4j>d?G11,B[?hf>Y?>d?e># >d?>7g30pxs??Y? >d?n> >d?&>yf3O? ?Y?n>d? >&>d? >O2y??Y?e>d? >>d?+ >qxs%Kv7>hf&?Y?rqh2d?tq>d?9j>Y83533?Y?cd? >d?& >pxs%{7@?Y?ld? >)d? >O0yL?Y? d?m> d?+>y`3OY?Y? ݾd?d>& ݾd?>x7 3qxsiff?Y?rqd?0jd?d;^63s?Y?yqxs?ýs]ys?ý\7> uxsiff?qxs?9[ys?9y?(iOL=iff?9qxs?9[ys?O?bky=iff?ýqxs?yý]ys?sqxs? St7>iff?qxs?7]ys?1?03؄4L>iff?=qxs?y=]ys?soxs?d.7>>iff?9>qxs?9>[ys?O?3y?>iff?>qxs?9>]ys?9y?'h>O?43>iff?y>qxs?ýs>[ys?ýv7>3qxs?>iff?|7>qxs?1>[ys?G. ?hf>iff?y>qxs?=s>[ys?B=|7˗pxs??iff?>qxs?9>>[ys? 9>yα3O? ?iff?9>qxs?> 9>[ys?>Oy??iff?=qxs?y> =[ys?s>qxsSu7>hf&?iff?z72qxs?{7>[ys?1>832 533?iff? ýqxs?y>ý[ys?s>pxsL{7@?iff?9qxs?>9[ys?>OH3yL?iff?qxs?9>[ys?9>y𕞲OY?iff?yqxs? =s[ys?#=z7 3qxsiff?iff?z7qxs?1[ys?'vէ63s?iff?KY%|?'F]Sc|?(E\7>?4uxs63s?{%|??Pne|?ZHy?d5OL=63s??P%|?{He|?DO?l4y=63s?%F%|?JYiEc|?bSrxs?Ʋs7>63s?%|?a0 c|?* ?g24L>63s?%F=%|?IYvE=c|?SSpxs?׷7>>63s?=P=%|?yH=e|?NO?ꮓy?>63s?x>%|?;Pr>e|?wHy?T7O?43>63s?GY>%|?"F\S>c|?XEz7>³qxs?>63s?_0 >%|?(* >c|?͞1?hf>63s?GY>%|?"F=]S>c|?E={7*%pxs??63s?x>%|?:P=q>c|?H=y:4O? ?63s?:P=%|?w>H=c|?>Oy??63s?"F=%|?FY>oE=c|?ZS>qxs%Ӥ2v7>hf&?63s?\01%|?]0 >e|? * >+2j)533?63s?F%|?EY>}Ec|?WS>pxsd|7@?63s?8P%|?v>He|?T>O(<yL?63s?v%|?9P=te|?H=y[5OY?63s?EY%|?F=^Sc|?aE=w78Xjqxsiff?63s?\0 %|?)* c|?[ڿ,63s?63s?iq>d????iq>d???yqxsýs]ysý\7>3uxs?=KY%|'F]Sc|1Ea7>ĝX5uxs?L=ݾdi ݾdϣ]7>P4uxs?>O9O9\7>Z2vxs?L>(,5_%,5_X7>Svxs?>Dy D|UY7>vxs?>XrqUXx辝X7>.Gvxs?43>gy7y g=kxY7>vxs?>ypU0 Dxpb6 DX7>Cvxs?hf>{xs7uxsZ7Z7>vxs??ypU0 >Dxpb6 >DZ7>|2vxs? ?gy7>yg=>lx[7><1vxs??Xrq>SXx>Y7>3vxs?hf&?Dy? D|?RX7>M3vxs?533?(,5?_%,5?_Y7>P3vxs?@?O?9O?9\7>ׇuxs?L?ݾd?i ݾd?Σ]7>9uxs?Y?yqxs?ýs]ys?ý\7> uxs?iff?KY%|?'F]Sc|?(E\7>?4uxs?63s?5?5??d?oq??%|?I0 ??$|?k0 >?d?xq>?5?5??kq>d??R0 >%|??a0 $|??tqd??55??doq>?%|T0 >?$|a0 ?dkq?55??}qd??u0 $|??C0 >&|????5?5?????d?oq?????%|?I0 ?????$|?k0 >????d?xq>????5?5?????kq>d?????R0 >%|?????a0 $|?????tqd?????55?????doq>????%|T0 >????$|a0 ????dkq????55?????}qd?????u0 $|?????C0 >&|???4@???@A?Cube$???H     (0@???~0?>???$?>?????~0?@ '??????$?@ '?????>>????<;>??>@ '???@ '?@ '?????>@ '?????<;@ '???>>??@ '?>?><;???>>???@ '?>?@ '?<;?0?>???4~?>???4~?<;?0?<;???><;?????<;<;???????<;>?????>>????=+A pCylinder1|4@???,(-./,01.230452674896:;8<=:>?<@A>BC@DEBFGDHIFJKHLMJNOLPQNRSPT)UUVWWXYYZ[[\]]^__`aabccdeefgghiijkklmmnoopqqrsstuuvwwxyyz{      ! ! !" ""###$$$%%%&&&'''**+| (@{xs7uxsX7Y7>vxs">OyOyy?OL=">yOyOO?y=">7yxss7qxsrxs?s7>">?L>">7>xxs~7>pxspxs?~7>>">y?Oy?OO?y?>">O?yO?yy?O?43>">uxs?|7qxs?v7v7>qxs?>">???hf>">uxs?|7>qxs?{7>{7pxs??">O?y?O?y?yO? ?">y?O?y?O?Oy??">|7>sxs?x7>qxs?qxsx7>hf&?">3??533?">y7rxs?}7qxs?pxs|7@?">yO?yO?OyL?">Oy?Oy?yOY?">qxsz7>qxsx7>x7qxsiff?">63s?">{xs?7uxsX7Y7>vxsDv>O?yOyy?OL=Dv>y?OyOO?y=Dv>7?yxss7qxsrxs?s7>Dv>??L>Dv>7>?xxs~7>pxspxs?~7>>Dv>y??Oy?OO?y?>Dv>O??yO?yy?O?43>Dv>uxs??|7qxs?v7v7>qxs?>Dv>????hf>Dv>uxs??|7>qxs?{7>{7pxs??Dv>O??y?O?y?yO? ?Dv>y??O?y?O?Oy??Dv>|7>?sxs?x7>qxs?qxsx7>hf&?Dv>3???533?Dv>y7?rxs?}7qxs?pxs|7@?Dv>y?O?yO?OyL?Dv>O?y?Oy?yOY?Dv>qxs?z7>qxsx7>x7qxsiff?Dv>?63s?Dv>iq>d????iq>d??"?{xs?7uxsX7Y7>vxs?Dv>{xs7uxsX7Y7>vxs?">Oyy?OL=">{xs7\7>uxs">yOO?y=">5?5??7yxsrxs?t7>">d?oq???3L>">%|?I0 ??7>xxspxs?7>>">$|?k0 >?y?OO?y?>">d?xq>?O?yy?O?43>">5?5??uxs?|7v7>qxs?>">kq>d???p"?hf>">Q0 >%|??uxs?|7>z7pxs??">b0 $|??O?y?yO? ?">sqd??y?O?Oy??">55??|7>sxs?qxsx7>hf&?">doq>?3?;г533?">%|U0 >?y7rxs?pxs|7@?">$|a0 ?yO?OyL?">dkq?Oy?yOY?">55??qxsz7>x7qxsiff?">}qd??X63s?">u0 $|??{xs7\7>uxs?">C0 >&|??{xs?7?\7>uxsDv>O?y?y?OL=Dv>??5?5??"?y?O?O?y=Dv>??d?oq??"?7?yxs?rxs?t7>Dv>??%|?I0 ??"????3L>Dv>??$|?k0 >?"?7>?xxs?pxs?7>>Dv>??d?xq>?"?y??O?O?y?>Dv>??5?5??"?O??y?y?O?43>Dv>??kq>d??"?uxs??|7?v7>qxs?>Dv>??Q0 >%|??"?????hf>Dv>??b0 $|??"?uxs??|7>?z7pxs??Dv>??sqd??"?O??y??yO? ?Dv>??55??"?y??O??Oy??Dv>??doq>?"?|7>?sxs??qxsx7>hf&?Dv>??%|U0 >?"?3???;г533?Dv>??$|a0 ?"?y7?rxs??pxs|7@?Dv>??dkq?"?y?O??OyL?Dv>??55??"?O?y??yOY?Dv>??}qd??"?qxs?z7>?x7qxsiff?Dv>??u0 $|??"???X63s?Dv>??C0 >&|??"?{xs?7?\7>uxs?Dv>4@???CB?pPlane1Xy?%?     + *+**6+)*)*56)5*5A6()()45(4)5@A4@5@LA'('(34'3(4?@3?4@KL?K@KWL&'&'23&2'3>?2>3?JK>J?KVWJVKVbWVabambJUVUaV>IJIUJ2=>=I>&121=2almlxmlwxU`a`lakwl`klkvwITUT`U=HIHTI_k`T_`jvk_jkjuvS_THST<H=1<=^j_S^_iuj^ijituGSH<GHR^SGRS]i^R]^hti]hihstgshgrs\h]\ghQ]RQ\]FRGFQR;G<;FGfrgfqr[g\[fgP\QP[\EQFEPQeqfepqZf[ZefO[POZ[dpedopYeZYdecodcnoXcdXdYMXYNYZMYNNZOBMNBNCCNO7BCCODDOPDPE7C88CD,789DE8D9,8--89!,-9E::EF:F;!-"!"-9..9:"-./:;.:/" ".##./"#/;00;<0<1  # #/$$/0#$%01$0%%1&%&    $$%%  y (???>??=>??L>L>??>=??>???̽???L??333???L?̾??gff?????̤>?=>̤>?==>̤>?L>=L>̤>?>==̤>?>=̤>??=̤̽>??=L̤>?333?=̤>?L?=̤̾>?gff?=̤>??=?>?L>>>?=L>>>?L>L>L>>?>L>=>?>L>>??L>̽>??L>L>?333?L>>?L?L>̾>?gff?L>>??L>?LL>?>>LL>?=>>LL>?L>>L>LL>?>>=LL>?>>LL>??>̽LL>??>LLL>?333?>LL>?L?>̾LL>?gff?>LL>??>?̣=?>>̣=?=>>̣=?L>>L>̣=?>>=̣=?>>̣=??>̣̽=??>Ḷ=?333?>̣=?L?>̣̾=?gff?>̣=??>???>?=?>?L>?L>?>?=?>????̽???L?333???L??̾?gff??????#̽??>#̽?=?>#̽?L>?L>#̽?>?=#̽?>?#̽???̽#̽???L#̽?333??#̽?L??̾#̽?gff??#̽????L$L?333?>L$L?=333?>L$L?L>333?L>L$L?>333?=L$L?>333?L$L??333?̽L$L??333?LL$L?333?333?L$L?L?333?̾L$L?gff?333?L$L??333??$?L?>$?=L?>$?L>L?L>$?>L?=$?>L?$??L?̽$??L?L$?333?L?$?L?L?̾$?gff?L?$??L??$̾?gff?>$̾?=gff?>$̾?L>gff?L>$̾?>gff?=$̾?>gff?$̾??gff?̽$̾??gff?L$̾?333?gff?$̾?L?gff?̾$̾?gff?gff?$̾??gff??%??>%?=?>%?L>?L>%?>?=%?>?%???̽%???L%?333??%?L??̾%?gff??%????%??? polySurface24@?@?qryyxeyxxexdQedxzdxzzQdP=QPdzfPdfz{fz{=P<)=<PfR<PRs{f{gRfg{|g{||RgSg|hSgh|}h|}}>RS<R>(<>)<(S)(ST)US(U(*(>*VU*>S?*>?V*+*?+WV+?STShTW+,XW,+?@?T@+@,Thih}iX,-YX-,@A,A-@TUTiU@UAi}~}~Y-.ZY.Uiji~j-AB-B.AUVUjVAVB~Z./[Z/j~~Vjkjk.BC.C/BVWVkWBWC[/0\[0kWklkl/CD/D0CWXWlXCXDlXlmlmDXYXmY0DEDYEmYmnmntnYnZEYZnoZnooupvppoopp[opZo[FZ[EZF1EF0E1\01]\1]121F2^]2F[G2FG^232G3_^3[p\G[\_34`_43GHG\H3H4\pqpq`45a`54HI4I5H\]\q]H]Iqa56ba6]qrqr5IJ5J6I]^]r^I^Jb67cb7r^rsrs6JK6K7J^_^s_J_Kc78dc8os_ststoontnnm_t`K_`tu`tuummlK`L7KL7L8`uaL`auvvauvwlvwwlk8LMLaMavbbvwMabcwkbwcckj8M9d89ed9MbNNbc9MNOcjNcOOjie9:9N::NOfe:;Oi:O;f:;;ihgf;g;h      !" !"!#$"#$#%&$%&%'Q&'Q'RHIHIwI<HH<=<)=<()()I><>(<(>*(*(*>+*+*I?>?+>+}}~~~,+?,+,                          !  !   " !" #"#'''';;'&&;'&%&%;GG;&::&%G;:%$$$#GP|P:%99%$G:FF:9PGF9$88$#F988#77#"F8EE87PFE7"6E766"!|P{|PEOPO6!55! E6DD65OED5 4D544 OzODNON433D4CNDCC4332C322NMNCM211C2BB21MCB10B100MyMBLML0//B0ALBAA0//.A/..LKLAK.---,A.@@.-@-,KA@@,?J@?K@JJ?IJIKJKx (LOyNx e[y?ҪOL=">O?yNw =e[y?WOL=Dv>zxs?7fHsv =!\7>'Q1uxsDv>zxs7fHsv !\7>'Quxs">yOc[y NO?+y=">y?Oc[y =NO?+0y=Dv>7yxs9w cHsrxs?w/t7>">7?yxs9w =cHsrxs?wt7>Dv>q x?ɝT/L>">?q =x?ɝ2T/L>Dv>}7>wxsD>w aHspxs?7>>">}7>?wxsD>w =aHspxs?17>>Dv>y?Oe[?y NO?-y?>">y??Oe[?y =NO?-0y?>Dv>O?yN?y c[y?!U0O?43>">O??yN?y =c[y?!UO?43>Dv>uxs?}7cHs?u ;v7>Hqxs?>">uxs??}7cHs?u =;v7>H/qxs?>Dv>?Vtx?r ]?hf>">??Vtx?r =].?hf>Dv>uxs?|7>cHs?t B>|70pxs??">uxs??|7>cHs?t =B>|7߰pxs??Dv>O?y?N?v h[?yI1O? ?">O??y?N?v =h[?yIO? ?Dv>y?O?c[?y N?O=y??">y??O?c[?x =N?O=/y??Dv>{7>sxs?=>x cHs?qxsW w7>hf&?">{7>?sxs?:>_ =cHs?qxs˹r1u7>hf&?Dv>hM2?s x?9533?">hM2??@ =x?7F+-533?Dv>{7sxs??w cHs?qxsy7@?">{7?sxs??] =cHs?qxsOy7@?Dv>yO?e[y N?O yL?">y?O?f[y =N?Oe/yL?Dv>Oy?No c[?yOY?">O?y?No =c[?y-OY?Dv>qxsz7>cHs] ;>v7/qxsiff?">qxs?z7>cHs] =<>v7kb0qxsiff?Dv>xc PѰx&363s?">?xc =PѰx&63s?Dv>L ?ܞɎLf6 >y?WOL= ?yp ?Dxpd6 >D]7>T2uxs ?ܞ ?Lf6 >ʎLO?q1y= ?D ?ypDc6 >xprxs?>̱t7> ?P| ?-|`6 >|?d_21L> ?D> ?ypD>`6 >xppxs?.27>> ?ٞ? ?L?]6 >ɎLO?Cڡ1y?> ?L? ?ڞʎL?^6 >y?cO?43> ?yp? ?Dxp?`6 >Dv7>1qxs?> ?)|? ?Tq|?`6 >~0Id?hf> ?yp? ?D>xp?_6 >D>z7$-1pxs?? ?L? ?؞?ǎL?]6 >?y.O? ? ?؞? ?L??_6 >ʎL?Oy?? ?D> ?yp?D>Z6 >xp?qxseݜv7>hf&? ?-K2 ?'|?S6 >|?K!1533? ?D ?yp?DZ6 >xp?pxs$F 2{7@? ?מ ?L?_6 >ɎL?ODJ1yL? ?L ?מ?ʎL_6 >?ypOY? ?yp ?D>xp`6 >D>u7:_vqxsiff? ?%| ?|^6 >{Ųw63s? ?Dލ? D=>6y?{OL=?gލ?yg =>nx]7>u2uxs?ލ?D3=> DO?$y=?yލ?gx=>grxs?zjt7>?@Nsލ?yxs=>ws?+Z3 ̍2L>?y>ލ?gx>=>gpxs? 27>>??ލ?D6?=> DO?#y?>?D?ލ? D?=>5y?{62O?43>?g?ލ?yg?=>xu7>ֱqxs?>?uxs?ލ?`hws?=>ί$0?hf>?g?ލ?y>g?=>x>y7 22qxs???D?ލ?? D?=>8?yR>]O? ???ލ?D?4?=> D?O 5y???y>ލ?g?x>=>g?qxsDyJv7>hf&??C2ލ?sxs?=>ws?BZ!0533??yލ?g?x=>g?pxsX0{7@??ލ?D?6=> D?OMzb2yL??Dލ?? D=>4?y52OY??ߍgލ?y>g=>x>u7R{qxsiff??qxsލ?ws=>|ɳd63s??8\?s8x>yy?ҲOL=hf&?X\?SXx>]7>a3uxshf&?\?8wx>u8O?H2y=hf&?\?Xx>OXrxs?5`t7>hf&?c\?dx>,d? A32L>hf&?>\?X>x>OXpxs?27>>hf&??\?8z?x>s8O?Oy?>hf&?8?\?t8?x>xy?GO?43>hf&?X?\?PX?x>w7>@2qxs?>hf&?d?\?Y,d?x>^/'?hf>hf&?X?\?>PX?x>>z7ݻqxs??hf&?8?\??s8?x>z?y%O? ?hf&??\?8?w?x>v8?O@y??hf&?>\?X?>x>PX?qxssHW1x7>hf&?hf&?I72\?d?x>.d?I52533?hf&?\?X?x>PX?pxs{˱|7@?hf&?\?8?{x>s8?O6r+yL?hf&?8\??v8x>w?y׾OY?hf&? X\?>PXx>>v7#m2qxsiff?hf&?d\?.dx>Yմ63s?hf&?'23uxs533?zx533?N533?>|?Dpxs? _1~7>>533?ux>|?'O?2y?>533?'?533?D?q2qxs?>533?O?533?D?D?|?>{7-%1pxs??533?'?'?|?.u>y:J1O? ?533?tx>|?'?O&.y??533?>|?D?qxsJR2y7>hf&?533?k&2'|?*u>yOY?533?D D|?>v7!;2qxsiff?533?OP_3uxs@?Ծz?rԾ5?oO?y=@?_z?(,%_5?|%,qxs?ȱu7>@?4z?55?f5?S4h4L>@?_>z?(,4_>5?{%,pxs?627>>@?>z?r>5?oO?-2y?>@?r?z?Ծo?5?Ծy?2O?43>@?(,?z?_|%,?5?'_v7>'Zqxs?>@?5?z?,f5?5?n62?hf>@?(,?z?_>|%,?5?._>z7xqxs??@?r?z?>o?5?>y1O? ?@?>z?r?>}5?o?O6y??@?_>z?(,?*_>~5?}%,?qxsDj2w7>hf&?@?@u2z?5?5?g5?t2533?@?_z?(,?3_~5?}%,?pxs|7@?@?Ծz?r?Ծ}5?o?Ok<yL?@?rz?>o}5?>y1_۲OY?@?(,z?_>~%,}5?+_>w7g0qxsiff?@?5z?h5}5?ݣ63s?@?zxލ?J䰾O?o#?l-@3uxsL?J䰾ލ?zx dN?pM?\gu=L?9ލ?<@O?Kju?ȴL?_ލ?y;@O?F?|=GCL>L?9>ލ?r7>@O?>L?F>ލ?vx>@O?pP?|=?>L?ux>ލ?H䰾_>dN?SO?;7O?43>L??ލ?9I ?P|P?7>-YL?y?ލ?q?dN?;|"L??ލ?9>Zx?dN?5>\;gs??L?tx>ލ?E>_>O|P?<>[I-Yލ?sx>">dN?v>Mgt??L?9>ލ??<>@O??Kjuȴhf&?L?01ލ?y?@O?F?|=HC<533?L?9ލ??5dN?]x?gsw;@?L?D䰾ލ?rx>=O|P?_>OAL-YwdN?#>tgMY?L?ލ?9>dN?@>$֝L;Tsiff?L?yލ?O?=Z; 1;63s?L? ?rB}Ud?{dw!?/hLY?=ܕ?R侎w=d?⾭1|?Ƞfff>Y?v>ܕ?v!>^c?;- :?:5/?gf>Y?> ?f>bd? ӝ>s?>Y?R>ܕ?¦=؏>d?K+=3 R9|?53>Y? > ?n>.>bd?E>bܕ?">ŗO>^c?WMk<> ?Y?ܕ?R>P?ed?}>W}K9?Y?m ? >Qe?V>iP|uL?Y? ;ܕ?Q>bоc?U>K;!;Oyiff?]8)?7*~2:ps?{a?MB=:33=iff?SF=?Q&B=Zt?񺖾$Y?-=fff>iff?K`>?H`R>ht?G[*?<>?gf>iff?>?7SF2>LZs?;A?>1WDs{?>iff?H3>?>A>LZs? >76?F3>f~>ht?Y(>c )}> ?iff? 2}t?&>)xtqxt?7>|& =>z[hfV?iff?:m?EE|?ݑV> 63s?#>?s<>}?63s?i<?#>"{v񻫼H>,?63s?1%}?R=xM}?=LhfV?63s?@).?XWJԋA?o7;M'???:mEC|ݑ{>Z'" v%<%x>,?L=#>w<>}<(Fνj L=[K=4:=a}R  d?lC>̌>L=Y⽽%}5aL}xaj?{ż;33=L=%| |^6 Ų463s?hf>yp Dxpd6 D]7>FCluxs?hf>yp D>xp_6 D>v70qxsiff?hf>L מ?ʎL^6 ?ylU:2OY?hf>מ L?_6 ɎL?O`n8yL?hf>D yp?D`6 xp?pxs||ձ{7@?hf>-K2 '|?`6 |?0]N)/533?hf>D> yp?D>b6 xp?qxs.L1w7>hf&?hf>؞? L??_6 ʎL?O.0y??hf>L? ؞?ǎL?]6 ?yF0O? ?hf>yp? D>xp?_6 D>{7pxs??hf>)|? Tq|?_6  #?hf>hf>yp? Dxp?a6 Dv7>ϛ<1qxs?>hf>L? ڞʎL?^6 y?~1O?43>hf>ٞ? L?^6 ɎLO?{ky?>hf>D> ypD>`6 xppxs? 7>>hf>P| -|`6 |?._1L>hf>D ypDd6 xpqxs?_1u7>hf>ܞ Lf6 ʎLO?y=hf>L ܞɎLf6 y?0OL=hf>qxsލws=Qγ85463s?>gލyg =mx\7>$ uxs?>ߍgލy>g=x>u7o!qxsiff?>Dލ? D=5?yFOY?>ލD?6= D?OyL?>yލg?x=g?pxs{{7@?>C2ލsxs?=ws?r533?>y>ލg?x>=g?qxsw7>hf&?>?ލD?4?= D?O2y??>D?ލ? D?=8?y2O? ?>g?ލy>g?=x>{70pxs??>uxs?ލ`hws?=/j?hf>>g?ލyg?=xu7>GX2qxs?>>D?ލ D?=3y?(?1O?43>>?ލD6?= DO??I1y?>>y>ލgx>=goxs?Hv#27>>>@Nsލyxs=ws?[߿2L>>yލgx=gqxs?^)1t7>>ލD3= DO?+bC2y=>Dލ D=5y?OL=>d\.dxZ463s?43>X\SXx辢^7>?uxs?43> X\>PXx辸>v7|0qxsiff?43>8\?v8xw?ya>2OY?43>\8?zxt8?OC8yL?43>\X?xPX?pxs|7@?43>I72\d?x.d? 62J1533?43>>\X?>xPX?qxsypx7>hf&?43>?\8?w?xv8?OcF2y??43>8?\?s8?x{?yz\2O? ?43>X?\>PX?x込>z7t>2qxs??43>d?\Y,d?xr ?hf>43>X?\PX?x辺x7>!qxs?>43>8?\t8?xyy?K۲O?43>43>?\8z?xs8O?ky?>43>>\X>xOXpxs?-17>>43>c\dx,d?<3L>43>\XxOXrxs?2t7>43>\8wxu8O??y=43>8\t8xyy? m2OL=43>O<˿O|C(463s?>D<˿ D|^^7>uxs?>D<˿> D|>v7RC2qxsiff?>ߍ'<˿rx>'|*u>yќOY?>rx<˿ߍ'?,u|'?OXyL?><˿D?|D?pxs |7@?>k&2<˿O?|O?2:V@533?>><˿D?>|D?qxs%Yy7>hf&?>tx><˿'?&u>|'?Oc0y??>'?<˿tx>'?|.u>y ;O? ?>D?<˿>D?|>z7~2qxs??>O?<˿EO?|/q?hf>>D?<˿D?|w7>0Eqxs?>>'?<˿wx󾞋'?|*uy?MfϲO?43>>ux><˿',u>|'O?2y?>>><˿D>|Dpxs?x}7>>>N<˿O|O?ŏNP3L>><˿D| Drxs?2t7>>zx<˿'&u|'O?BPɲy=>'<˿zx󾝋'|*uy?UOL=>5zڿh5}5}~ 463s?>(,zڿ_~%,5_^7>]uxs?>(,zڿ_>%,}5+_>v70qxsiff?>rzڿ>o~5>yF氽OY?>Ծzڿr?Ծ}5o?O#2yL?>_zڿ(,?3_~5~%,?pxs{2|7@?>@u2zڿ5?5g5?,Zg_533?>_>zڿ(,?,_>5}%,?qxsEx7>hf&?>>zڿr?>~5o?O= y??>r?zڿ>o?~5>yWv2O? ?>(,?zڿ_>|%,?5._>z7n8!2pxs??>5?zڿ,f5?5M>>?hf>>(,?zڿ_|%,?5)_w7>邲qxs?>>r?zڿԾo?5Ծy?7O?43>>>zڿr>5oO? y?>>_>zڿ(,5_>5{%,oxs?V97>>>4zڿ55f5?(峎13L>>_zڿ(,$_5|%,qxs?:2u7>>ԾzڿrԾ5oO?Ϊ2y=>rzڿԾo5Ծy?nS2OL=>yލO=Z;ux-<63s?L>ލ翹9O9^7>z*uxs?L>ލ翱9>dN@>k\eg8tiff?L>rxލD>wdN">;NY?L>D䰾ލrx>=O|P_>~Q-Y<L?L>9ލ翾?5dN\x?+rigi@?L>01ލy?@OF?.ȴ9>ލ翾?<>@O?;at|=d>hf&?L>E>ލsx>4>@Oi>%Kȴtx>ލE>f>@O5>}=GIM? ?L>?ލ翳9>?@O<>Cȴy?ލF?@OHC|=?hf>L>?ލ翵9?@Or7+>ȴ<L>ux>ލH䰾p>@O?|=P?43>L>F>ލvx>@OpR?ɴ<<?>L>9>ލr7>@Ot~r?|=>>L>_ލy;@OF/?ȴL>9ލ<@O;at?|= d>L>J䰾ލzx dNpN?1;=L>zxލJ䰾Op#?!1;NL=L>rq辀 6f"%:퍽2=o~63s?>ݾ jwپd y>&;Bs?> ;ܕQ>dоcU>!e`?>m >QeV>W|Rɔ<L?>¦ܕR>P>ed~>&~E<9?>Q>ܕ">BR>QdT>:b ?>&>ܕQ>T>QdBR>54<6e?hf?>R>ܕ򿽦/>Qd琽B0>>v>ܕv>Qd7?<"2?gf>>=ܕR侑w=dK@~?<=fff>>Qܕ&;QT]cѾдk?AAƾ>> rB{Ud{1 ?滩RGL=>d.vý,*sEt/>F<2|y?=/*~)W8>tqxt7>F(JPhfV?=;SF>!2}t&>Opz}kS9?=>F3>2B>8t<> ]9>;>8t1B>EAG`?hf?=>=SF>8t*72Y>9<z?>=K`>H`V>8t][60?A,9?gf>=SF=V&B=Zt񺖾? =I=fff>=]8)6*~2:ps{\?B )r33==zxs7fHsv !\7>'Quxs?">zxs?7fHsv =!\7>'Q1uxs?Dv>O?yNw =e[y?WOL=?zxs?7fHsv =!\7>'Q1uxs?y?Oc[y =NO?+0y=?7?yxs9w =cHsrxs?wt7>??q =x?ɝ2T/L>?}7>?wxsD>w =aHspxs?17>>?y??Oe[?y =NO?-0y?>?O??yN?y =c[y?!UO?43>?uxs??}7cHs?u =;v7>H/qxs?>???Vtx?r =].?hf>?uxs??|7>cHs?t =B>|7߰pxs???O??y?N?v =h[?yIO? ??y??O?c[?x =N?O=/y???{7>?sxs?:>_ =cHs?qxs˹r1u7>hf&??hM2??@ =x?7F+-533??{7?sxs??] =cHs?qxsOy7@??y?O?f[y =N?Oe/yL??O?y?No =c[?y-OY??qxs?z7>cHs] =<>v7kb0qxsiff???xc =PѰx&63s??zxs?7fHsv =!\7>'Q1uxs??yp ?Dxpd6 >D]7>T2uxs? ?gލ?yg =>nx]7>u2uxs??X\?SXx>]7>a3uxs?hf&?D23uxs?533?(,z?_~%,5?_^7>P_3uxs?@?ލ?9O?9]7>@3uxs?L?ݾ ?jwپd? o>hL!;Oyy?iff?:m?EE|?ݑV> ??@).?XWJ%> ;Cp???@).?XWJXzS???@).?XWJ+3gP??@).?XWJtIX???).gWJ+<=gP?).gWJX;zS??).gWJ%> ԻCp??).gWJ$h?/>?).gWJՋA?c7L'??:mEC|ݑ{>Z''Quxs??xc PѰx&363s??qxsz7>cHs] ;>v7/qxsiff??Oy?No c[?yOY??yO?e[y N?O yL??{7sxs??w cHs?qxsy7@??hM2?s x?9533??{7>sxs?=>x cHs?qxsW w7>hf&??y?O?c[?y N?O=y???O?y?N?v h[?yI1O? ??uxs?|7>cHs?t B>|70pxs????Vtx?r ]?hf>?uxs?}7cHs?u ;v7>Hqxs?>?O?yN?y c[y?!U0O?43>?y?Oe[?y NO?-y?>?}7>wxsD>w aHspxs?7>>?q x?ɝT/L>?7yxs9w cHsrxs?w/t7>?yOc[y NO?+y=?OyNx e[y?ҪOL=?yp Dxpd6 D]7>FCluxshf>zxs7fHsv !\7>'Quxs?gލyg =mx\7>$ uxs>X\SXx辢^7>?uxs43>D<˿ D|^^7>uxs>(,zڿ_~%,5_^7>]uxs>ލ翹9O9^7>z*uxsL>ݾ jwپd y>&;Bs>d.vý,*sEt/>F<2|=4@?@?EA?CylinderX3??? *+*    ! ! !" ""###$$$%%%&&&'',-.,./0(12(01(C3(2C(B4(3B(A5(4A(@6(5@(?7(6?(>8(7>(=9(8=(<:(9<(;;(:D)EW)DE)FV)WF)GU)VG)HT)UH)IS)TI)JR)SJ)KQ)RK)LP)QL)MO)PM)NN)OX (0@{x7uxsY7[7>vxsL=9k9{l=g*;yϾyOO?yxϙ>9΀=g*;7yxs7qxsrxs?s7I>9b >g*;??9S>g*;7>xx~7>pxspxs?~7>?9҂>g*;y>Ͼy?OO?y?X53?9R#>g*;>yO?yy?O?L?9t>h*;ux>|7qxs?u7v7>qxs? \f?9>h*;????9k>g*;ux>|7>qxs?{7>{7pxs?=9?g*;>y>O?y?yO?0QM>9e[ ?g*;y>>y?O?Oy?jϙ>9?g*;|7>sx>x7>qxs?qxsx7>8>9&?g*;2???9QT3?g*;y7rx>|7qxs?pxs|7?9??g*;y>yO?OyO53?9L?g*;Ͼy>Oy?yOL?9MMY?g*;qxz7>qxsx7>x7qxs\f?9e?g*;}?9 r?g*;{x?7uxsY7Z7>vxs%=?<~"?Ͼ?yOyy?OAQM>?{l=~"?y?ϾyOO?yxϙ>?΀=~"?7?yxs7qxsrxs?s7I>?b >~"?????S>~"?7>?xx~7>pxspxs?~7>??҂>~"?y>?Ͼy?OO?y?Y53??R#>~"?>?yO?yy?O?L??t>~"?ux>?|7qxs?u7u7>qxs?$\f??>~"???????w>~"?ux>?|7>qxs?{7>y7qxs?0=??~"?>?y>O?y?yO?5QM>?e[ ?~"?y>?>y?O?Oy?jϙ>??~"?|7>?sx>x7>qxs?qxsx7>8>?&?~"?2?????QT3?~"?y7?rx>|7qxs?pxs|7????~"?y?>yO?OyN53??L?~"?Ͼ?y>Oy?yOL??MMY?~"?qx?z7>qxsx7>x7qxs\f??e?~"??y?? r?~"??۴?> ?S???*&3?>3>S????t5:9k>g*;????5:?w>~"?5:9 r?g*;?p5:? r?~"?{x?7uxsY7Z7>vxs%=?mF?~"?{x7uxsY7[7>vxsL=9mF?g*;ϾyX?}u=GJ?>.xm?{x79?0<;'?.q>Na?yϾmn?mОU>Mf?%>w?7yx {?<䞱>x?<?WR}??2?~? ?u?7>xx {?<>M'?x?5?WR}?y>Ͼmn?m>J?Kf?B_'?w?>yX??f?AJ?1?+xm?ux>|79?0?x?;'?i97?Na??W? ?+?>*\9?S?ux>|7>?}͇x?5z>i97?UF?>y>?k^f?UU>1?+:?y>>?J?=;_'?E0?|7>sx>?/ʹM'?E<5?Q*?2??`,X?z; ?.(?y7rx>?t؞>ZF<<?Q*?y>?9ОU><=%>F0?Ͼy>?)u=UU>>+:?qxz7>?3T4q>UF?W? @;>+>S?{x?7?x?;'?>Na?Ͼ?y??[7f?GJ?6>.xm?y?Ͼ?!oJ?Mf?bΌ>w?7?yx?v܇M'?x? h>WR}???ϳ?~?3>u?7>?xx?5>x?&=WR}?y>?Ͼ? 65U>Kf?t՘=w?>?y? 5u=CJ?W4=(xm?ux>?|7? 5L<;'?!P;S?ux>?|7>?90?<7z>!P?y>?X?u=UU>4=+:?y>?>?mnm>U>=՘=E0?|7>?sx>? {=>>E<&=Q*?2???2?z;3>.(?y7?rx>? {<M'?E< h>Q*?y?>?mnmJ?=ZΌ>C0?Ͼ?y>?Xf?UU>0>+:?qx?z7>?90x?;z>>UF???W 1?>2Ȱ>S?3????L ASphere ???llmmmldd0/0//011k1kklk.lkklcdcbcbb..-bbcbcdc--,dgdggfffeee"""!!!   jmjjjiijjihihiihh(h(h+++***)),),'('&'&&###$$$%%%y yppxyxHGHGG22HI23IwwxIw334wFxwwopo4non4nFFEn7nonopo7766655858989:9::qq=qrrq=qqr<=srpsps<;<rrs;;>ss>>???@vvvuuut@t@tADADEDBAEBCBCCxyxyyJJKJKLKLLzz}O}}zzO} NO z{{z~} }~{~N MN{{||{~| ~    ~SSST||  |    TTU UU     R    MM    RRQ   Q  QP PPVVWV"" W"  XW%"% !X!X"# %#"#! %![#$!$!%&#&%&$#[.Z[.&$.&'$'&'$Z.+YZ+'''./+.//  /00   0 ,/0+/,336639996-0,0-(+,Y+(Y(((,)()),-))*)-**-*-9**98889678778657855637475445324522324142112111<<<;<;<?;?<?:;::;>?:>;?B>B?B =::=>=>AB=A>B AB @==@A@]]A@A]@@]\\]ZZ\]ZWZWW\[[[\ZYYZW[\YVWYWVV[X[YXXYVXUVXVUXUUUU\C\CC]\FCFCD]FDCD^]IFIIDE^E^FGDIGFGEDJIIJGJEaGHEJHGHEKJJKHKaR`aRHKHRKK`RO_`ORSSORSTSTT_OL_LLOSPPSTLOPQTPTQQLMLPMMPQMNQMQNMNNNNgggjgjghjhghmjmhiijkhmkjkihmiklilimnknmnlk``vvn`lvnolonol_`_vss`c_c`ocoovwsvww^_^^_bc^b_a^^abacfbfc f wxx dadaebbefadef efddeed x twxswt{{~~{~uxtxupstspppptqpqqtuqqrqurrururr~~}}}~{|}||}{z|}zz{z|y|zyyzyyy (0p^>^^:?:; 4?L˺75?b>>&:>.:>^>^^>:?:;?;5_ۺ4??>&:>b'?^^^::;;5?ECۺ 4 =>b'?.:>^^^>;::?4^˺75_?>b'?b'?=>g>=⓾ƹ??ƹg/5?ȩa4?b>/?":1?>=>g>=>ƹ??ƹ?4`cú55??/?":1?4=⓾g>=⓾ƹ?ƹ4?Pú55 =/??>=⓾g>=>ƹ?ƹ?g/5Ʃb4_?/??4yEx?5>9< ? ?31? ף?`u{?@B>x?X?ċ>?30\?RD滟ou:xT;?jV>:?>>3{#?H޻~?  t??:?>>31\G滆oìu::X̒?:?>>pQ*LBD?Oӷ E4~>:?X?>`e||55?L2;M2~>> ?.:>||55m::m:q>b'? ?u3||>55?B2;?2;??> ?b'?|>| #35?577?jV>>&:> ? >>m 5?z4?0Q0Q;T?jV>9?":1?ċ>u3> >z4?m 5?Ѻ:??9?X?4 >m 5z4?Q;Q;T̒?9??ċ>(> z4?m 5?6Ѻ/Ѻ~>9?X?>> >5?*5?5ϑ>85??:?> >g 5?t#55?.=85?b>:?>> .>5*5?5 >85_?:?>4 +g 5t#55?r>85 =:?>&:>u>R(R(C >ſſE?PJ"??>>>.:>9.>ffi>)*)*cf?8<>@>Ĕ>>.:>X=.5>)2)2x?|"z<m>竓>>N>.:>uR(R(X ˿PI?[\;;>>$?.:>9.ffq)*)*b?D<֌̜1>Ĕ>h?.:>X-5)2)2`x?*6qzcV>> ?.:>R(R(uſſC g?nP]I`=>b'?>ff9.)*)*i#>b b=Ĕ>b'?.>X)2)2.5 p>@Pb'?N>R(R(u>˿X > "^ =ENd?>b'?=?ff9.>)*)*q>N߾c}мFfBl?Ĕ>b'?~?X=)2)2-5> oa`xDtu?>b'? ?uR(R(>C ſſ?EJ"}Z?>$?b'?9.ff>c)*)*?cf8<޾8R?Ĕ>h?b'?X>-5)2)2?x!z<mI?> ?b'?u>R(R(>X >˿?RIKZ;?$?>>b'?9.>ff>j>)*)*?b<ό>N,?Ĕ>>b'?X=>-5>)2)2?`xl6q>v5?>N>b'?R(>R(u>ſ?ſC >awlT]I??>&:>=?f>f9.>)*?)*i>#}b b?k?Ĕ>&:>~?>X=)2?)2 .5> p@P&:> ?R(>R(uſ?ſC "?z =E?p>>&:>>f>f9.)*?)*iN>|мFf?>Ĕ>&:>.>>X)2?)2 .5o>|`x?U>>&:>N>뱞>@>v?m??S*c< L?p>m2?":1?Vډ>9>é>\."*?&*?@ˮ>&6?":1?Ql>=>DZ>3j02?z$2?E58u>}n;Sx?U>~8?":1?D>뱞>@>v>?m?>QF}K??m2?":1?=9>é>\.>"*?&*?Gˮ>A澝ud?k?6?":1? ==>DZ>3=g02?$2?H5>z?x? ?~8?":1?R=v>@>뱞>>m??K6<?$?m2?;?4\.>é>9>Gˮ>&*?"*?dK N,?6?D?43=DZ>=>M5>~$2?g02?oXxy;x>v5?~8?RN?4v@>뱞>m??)LXs.f}Z?m2?4'v?4\.é>9>Gˮ&*?"*?6dHP8R?6?Nl?43󴽮DZ>=>I5$2?g02?sxvI?~8?ub?4뱞@>v>m?>*c< LPd?m2??=9é>\.>"*&*?Gˮ> F&3=h02$2?M5>8um;RxDtu?~8??R=뱞@>vm??SF~K`=m2??Vډ>9é>\."*&*?Gˮ?>'ud=6??Ql>=DZ>3h02$2?M5z>×?x"=~8??D>v@>뱞m?K?6<;>m2?4'v?>\.é>9:ˮ&*?"*d? <z̜1>6?Nl?>3󴽮DZ>=>5$2?h02oXx?hy;xzcV>~8?ub?>v>@>뱞>m?)L?Ys-f??>m2?;?>\.>é>9@ˮ>&*?"*8d?GP>@>6?D?>3=DZ>=>5>{$2?k02sx?v>髓>~8?RN?>R(>uR(>?m ?;4W:5??(e>8=f>9.f>)*?z)*?74ū9 5??)>w=>X>1?a<1?58A5??>aQ=뱞>u>뱞>?O6>?"5f.:4??kC'?Zډ>9>R->9>$*? ˮ>$*? 59Q4?? ?uQl>=>6==>292?

(92?538H5??r?sD>뱞>u>뱞?O6>4?.˚:"5?b>kC'?Zډ>>9>R->9$*? ˮ>$*\4?9 5?b> ?vQl>>=>6==*2?5>*25?G9:5?b>r?tD>>R(>uR(?m 5?`:<4?b>(e><=>f>9.f)*?z)* 5?984?b>)>y=>>X{1?$?|1|5?wo69j5?b>>cQ=>R(uR(>ſC ſ?5`:.4_?(e>>4f9.f>)*i)*? 5b59;4_?)>>4X>1a<1?>5/ 85_?>N>4뱞u>뱞>e6>?4ܚ:"5_?kC'?:?49R->9>$*ˮ>$*?U4 9 5_? ?l?4=6==>.92H3>.92?C5$85_?r? ?4R(uR(ſC ſ.4?n:5 =(e>ȋ=&:>f9.f)*i)*:4??9 5 =)>s=&:>Xy1Q$?y1n5?49x5 =>{Q=&:>뱞u>뱞e6>"5?Tݚ:4 =kC'?Gډ>&:>9R->9$*ˮ>$* 5?9U4 = ?wQl>&:>=6==*25>*295?t{ 95 =r?fD>&:>¥G!Ӿp )TC_?gZ<ۡ~>G.o> ?>'LHkn'Ǿ~?!=Yſ~>2> ?.>G)Kpmνz"P'z?D0=U~>= ?N>pG!Ӿ ף2C )TS$? ?LH ѯ|'ǾkT= q1>h? ?mν"Pzi>ڼ}q5= ? ?L3G!Ӿp> )TC?uu$ ?=?RLH>kn'>LI=5=??2> ?~?Rpm=z"P>~7G!Ӿ #3C? )Tܰc?jV>G.o>> ?LH>2n'>kd׽5S~?jV>i->> ?pm= #"P>zC$|?jV>=N> ?>b>\³4?2T?k$;P?jV>=C?;?ċ>{H>\>>rk?ch<8?jV>FP?D?ċ> =K>p= GN>|z?">f?RN?ċ>L3b>>2T?4?PsZ;??=C?X?=3\>{H>wk?>L92ڒ=??FP?X? =2K>R =|z?GN>^|.>??f?X?R=򏾏b>42T?;H;P̒?=C?4'v?ċ>{H\>ƾwk?=R ϽK>GN~z?Rk;>.=}{s?+f?ub?ċ>b>2T?4P?w~>=C?X?Vډ>Q\>{Huk?ƾ8? ~>FP?X?Ql>p=K>R Ͻ|z?GN~?jx̼1~>f?X?D>G!>p #)T?Cӵ:F:?jV>h><=>>LHk?}'Ǿc{̡?jV>>x=>>mν #pz?xCT갹9c?jV>>bQ=>3>-9>T?H? ?܉5T? ?:?>@=3>. C>Kl? >ľsE7CMl??:?>={>-=z?1nmI>9oIv& z? ?:?>R=>Gy>)\4ET?V?rH:?jV>-?Zډ>>p>f&H> #k?>N8v?jV> ?vQl>>{>Rh={.z?CM>9P:?jV>9?tD>>>g<T?>:?>;ډ>p>g{Hk?8 cƾ,>)!k?>:?>Ql>{>ΤgR Ͻz?[PL L>X;Pz?>:?>D>)\3pG!>C )T?w F::??h>>>=3LH>'Ǿk?f }??>>>B3mν>Tlz?R??>N>>9p= .3>H? T?T5܉W?:?>= C{3>ľ Kl?CMluE7ľl P?:?>`=ǽ .{>mIoz?~z& >oIG?:?>S=)\3Gy>>V?4ET?lI:??-?:?> ף3f&H>p>>k?w* 78?? ?j?> ף3h={>M>[z?5[>47??9? ?>9>p= 3>?H? T?TGN܉?,S'?:?>Rډ> C>{-3>> Kl?CMl~ >4/?:?>Ql>=\{>nI>nz?~z_5AoI>U7?:?>D>G!Ӿp #3)TCXF:̒?h>̋=>LHz%3kn'Ǿ 83̒?>t=>pmν #3pzgCTݰt:̒?>|Q=>Ӿ g<T{=:?>>pǡg{Hk8 cƾ+>8"kHp=:?>.>{ˡgR Ͻz\JLL>YPz=:?>N>ӾGy>4ETV?: I:q-?Gډ>>pf&H>k>q ?xQl>>{h=zCM>E(:B/q9?gD>>3Ծ˭9>TH? ?܉NTFg?:?>5?3쾙 C>Kl >ľ!CMlb(o?:?>x?{=zomI>:oIe5zHw?:?> ?2pG!ӾC )T?F:9~>h>;?>-LH}'Ǿk?áޙ8~>>D?>-3mνSuz?qќr9~>>ZN?>>gӾK!?^<T?^8"?~>:?X?~>{H>gp`>8 k"k?臟8)>C>:?X?">R =Tg{JL>[zPz? YL>>:?X?N>\BGy>ӾW?2ET?I::~>-?D'v?>Gaf&H>p>k?7dB~> ?Nl?>kh={L>Kz?5s:F9~>9?ub?>agӾK!i^<T?Dg"P>:?X?8?{Hgpaƾ8 k"k?+ƾ3=>:?X?z?R Ͻg{ULw\zOz?HX;L]>:?X? ?w~>G w~!>T6!5?ϛ35?b>>>>33>=žOϲ>MFh}T? ?>h>>>G=RϾ r8>VP 9w? 7= m>H3>s>N>>>=ž33?MFOϲ<?]u<%R?(>h>>.>[<>پ[<>Z黾6@? =(?b>.\[>>.>=澅DBA>΂gľi?Mt<>>>>N>.> >RϾG ?VPr8b>M"y?>s>>N>D>>΂gBA>*:D=e?>Wy3>>N>>= >ʽJ>uJ@?ȟ+>N>N>w~G w~!T6!5?J5 =>$?>=ž33MFOϲ ?+;Vռ=h>$?.> RϾG VPu8 ">Y=5v]J=s>$?N>33=žOϲMFV?+޻ ">h>h?>[<پ[<黾Z黾x"4?A;5 =`V>h?.>Dľ͂gBA>qp<h,=a>>h?N>GRϾ u8VP v?(U TK>s> ?>澅DBA΂gľ"ci?2†9Ҿ`4>>=> ?.>>ʽ >ʽJuJ,?Z<4=5>g> ?N>w~G w~>!T6!>5Z 5_?>$?=?33=ž>OϲMF?cWNIh?=?GRϾ >u8VP ?7jxe=p ?=?=ž33>MFOϲ>qr@Xg?h>$?~?[<پ[<>黾Z>~0ke 9_?`V>h?~?澅D>BA΂g>%h(p]<"վh>R?7:> ?~? RϾG= VPu8>d+Swr?s>$? ?D=ľ͂gBA><5ӾM}u+ifl?a>>h? ?>ʽ >=JuJ>ΰ5d6:gX4a?> ? ?w~>G w~>!>T6!>5=5??>>=?>=ž33>?MFOϲ>f QgU?V?h>>~? >RϾG= ?VPu8>H-B> ?33>=ž>Oϲ>MF?gU<9f ?'?h>>=?[<>پ[<>>Z>6GYP3??.\[>>~?D>=>΂gBA>޾"g;sf?J?9>> ?G=RϾ >v8>VP ?uȼڐ>Ƽ2?s>N>=?=澅D>BA>΂g>=iȓ>,?y;>N>~?>= >=J>uJ>?NWj)?u?mG>N> ?7>->7>T`6?5?S35?b>9?;?Vډ>\>=r>3?IF?1g(?^R?(>n>?;?Ql>>>=bQ ?%P?%8y>FRM=Ow?>#B?;?D>3>=r>\1>IF?R?]n>?D?Vډ> <>> <Ի>Z?Ի5?K5?b>;WE?D?Ql>=BE>>1½>8g?AZ>&O?D?D>=b=>8>'P?R Ow?:RMy>H3>#B?RN?Vډ>1=>=BEuA>:g?þkqj?'tZ>>O?RN?Ql>f=Y>fʽI>u?"In5?wm4?b>^?RN?D>7>->7>>T`6?>5  5??9?;?=3>=r>\>1>IF??V1x;~ ?'?n>?D?==b=>>%8>%P?Q ?٨r+>Ƽ2?#B?RN?=\>=r>3>?IF?1>~ *xV?V?n>?;? = <>> <>Ի>Z?Ի>5mq5??;WE?D? =1=>=BE>yA>:g?>\g3 ;>,?O?RN? =>>=b=R ?'P?#8>,;٨r?p ?#B?;?R==BE>>1=>8g?A>۾ \g?J?O?D?R=f=Y>f=I>u?I>58x94??^?RN?R=7->7>T`6?>535_?9?4'v?=\=r>3>IF?1>i(Y^Rg?n>?4'v? =>=b=R 'P?&8>y1RM=Nwr?#B?4'v?R=3=r>\>1IF??RL^?Nl?= <> <>ԻZ?Ի>5Jo5_?;WE?Nl? ==BE>1=þ:g?yA>լ#=(nfl?O?Nl?R==b>>#8'P?R ?Ow@RM y=BE>xA:g?>mJh>R?O?ub? =fʽY>f=Iu?I>q{2a;7_?k`?ub?R=7->7T`6?5?*5 =9?4'v?Vډ>3=r>\"IF?V?x;~ ">n>?Nl?Vډ>a>8'P?R ߨr?'TK>#B?ub?Vډ>\=r>3IF?1~ ?xVռ=n>?4'v?Ql> <> <ԻZ?Ի5?25 =;WE?Nl?Ql>1½>=BEoA8g?þ\g?;۾`4>O?ub?Ql>>=bR 'P?#8>-;بr]J=#B?4'v?D>=BE>1½þ:g?yA> \g,=O?Nl?D>fʽY>fʽIu? I5?E15 =^?ub?D>G >w~w~|T6?#"!y?b֣R?pt>><=;ډ>=>33MF?7ϲ>> i?>><=Ql>R> GVP? v8K \>Afz?%>><=D>=>3MF?jϲ?S?u>>y=;ډ>>[<[Rk?>k>y=Ql>>D͂g?ľBA{P>[y٠z?}>>x=D>R>G =P?~aBM T?>~T?>$>cQ=;ډ>>Dy"g?I[þ {>B?Nk?M>>cQ=Ql> >>ʽ>ʽu?P2HZM>~:z?>]>bQ=D>G >w~w~>|T6?#"!>'!b;wR?1?>8=@==>3>MF?jϲ?^:ҷS??>w=@=R>G >=P?F@ ? %7*NT??$>aQ=@==>33>MF?6ϲ>оW;i??>8==>[<[<>Z?껾> ɾ`:Nk?I?k>x==>D>]g?,IU>ƾ1k?C?>bQ==R> G=VP? r8>-[D h;z?X?><=R=>D=͂g?ľBA>P{:ˠz??>x=R= >>ʽ>=u?DDQiG>KoY5z?#?]>bQ=R=롵>w~>7>h6?(>>S$R?2?$(?Zډ>@={> >3>8`F??1ɲ>,оi??+?Zډ>=^>>=b=P? ?8>0[- uz?X?-?Zډ>R={>2>\>#hF?> ?BS??6?uQl>@=^> '<> <>Z?g>G>].ɾhk?I?H?uQl>=1>=rD>1=g?J>,A>xP'mz??{n?uQl>R=^>=>NP?۱7>; ?,nxoT???sD>@=1>y==BE>jg?gA>> ƾ~Il?C??sD>=̼>0=f=u?uNJ>MG>KFz?#?R=롵>w~>7h6?(>?ַ;UR?nt>$(?Zډ>;ډ>{>2>\#hF?> ?U:S?u>6?vQl>;ډ>^>=OP?8> %?q;:?tD>;ډ>{> >3;`F??#ɲ>s;xi?>+?Zډ>Ql>^> '<> ?7>θ;fk?>H?vQl>Ql>1>y==BEJg?A>tþ>:qk?M>?tD>Ql>^>>aP? ?8`[>y-?Zډ>D>1>=rD>1½g?T>,AuP>:z?}>{n?vQl>D>̼>0=fʽ u?A=I>ZQIN@M>"ҷ9z?>D>w~>w~G >">"pT6?£RF_y?&?>>Rډ>3>=>@ϲ>MF? i>E.?>>Ql>= R>$8> ZP?zn \>޵6?>>D>>3=>?OϲMF? S⺱?.'?>>Rډ>[<>[<>>黾Z?Rk>=/?k>>Ql>=D>BA>ľ΂g?۠zvQP>27?>>D> >GR> ?F@=P?NTe˸P ?T'?$>N>Rډ>D>>V>)I]g?k>5/?>N>Ql>>=>ʽ >iG>DDQu?zpz6_K>V7?]>N>D>w~w~G >!!T6?vRmN;7X?>>=33=>OϲMF?ַSw:bX?>>= GR> 4G@;P?,NTI7 W?$>N>=33=>Bϲ"MF?!iR;оqP?>>`=[<[<>黾껾Z?Nko:ɾ=P?k>>`=D>c¾HI]g?ke1*ƾP?>N>`= R>\8 VP?z"h;,[$H?>>S=D>BAľ˂g?ˠz:PZ H?>>S=>ʽ>ʽ >iGDDQu?z^Q5KG?]>N>S=7w~>롵>)>h6? RSX?$(?:?=3 >{>ɲ?7`F?izоqP?+?:?`==b>^>8 ?P?uz% .[$H?-?:?S=\R2>{> +> hF?BS{bX?6?l?= < '<>^>p>Z?hkQIs.ɾ=P?H?l?`=1½=rD>1>,AQ>g?mz=xPZ H?}n?l?S==^>; 7>RP?oTfy'W?? ?==BEy=1>¾fgA>og?Jl | ƾP?? ?`=fʽ0=̼>bGNJ>u?FzKG?w~>롵>>)>h6?aRˡ;֡?&?$(?:?Rډ>\>R2>{> ?+> hF?S =:?.'?6?j?Rډ>>=^>< ?7>QP?oT}9?T'?? ?Rډ>3> >{>ɲ>?7`F?si~;>E.?+?:?Ql> <> '<>^>!>p>Z?fk];7>=/?H?j?Ql>=BE>y=1>>fgA>og?l'9>5/?? ?Ql>=b=>^>8> ?P?QzP4b;[>޵6?-?:?D>1==rD>1>,A>R>g?zñ:uP>27?}n?j?D>f=0=̼>iG>NJ>u?&z8~K>V7?G w~w~>|T6!#">ychɣRΡf?>̋=5?=ž3>MFjϲ>о⽱i\9n?>̋=x?RϾ G=YP :8> \gzv?>̋= ?=ž33>MF6ϲ? Sl"g?>u=5?پ[<[<>Z黾>ɾiRk n?k>u=x?澅D=ӂgľBA>_P"\۠zt&w?>t= ?RϾG >;P4G@ ?V yȸNTGg?$>}Q=5?D>]gHIc>ƾmk)o?>}Q=x? >ʽ>=u:DQwiG>fK6zIw?]>|Q= ?G w~w~T6!!9?TL;vRؤ=>ȋ=>=ž33MFOϲ?x:ַS=>s=>RϾG =PaBJ [T?:ZTs=$>{Q=>=ž33MFOϲ>a;ih=>ȋ=.>پ[<[:Nk=k>t=.>Dt"gIfþz>'*A:Tk\e=>|Q=.>RϾ GVP r8-[>wh;z =>̋=N>澅D΂gľBAP>:ˠzp=>t=N> >ʽ>ʽuPH$M>H9gz=]>|Q=N>롵w~>7h6)>S? Rܤ=$(?Gډ>>{ž >37`F?ɲ!>Ezih=+?Gډ>.>^о>=bP ?8,[>n uz =-?Gډ>N>{žR2>\ hF+> ?NBS=6?wQl>>^ھ '<> t.>$Hhk=H?wQl>.>1=rD>1½gQ>,AxP>? mzp=}n?wQl>N>^о=SPd8> .&?>1y==BEOgA>tþI>Ykk\e=?fD>.>̼0=fʽuL=I>gQIL>ê׺Rz=N>롵w~>7>h6)>>֡ˡ;aRΡf?$(?Gډ>5?{žR2>\> hF+> ?::Sl"g?6?xQl>5?^о=>QP7>< ?6}9oTGg??gD>5?{ž >3>7`F?ɲ>о;ti\9n?+?Gډ>x?^ھ '<> <>Zp>!>7ɾ];fk n?H?xQl>x?1y==BE>ogfgA>>ƾ[9l)o??gD>x?^о>=b=P ?8>[o1b;Qzv?-?Gډ> ?1=rD>1=gQ>,A>uP;ı:zt&w?}n?xQl> ?̼0=f=uNJ>fG>{K8&zIw? ?w~w~G #"!|T6ɣR?^hy>>;?8?3=žjϲMFi?оw9>>;?z?G RϾ98 YPz?Gi \9[>>;? ?33=ž6ϲMF S?⺱ >>D?8?[<[<پ껾黾ZRk?iɾb<>k>D?z?D澯BAľ҂g۠z?{yUPB,]>>D? ? GRϾJ aB=PT?!T >$>ZN?8?DfþIt"gMk??{Ǿl9=>>ZN?z?>ʽ>ʽ 0HPuz?:ZM]>]>ZN? ?w~>w~G !>#"|T6 wR?c;&?P>>;?~>>3=ž?jϲMFҷS?qa:?O>>D?~> >GRϾM ?~aB=PWT?&:`T?>$>ZN?~>33>=ž6ϲ>MFi?߳;>!>>;?">[<>[<پ>껾ZNk? : >\>k>D?">D>Y>Iy"gXk?%A:z>@>>ZN?">G= RϾu8> VPz?Th;-[>A>>;?N>=DBA>ľ͂gˠz?:P>G>>D?N>>=>ʽ .H>Pugz?9$M>>]>ZN?N>7>w~>롵>)>h6 R?wS?P>$(?D'v?~>3> >{žɲ>?9`Fi?&{ >!>+?D'v?">a=>^о8> ?Pwz?Й [>A>-?D'v?N>\>R2>{ž ?+> hFBS??O>6?Nl?~> <> '<>^ھ>z>Zhk?Go.>\>H?Nl?">1==rD>1羫,A>Z>gmz?, xP>G>}n?Nl?N>>=^о ?b8>SP?ub?~>=BE>y=1t>A>Ogk?lI>@>?ub?">f=0=̼_QI>L=I>uRz? ׺L>>7w~>롵)>h6aR?̡;֡>$(?D'v?7?\R2>{ž +> hFS?<: >6?Nl?7?=^о c8>TP?ub?8?3 >{žɲ?9`Fxi?;оw9>+?D'v?z? < '<>^ھz>Zfk?];7ɾb<>H?Nl?z?=BEy=1tþA>Ogtk?m:ƾl9=>?ub?z?a>^о8 ?PSz?:7b;o[9[>-?D'v? ?1½=rD>1羺,A]>gz?⿱:uPB,]>}n?Nl? ?fʽ0=̼pQIN=I>uz?7:9A@M]>z}#m4?jV>=N> ?o v?d?5>9< ? ?n+?Z>h=9< ? ?||55m::m:̒?>b'? ?pG!Ӿ ף2C )TS$? ?LH ѯ|'ǾkT= ̒?1>h? ?mν"Pzi>ڼ}̒?= ? ?x">|_?6< ? ?& |?3>_?6< ? ??e\*?V?j< ? ?pm= #"P>z+mD x?jV>=N> ?31? ף?U]z?B>x?X?ċ>31? ף?u2&7?>?y?X?ċ>31? ף?/$x{>B`?y?X?ċ>31? ף?*m>(yB`?y?X?ċ> >m 5z4?Q;Q;Tq9??ċ>򏾏b>42T?;H;Pq=C?4'v?ċ>{H\>ƾwk?=R ϽK>GN~z?Rk;>.=}{qf?ub?ċ>31? ף?LD;?f.t>x?X?ċ>^>^^:?:; 4?L˺75?b>>2>R(>R(uſ?ſC "?z =E?p>>2;ډ>f>f9.)*?)*iN>|мFf?>Ĕ>2Ql>>X)2?)2 .5o>|`x?U>>2D>|>| #35?577?jV>>2>R(>R(u>ſ?ſC >awlT]I??>@=^>^^>:?:;?;5_ۺ4??>f>f9.>)*?)*i>#}b b?k?Ĕ>=>X=)2?)2 .5> p@PR==>g>=>ƹ??ƹ?4`cú55??/?>뱞>@>v>?m?>QF}K??m2?>@=9>é>\.>"*?&*?Gˮ>A澝ud?k?6?>==>DZ>3=g02?$2?H5>z?x? ?~8?>R= >>m 5?z4?0Q0Q;T?jV>9?>>뱞>@>v?m??S*c< L?p>m2?>;ډ>=>g>=⓾ƹ??ƹg/5?ȩa4?b>/?>>9>é>\."*?&*?@ˮ>&6?>Ql>=>DZ>3j02?z$2?E58u>}n;Sx?U>~8?>D>^>^^>:?:;?;5_ۺ4??> :>>R(>uR(>?m ?;4W:5??(e>>>u>R(R(>X >˿?RIKZ;?$?> :>Rډ>9.>ff>j>)*)*?b<ό>N,?Ĕ> :>Ql>X=>-5>)2)2?`xl6q>v5?> :>D>u3||>55?B2;?2;??> :>>f>9.f>)*?z)*?74ū9 5??)>>>>X>1?a<1?58A5??>N>>> >5?*5?5ϑ>85??:?>>uR(R(>C ſſ?EJ"}Z?> :>=^^^>;::?4^˺75_?> :>49.ff>c)*)*?cf8<޾8R?Ĕ> :>`=X>-5)2)2?x!z<mI?> :>S==⓾g>=>ƹ?ƹ?g/5Ʃb4_?/?b'?4v@>뱞>m??)LXs.f}Z?m2?b'?=\.é>9>Gˮ&*?"*?6dHP8R?6?b'?`=3󴽮DZ>=>I5$2?g02?sxvI?~8?b'?S=u3> >z4?m 5?Ѻ:??9?b'?>v>@>뱞>>m??K6<?$?m2?b'?Rډ>뱞>u>뱞>?O6>?"5f.:4??kC'?:?>=>g>=>ƹ??ƹ?4`cú55??/?b'?>9>R->9>$*? ˮ>$*? 59Q4?? ?j?>=>6==>292?

(92?538H5??r? ?>\.>é>9>Gˮ>&*?"*?dK N,?6?b'?Ql>3=DZ>=>M5>~$2?g02?oXxy;x>v5?~8?b'?D>^^^>;::?4^˺75_?>3b'?R(uR(>ſC ſ?5`:.4_?(e>̋=b'?R(R(u>˿X > "^ =ENd?>35?ff9.>)*)*q>N߾c}мFfBl?Ĕ>3x?X=)2)2-5> oa`xDtu?>3 ?||55m::m:̒?>3>f9.f>)*i)*? 5b59;4_?)>u=b'?X>1a<1?>5/ 85_?>}Q=b'? .>5*5?5 >85_?:?>b'?R(R(uſſC g?nP]I`=>2>^^^::;;5?ECۺ 4 =>2&:>ff9.)*)*i#>b b=Ĕ>2.>X)2)2.5 p>@P2N>||55m::m:q>3>G!Ӿp #3)TCXF:qh>̋=>LHz%3kn'Ǿ 83q>t=>pmν #3pzgCTݰt:q>|Q=>31\G滆oìu::Xq:?>>=⓾g>=⓾ƹ?ƹ4?Pú55 =/?>&:>뱞@>vm??SF~K`=m2?>>9é>\."*&*?Gˮ?>'ud=6?>.>=DZ>3h02$2?M5z>×?x"=~8?>N> >m 5z4?Q;Q;Tq9?>>뱞@>v>m?>*c< LPd?m2?>4?뱞u>뱞>e6>?4ܚ:"5_?kC'?Gډ>b'?=⓾g>=>ƹ?ƹ?g/5Ʃb4_?/?>b'?9R->9>$*ˮ>$*?U4 9 5_? ?xQl>b'?=6==>.92H3>.92?C5$85_?r?gD>b'?9é>\.>"*&*?Gˮ> F&x?=DZ>3=h02$2?M5>8um;RxDtu?~8?> ? >m 5z4?Q;Q;T̒?9?>>ӾGy>4ETV?: I:̒?-?Gډ>>pf&H>k>̒? ?xQl>>{h=zCM>E(:B/̒?9?gD>>^^^::;;5?ECۺ 4 =>*:1?b'?R(uR(ſC ſ.4?n:5 =(e>;?b'?uR(R(X ˿PI?[\;;>>*:1?8?9.ffq)*)*b?D<֌̜1>Ĕ>*:1?z?X-5)2)2`x?*6qzcV>>*:1? ?`e||55?L2;M2~>>*:1?>f9.f)*i)*:4??9 5 =)>D?b'?Xy1Q$?y1n5?49x5 =>ZN?b'? +g 5t#55?r>85 =:?X?b'?u>R(R(C >ſſE?PJ"??>>*:1?~>R(>uR(?m 5?`:<4?b>(e>;?&:>^>^^:?:; 4?L˺75?b>>*:1?&:>f>9.f)*?z)* 5?984?b>)>D?&:>>X{1?$?|1|5?wo69j5?b>>ZN?&:> >g 5?t#55?.=85?b>:?X?&:>9.>ffi>)*)*cf?8<>@>Ĕ>*:1?">X=.5>)2)2x?|"z<m>竓>>*:1?N>=>g>=⓾ƹ??ƹg/5?ȩa4?b>/??&:>뱞>u>뱞?O6>4?.˚:"5?b>kC'?D'v?&:>v>@>뱞>m?)L?Ys-f??>m2??~>\.>é>9@ˮ>&*?"*8d?GP>@>6??">3=DZ>=>5>{$2?k02sx?v>髓>~8??N>(> z4?m 5?6Ѻ/Ѻ~>9??>9>R->9$*? ˮ>$*\4?9 5?b> ?Nl?&:>=>6==*2?5>*25?G9:5?b>r?ub?&:>v@>뱞m?K?6<;>m2??7?뱞u>뱞e6>"5?Tݚ:4 =kC'?D'v?b'?=⓾g>=⓾ƹ?ƹ4?Pú55 =/??b'?9R->9$*ˮ>$* 5?9U4 = ?Nl?b'?=6==*25>*295?t{ 95 =r?ub?b'?\.é>9:ˮ&*?"*d? <z̜1>6??z?3󴽮DZ>=>5$2?h02oXx?hy;xzcV>~8?? ????Ҡ@@Capsule &???mmddlml0/0//011kkl1kk.lkkcdcbcbb..-bbcbcdcdgdggfffeee"""!!!   %%$%$#$##&&&'''(jj(h(hijiihh+hihiji++*jmjmmll*-*)-,),),y yppxyxHGHGG22HI23IwwxIw334wFxwwopo4non4nFFEn7nonopo7766655858989:9::qq=qrrq=qqr<=srpsps<;<rrs;;>ss>>???@vvvuuut@t@tADADEDBAEBCBCCxyxyyJJKJKLKLLzzzz}O}z{{z}{O} NO {{||{|}~ }~~SSST|||~TTUUU  ~ ~       N MNR     MM        RRQ   Q  QP PPVVWV"" W"  XW%"% !X!X"# %#"#! %!#$!$!%&#&%&$#[&$&'$'&'$[.Z[.'''.  /./ 0 /0+./Z.+YZ+33 0 6639996+/,,/0Y+((+,Y((()(,)),0--0),-)*)-**-*-9**98889678778657855637475445324522324142112111<<<;<;<?;?<?:;::;>?:>;?B>B?B=::=>=>AB=A>BAB@==@A@A@A@@]]]]\\]ZZ\]ZWZWW\[[[\ZYYZW[\YVWYWVV[X[YXXYVXUVXVUXUUUU\C\CC]\FCFCD]FDCD^]IFIIDE^E^FGDIGFGEDJIIJGJEGHEJHGHEKJJKHKaHKHKKaR`aRR `RO_`ORSSORST STT _OL_LLOSPPSTLOPQTPTQQLMLPMMPQMNQMQNMNNNN  gg gjgjghjhghmj mhiijkhmkjkih m iklilimnknmnlk``n`lnolonol_`_vv`c_c`ocoov^_^^_bc^b_a^^ab acfbfcf da  daebbefadefef d  deed  wvw  # x wxsvwvss{#{#" x ~~{~swttwxsppstpppqptqqtxuuxqtuqrqurrururr~%~}}}~{%|}|%|$}{z|}zz{"z"!$|y|zyyz!$yy!y & (0PxI><5=?N4&Ls45޿>=>J?I>87;5?ں4 ?=>t?>I>;?9<?;5ں4?Y=ؑ=>J?>I:?7?U4?;l45?6`?ؑ=>t?I?><:?9?t45~WL4޿>mc?c>?I?<;?94?{ں;5 ?mc?c>}J?>I?>;?9?;?4Kں;5?Y=mc??>I?<?9?;o45?:R4?6`?mc?}J?&3n3ꧯ:*V>_[Lz?<}>:>A-?V>?J?|>Tcz>2?=`-? ?2O=8?8c :???=!? =?WP=*?|ش$@???ۼ> =? ?2?O=ݐ8!S7~???\c? = ??O=?ն4`t>??=bv=&3gZ>55?WO;O;\t>.=>J?>gZn35?5~M: `?.=>A-?&3&Z55W?O;yO$@?.=>t?gZn355M::hL?.=>A-?iZ?255?O;O;W?"k?c>`-?iZ?5?5?ѺѺ$@?"k?=}J?>iZ?25?5?į˯;X?o?"k?`-?iZ?>5?5?nѺk:\t>"k?=??4 8=45?R65 ???? = ?>48="4?5m;65޿>??=? =>?4?48=45?>65?6`???%> => ?>!4?8=4?5?65?Y=??F? =ƛvSO5> ?n Lhc<>D=>J?V.UT>)*)*?CdV%<w>=n>J?Ӵ+YW>+5)2)2?x~ ;Tɨ=x@>J?˛v>SO5> >?K~jGh?f>D=F>J?`.>UT>>)*)*?dﻨ>`1>=>J?!Ӵ=+YW>+5>)2)2?>xC)z>V>Tɨ=>J?5>SOɛv>? >8]C?S>U^.>)*?)*>hL澯@ %+YӴ=)2?)2,5>%x;Wx? =Tɨ=>k4?5>YeOśv?} m?xq$L?%Le?D=>> ?S>i(UY.)*?)*>_d?!l?=>lE?U>*Y Ӵ22?224sx>L#Yx?"v?Tɨ=>}&?˛v>XeO3 >p L?3ic<?![?D=F>t?`.>i(UR>)*)*=d?GW%<>S?=>t?!Ӵ=*YU ,5>)2)2x? ; =u>KJ?Tɨ=>t?ƛvYeO3 K?jGf6(%?D=>t?V.i(UR)*)* d?Cﻛ4,?=n>t?Ӵ*YU ,5)2)2>x?JE*z5?Tɨ=x@>t?2YeOśv ?8> ?Ti(UY.)*)*oL>fA lE?W*Y Ӵ22224,x>8;Vx-' ?Tɨ=>}&?2SOɛv> >mQxq$L>D=>]C?TU^.>)*)*>G]dD>=>%v~rx>Tɨ=>k4?4SO?˛v>? >icnf?c>^?TU?a.>)*)*?ä>W%<h?c>,?U/Y?Ӵ=)2)2?+5>=u;x>j?c>d&?4SO?Ǜv? f?rjGK?nf?c>DC?TU?[.)*)*?ä>d_?h?c> .A>x-' ?j?c>4?ƛvSO?4~ ?K?8<6(%?nf?.G>}J?].U?S)*?)*`d?< }J?Ӵ/Y?W,5)2?)2Wx?* ;x5?j?d>}J?Λv>SO?4 >?$L?yqm?![?nf?o<}J?b.>U?S>)*?)*d?_>S?h?c=}J?Ӵ=/Y?W+5>)2?)2}rx?칻v>KJ?j?=}J?6>SO?Ǜv??x ?fc

U?[.)*?)*?>W%/Y? Ӵ)2?)2?,5v>;hsx?"v?j?4?6>SO?˛v>??x >]jGK?<=nf?^?W>U?a.>)*?)*?>d?L=h?,?Y>/Y?Ӵ=)2?)2?,5>)z>H>x? =j?d&?Λv>SO?7> >??K8<?f>nf?o<?b.>U?W>>)*?)*?ad&< `1>h?c=?Ӵ=/Y?Y>+5>)2?)2?Wx^;x>V>j?=?ƛvSO?7> ??$Lvq m>nf?.G>?].U?W>¤)*?)*?dH^w>h?*>?Ӵ/Y?Y>+5)2?)2?}rx)ﹻv>j?d>?4=3 Q4?2F:5 ?[ >?R<>T+S)*)*;4?Ѓ9 5 ?P->?>W!W)2+5)25?95 ? ?W>?>4=?4 >5?3:T4 ?i]??)* 5?a964 ?,T??^m=Yd?W(2N5>(2,5?Y95 ?90J??p=4=?7> >?U4M:5޿>i]?=?)*ä>)*??4Ep9 5޿>,T?=?^m=Yd?Y>)2+5>)2?5 9 5޿>90J?=?p=4=5> ?5P9:R4޿>[ >=?R<>Tص+W>)*)*? 5s944޿>P->=?>WbY>)2+5)2?5y95޿> ?W>=?>5>=3?y 5?q=:T4?6`?[ >%>R<>T>+S)*?)* 5?t9;4?6`?P->%>>X>!W)2? ,5)2 5?$95?6`? ?W>%>>6>=?4?| >P4?E:5?6`?i]?%>ٵ+?S)*?>)*34?x9 5?6`?,T?%>^m=Y>d?W(2?N5>(25?905?6`?90J?%>p=5>=5>? ?S47:5?Y=[ >F?R<>T>ص+W>)*?)*?64l9 5?Y=P->F?>X>bY>)2?+5)2?5S95?Y= ?W>F?>6>=?7>? >?5F:T4?Y=i]?F?ٵ+?W>)*?>)*? 5Av9>4?Y=,T?F?^m=Y>d?Y>)2?+5>)2?5I 95?Y=90J?F?p=&3iя>E)TB?;J.<\t>_M=>]C?&3u{H>k'> 5<>%f/}C<c>Tt>O<>k4?я>in3A? *Tf1:nZR?_M=F>A-?wH>uak3C$>k:v BqX?<>A-?^=u[} n3eL>z:ujHwi?O<>A-?&3iяF)TB?;.$@?_M=>> ?&3utHk'Ǿ?Y<5$@?<>lE?&34m}DνZzK|?K<1e$@?P<>}&?яin3A *TT1:lm/<?_M=>A-?yHuHp3B$Ǿk :"B=xq=?A-?;νu[} n3eLz:޻x=`݀?OA-?яi?2BH)T?4<5;0?*s?.G>`-?wHu?G2'Ǿk?`-?Nνx[}?2'kLz?*=n<.¼>|?d>`-?i?яF)T?B4?{4$@?*s?=DC?u?uHk?'Ǿ?48ּ??y?= ?|?=4?я>i?2B?F)T?Y<?o?*s?o<`-?|H>u?2'>k?ީq<?o?y?c=`-?K=x[}?2kL>z?Z1QF)T?B?*-<\t>*s?=^?u?{H>k?'>Yэ=\t>y?=,?x[}?S=z?"kL>|mUJ{>\t>|?=d&?!ӾGn3)TBmY: 98?$R==!?R<>;f?2ak3(k&ǾXA:7;º? >=!?>&n3zLS9 7"ƺ?P>=!?>$Ӿ?яBSg <=Hn? ӷ T$_??? ? =;f뾿?uHvkPC=qǾQ>pkw???? =?DνpwzB)L=MM>%:jz-Q???!? =$ӾG?2D)TB?:sF:?ub?=!?<=f?2?2k'>2jΠ?W?=!?^m='?2gzL>8䇸6?K?=!?p=$Ӿ ?я>S};=/H?n.7 TE>??'6? =;f ?{H>vkPC=q>Ǿ7.k~>??{/? = ?R=Uwz(K=M>M^(6za>??d(? =&3H$ӾBB)T?RF:5$@?$R=ۼ>R<>3P29f'Ǿk?Vu8$@? >ۼ>>3Lz?F!J8$@?P>ۼ>>я>?$ӾH? <=BS T?ӷn?X???0> =|H>?9fq>|C= vkk?K>P???i> =O=?ËM>'ML=vzz?P/M>uH???> =G?$ӾB?F)T?ZOF:_:$@?ub?ۼ><?2?9f'>k?֠$@?W?ۼ>^m='?3L> z?( $@?K?ۼ>p=я?$ӾH <=BS T?8n'???<> =wH?9fqǾC= vkk?* 8LǾ./???W> =Jν?ċMML=vzz?7?M7???)> =">Gn3)T?BY:2X):?o?R=\c?R<>9f>?2Ds3+k?&ǾA: צ8?o? >\c?>>&n3z?.L9\c?>!> ?я>S?d};=(H?n"Ʒ T?D=??N? =8f> ?{H>vk?*PC=p>Ǿz.k?=??#U? => ?R=Uwz?bK=M>M z?(=??@\? =!>G?2H)T?B?׺v;?ub?\c?<=f>?2?G2k?'>ZZk:?W?\c?^m=>,?2gz?L> 8 Acd9?"K?\c?p=!>?яFS? <=Hn? 8 T?g???%x? =8f>?uHvk?uC=qǾR> 8k?o???q? =>?Dνpwz?w)L=MM>=z?w???Ӄj? =&3G$>BD)T?XF::\t>$R==ir>3?2=f>'Ǿk?.\t> >=>3&> Lz?5!|\t>P>=>я ?$>0H};=S? T>@Ʒnnv>??opǾYPC=vk?0k(Ǿ>??c=bv=Iν ?>yMK=Wwz?z MZ>??=bv=G?$>B?H)T?IF:`t>ub?=7<?2?=f>'>k?_$8`t>W?=g='?>L>z?Q2!8`t>K?=TI=я> ?$>1H?j};=S? Tl{7n?>??.G>bv=|H> ?=f>p>OPC=vk?0kw7>F=>??*>bv=P= ?>yM>$K=Wwz?z&6M>3^>??d>bv=$Z$>"T6">5#25޿>h=>]C?3b`>#ϲMMFx?6Vy;x R>T=n>]C?>e$h=m>8Pq ?It<>>([=x@>]C?`b3>qOMF)ϲ>x 1V/>T=>%r黾Zp>55޿>C3=n>%BAڂg>SgC =x@>%=k P8>jIt0*>([=>k4? E`s5=ľڂg BA>uپ9Pg2>0=n>k4?nʽ`z|=/Iu/I>E//N:޿>Pk4? $>Z$>">T6">5E5?Y=h=F>]C? `>b3>?GMF$ϲ>j _m;9 V?=L=F>%e$h+>=r ?P8>goY8Fs?xQJ=([=F>k4?3>b`>&ϲ>DMF?: V_mj ?>T=>]C?<>2m<>u>Zp>545?Y=C3=>%`s5=>݂gAA>ᾚ:e?4=0=>k4?+>=c$h=m>8>Pv ?Fsrf>K>0[=>]C?@=as E>AA>܂g>eH@>4> =>%u.I><3>9;6?z><>k4? $>Z $">T6"5?45?6`?h=F>> ?3>^b `(ϲ>FMF>V?Z;w ?X?T=>> ?+>="6h:m8>Pr It?=<4>M?0[=>> ? `>`b3?GMF#ϲw ?W>V?_h?L=F>lE?<>~DmZp黾5?5?6`?C3=>lE?@= s EAA>܂gľg?lbR? =>lE?=m>#6h>R ?eP7>4Ի<#t?\s?([=F>}&? E>s&½ >kg?ŀ>?rݻg?wm?0=>}&?=znʽ,7I>uGP,0? ٻ?9?6`?p<>}&?$Z $"T6"5?^߲5 ?h=>> ?`^b3qOMF&ϲj ?`m;3 V?T=>lE?=m#6h>L hP7l>赺Fs ?([=>}&?3^b `!ϲNMFt6 V?`mj ;(?T=n>> ?lE? Es&½ ľhgR?U>7eq?0=n>}&?>#6h:m8Pn Fs?¬g93?([=x@>> ?&½ s EBAڂgľe?& w-? =x@>lE?nʽznʽ37IuG25?g4 ?P}&? $Z?$>"T6?">5K5޿>Լk?.G>^?`b?3>DMF?)ϲ>w >;?V/>o?.G>,?:mf$h?+>=s P?m8>Nr?.G>d&?3b?`>1ϲCMF??:Vx T>o?*>^?<2m?<>x黾Z?k>5y45޿>t?*>,? Ebs?8=ľڂg?AA>X۾J;]Og3>w?*>d&?%>f$h??m>u8P?u ?It>Nr?d>^?/½cs? E>AAڂg?>]g"tپ>w?d>,?wʽaz?=.Iu?.I>o2jl;y7޿>v{?d>d&? $Z? $"T6?"5?\5 ?Լk?.G>DC?3b?`.ϲDMF?8 V?cm;j ;(?o?*>DC?&>f$h?:ms8P?u Fs?'8f93?Nr?d>DC?`b?3DMF?*ϲj ?cm: V?o?.G> s P?m8`>>Gs ?Nr?.G>4? Ebs?)½ľڂg?AAZ>3غf?}w?*>4?xʽaz?pʽ.Iu?.I`5?Qj848?{?d>4?$>Z? $">T6?"5?/35?6`?Լk?ob?3?FMF?(ϲw ?;m>f$h?>s ?P?u8#>7b?`+ϲ>FMF?~2m?Z?j黾p4?ϫ9u5?6`?t?c= cs?)½>݂g?AAG>6;YSg?vm?w?c=4?+>=f$h?=mh8>P?r uCt?*z->M?Nr?=DC?5=bs? EAA>݂g?ľg?,U>`R?w?= u?.I +?{<[>?<^?`{?=4?$>Z?$>">T6?">5A45?Y=Լk?o<^?3>b?`>%ϲ>HMF?}?; VTdm;j ?>o?c=^?">=f$h?=m>e8>P?r ?Fs}8g>K>Nr?=^?`>b?3>?CMF?-ϲ>j am8 V?=o?o<,?<>2m?<>g>Z?p>T5K5?Y=t?c=,?7=bs? E>AA>܂g?>e !:D>4>-w?=,?@m>f$h?.>=u ?P?u8>f Fs?xQJ=Nr?ocs?8=>݂g?AA>>`(]e?4=w?c=d&?~=`z?=.I>u?.I>>5ӌ5?Y=v{?=d&?Ń?$>T6"">z/]R>(>'6?R<>BžC3>BMF+ϲ>oоaұ i5>={/?R<>4оF+>=P{ k8>\<z\">=d(?R<>Dž!,`>DMF*ϲ?o7S}>d^+>'6?>~Qھ@/<>Z}黾>wɾfDRk|>&>{/?>$.R17=؂gľAA>Pg1z>&">d(?>4о1=m>P_8z ?q[M$ٹTG>(V>'6?>$L E>ڂgAA>Ǿ "kk;>S>{/?>b=u\^Ik^I>JM&zc>Q>d(?>Ń? $T6""Ƽ?@;vR?(> ?R<>Dž,`DMF)ϲ?M:S˃?d^+> ?>4оC:mPa8w Z?M:&T0^?(V> ?>BžC3BMF+ϲ>׳; ig?=?R<>~Qھ{R/_:OkM?&>?>$] EڂgAAľ >%:$knv?S>?>4о\F>3PG 8Z9[>m;hz?=!?R<>$c1'½ogľ@̯P>nzs?&">!?>toʽ0u4`IIyOM>J1z0P?Q>!?>ƒ?? $T6">"~z?.^R?u^? ?ձig?a`??<4оF?>Py ?8/\> :z?a?!?~p?6S˃?j(U? ?^m=~Qھ@/?z黾p> G RkM?MV??^m=$/R1?'½ڂg>AAP>'7zs?7RW?!?^m=4о1? 7[?u{빹T0^?uJ? ?p=$L? Eþ>ޯ.knv?K??p=b?oʽuxI>TIRM> pz0P?K?!?p=ƒ??$>T6">">ʼ#<;vR>u^?'6?BMF8ϲ>~?<:S}>j(U?'6?^m=4о1?>m>Pg8>z ?Zi:$TG>uJ?'6?p=Bž C?3>@MF?5ϲ>о~ҳ;i5>a`?{/?<~Qھ@/?<>Z|>|>.ɾ:Ok|>MV?{/?^m=$L? E>ڂgAA>>Ǿ(:%k;>K?{/?p=4оF?.>=Px ?8>*[g;z\">a?d(?<$/R1?7=܂g>AA>P:ޠz>7RW?d(?^m=b?=uk^I>q^I>pNMe9Gzc>K?d(?p=$?ă""T6`R?}1{z0!'?(><>R<>3C>ž$ϲDMF#i?Աaоv.?=W>R<>>\F4о|8{ Pz?:*\57?=)>R<>`,>ž(ϲDMF7S?n,'?d^+><>><{R/}Qھy黾|黾ZRk?@sɾy/?&>W>>!½c1$AAľ܂gz?3PE7?(">)>>;mC4оw 8PT?)ٹo['?(V><>> E]$ľAAڂgmk? "Ǿ/?S>W>>nʽtj^Iy^Iuz?JM7?Q>)>> $>?ƒ">"T6vR?EA;?(Y?(>0>R<>`>,>ž?3ϲCMFS?J:?X?d^+>0>>=m>C4оy ?8P#T?:Z?X?(V>0>>3>C>ž8ϲ>@MFi?rճ;>rQ?=i>R<><>{R/}Qھ>黾ZNk?:D>i>> E>]$>AA؂g%k?8:>^P?S>i>>0>=[F4о8>{ Pz?)g;*[>I?=>R<>;=c1$AA>ľڂgޠz?q:P>H?&">>>=tu^I>q^IuFz?蔽9tNM>tH?Q>>>$>??ă">">T6aR?0yz?(Y?u^?0><3> C?>ž*ϲ>?DMF"i?Աg>rQ?a`?i>=F?4о8>v ?Pz?"89\>I?a?><`>&,?>ž?0ϲ>DMF7S?o?X?j(U?0>^m=<>@/?{Qھx>}>Z Rk?Eo>^m=5=/R1?$AA>>܂gz?N7P>H?7RW?>^m=@m>1?4о ?9>;PT?y7[?X?uJ?0>p= E>L?$>dA>\P?K?i>p=x=b?]I>uI>uz?;HM>tH?K?>p= $??ă"">T6vR?\=;0!'?u^?<><`&,?>žz5ϲ>GMFS?D:,'?j(U?<>^m=;m1?4о 9>=P]T?:BZ'?uJ?<>p=3 C?>ž0ϲ?DMF i?dس;оv.?a`?W><<@/?{Qھ~黾>ZOk?:3ɾy/?MV?W>^m= EL?$þdA>9gMk?|:EǾ/?K?W>p=&>F?4о8t ?Pz?6g;*[57?a?)><+½/R1?$AA>ڂgޠz?:#PE7?7RW?)>^m=xʽb?]IyI>uSz?Ҽ9|MM7?K?)>p=ă>? $T6?""rz?0fR? Eg?(>%x?R<>=>C3IMF?}"ϲ\>4Ա$i?dn?=q?R<>4>\F>3P?C 8v]>^:]y? Yw?=Ӄj?R<>=>,`LMF?$ϲxe?=S?g?d^+>%x?>{Q>{R/hBRk?o?&>q?>$>c1'½og?ľE@'Q>]:Rz?2w?&">Ӄj?>4>C:mP?8q j[?+ٹT?g?(V>%x?>$>] Eׂg?AAľ> "ik?zo?S>q?>>toʽ,u?c`IIiM>e:z?w?Q>Ӄj?>ă>?$>T6?"">#@;vR?h=(>N?R<>=>!,`>JMF?#ϲy?MO:S?=d^+>N?>4>1=m>P?8r ?Z:)T?=(V>N?>=>C3>HMF?}%ϲ>оֳ;#i?@==#U?R<>{Q>@/<>Z?z黾>6ɾ:Ok?#=&>#U?>$>L E>ׂg?AA>Ǿc#:"k?t=S>#U?>4>F+>=P?w 8>+[g;z? ==@\?R<>$>.R17=؂g?ľAA>=P4:ܠz?=&">@\?>>b=u?^Iy^I>yNM9Fz?P=Q>@\?>ǃ>??$>T6?">">nz0iR?d=u^?N?<=>C?3>IMF?z?&ϲ>]оtձ$i?@=a`?#U?<4>F?+>=P?r ?8>K\9z? =a?@\?<=>&,?`>JMF?%ϲ>w?g.@/?<>Z?}>z>qɾBF Rk?#=MV?#U?^m=$>/R1?7=؂g?>AA>Pn3z?=7RW?@\?^m=4>1?>m>P?y8>r ?k[/ ٹT?=uJ?N?p=$>L? E>ڂg?AA>>Ǿ "lk?t=K?#U?p=>b?=u?q^I>^I>,JM~z?P=K?@\?p=ǃ>?? $ T6?">"?=;vR? Eg?u^?%x?<=>&,?`JMF?)ϲ>v?D>:S?g?j(U?%x?^m=4>1? ?Z?j:_T?g?uJ?%x?p==>C?3LMF?x?#ϲ>'Գ;"i?dn?a`?q?<{Q>@/?v黾+><:Ok?o?MV?q?^m=$>L? E:g?dA>þE>L:Mk?zo?K?q?p=4>F?>P?q ?8F4\>v.;z? Yw?a?Ӄj?<$>/R1?'½ׂg?>AA./Q>f7z?2w?7RW?Ӄj?^m=>b?oʽu?xI>UI7hM>`Оz?w?K?Ӄj?p=$>?Ń>">"T6?^R'/~z?Re>(>.G>ir>3>CB>"ϲ>FMF?#iӱb>j9>=*>ir>0>=F4>u8>y P?z;\>[>=d>ir>`>!,B>}?ϲIMF?:Sk?Fi>d^+>.G>><>@/}Q>~>s黾Z?Rk^Bw>><>&>*>>;=.R1$>AA>ľ؂g?z9˨P>]>&">d>>=m>14>t ?8P?T@ٹm[?>(V>.G>> E>L$>>AA؂g?jk ">=>S>*>>=b>s^I>q^Iu?zJM>7^>Q>d>>$?ă>""T6?vRe>;ļ>(>o`!,B>z"ϲIMF?SQ:>d^+>o<>;m14>s 8P?(T:Zt>(V>o<>3CB>ϲHMF?%iֳ;о+>=c=ir><@/}Q>u黾u黾Z?Ok:'ɾ>&>c=> EL$>ľAA؂g?%kS:Ǿ>S>c=>>F4>q8y P?zg;*[ޙ>==ir>!½-R1$>AAľڂg?ޠz7:)P>(">=>nʽb>k^Iy^Iu?Gzѻ9gNMX>Q>=> $??Ń>"">T6?dRc.vz>u^?o<7<3 C?B>+ϲ~?FMF?!iaӱjо+>a`?c=7<%>F?4>8s ?P?zW:3\ޙ>a?=7<`&,?B>z/ϲ>HMF?:SUk>j(U?o<g=<@/?}Q>z黾|>Z? Rk Ioɾ>MV?c=g=*½/R1?$>AA>؂g?z{4̨P>7RW?=g=;m1?4>u o8>P?Tٹm[t>uJ?oľAA>ڂg?kkR"Ǿ>K?c=TI=wʽb?>m^Ij^I>u?zvJMX>K?=TI=$>??Ń>">">T6?vR;;Ƽ?Re>u^?.G>7<`>&,?B>{?+ϲ>HMF?S;:?Di>j(U?.G>g=@m>1?4>w ?l8>P?&T:Z?>uJ?.G>TI=3> C?B>%ϲ>}?HMF?!iҳ;>h9>a`?*>7<<>@/?}Q>s>w>Z?OkS:$>@<>MV?*>g= E>L?$>>AA>ڂg?&k2$:>=>K?*>TI=->=F?4>}8>q ?P?z+h;*[>[>a?d>7<7=/R1?$>AA>>ڂg?ޠz7:$P>]>7RW?d>g=y=b?>m^I>j^I>u?Gz9lNM>7^>K?d>TI= n3O8񚜺?P>=!?T?>r2WO?޶մ4$@?P>ۼ>T?>? 2?@Ox8JDW:?o?P>\c?T?>r2 ?O?]޶'\t>P>=iu>"47845?͹65 ?P>?T?> >4;84?565޿>P>=?T?>>&4?S845?1 k65?6`?P>%>T?>> >!4?Y84?5 65?Y=P>F?T?>!ӾяS[};+Hn?B,7 T$_?P> ?T?>8f뾿tHvkOCqǾ>[7.kw?P>?T?>Dν;xzSKzMM>z-Q?P>!?T?>!Ӿ я>SZ};-H?nVƷ TE>P>'6?T?>8f {H>vkOCq>Ǿx-k~>P>{/?T?> R=UwzKM>MP za>P>d(?T?>я>$Ӿ.H?};S T?27n?X?N>0>T?>xH>9fp>VPCvk/k?7>P?P>i>T?>Y=M>vKUwzz?#V6M>uH?P>>T?>я$Ӿ-H};S T?JƷn'?P><>T?>wH9fpǾVPCvk0k?lǾ./?P>W>T?>@νMyKUwzz?o M7?P>)>T?>"> я>S?};(H?n@ 7 T?D=P>N?T?>9f> {H>~vk?PCq>Ǿ7-k?=P>#U?T?>> R=Uwz?KM>Ml6z? =P>@\?T?>">яS?};'Hn?1Ʒ T?g?P>%x?T?>9f>tH~vk?PCqǾ>s-k?o?P>q?T?>>Dν;xz?K)zM5M>(:z?w?P>Ӄj?T?>я $>/H ~;S? T!7nnv>P>owH =f>pǾPCvk?0kt7Ǿ>P>c=iu>@ν >uMVKWwz?z6MZ>P>=iu>я> $>/H?~;S? T;%Ʒn?>N>.G>iu>xH> =f>p>PCvk?/k>F=>P>*>iu>Y= >}M>WKWwz?z M>3^>P>d>iu>&3n3ꧯ:t|Fh9)><}>:>A-?&3n3ꧯ: :L?<}>:>A-?>gZn35?5~M: `?o?.=>A-?я>in3A? *Tf1:nZR?o?_M=F>A-?wH>uak3C$>k:v BqX?o?<>A-?^=u[} n3eL>z:ujHwi?o?O<>A-?&3n3ꧯ:Z~#:yw??tn@?:>A-?&3n3ꧯ:ݶ|?bk`ۈ#tn@?:>A-?&3n3ꧯ:0?tQtn@?:>A-?V>?J?~|>x?Tcz>2?=`-?V>?J?S?~M -??-?=`-?V>?J?*}? -??-?=`-?V>?J?NzNz?? -??-?=`-?>iZ?25?5?į˯;X?"k?`-?я>i?2B?F)T?Y<?*s?o<`-?|H>u?2'>k?ީq<?y?c=`-?K=x[}?2kL>z?Z1Q?J?S?Tcz>2?=`-?I><5=?N4&Ls45޿>==??2SOɛv> >mQxq$L>D='6??TU^.>)*)*>G]dD>={/??W+YӴ=)2)2,5>v~rx>Tɨ=d(??gZn355M::hL?.==!??2YeOśv ?887;5?ں4 ?=??Ti(UY.)*)*oL>fA 8;Vx-' ?Tɨ=!??I?<;?94?{ں;5 ?mc??x:4SO?Ǜv? f?rjGK?nf? ?x:TU?[.)*)*?ä>d_?h??x:U/Y? Ӵ)2)2?+5*z>.A>x-' ?j?!?x:iZ?255?O;O;W?"k?=!?x:4SO?˛v>? >icnf?'6?x:I?><:?9?t45~WL4޿>mc?=?x:TU?a.>)*)*?ä>W%<h?{/?x:U/Y?Ӵ=)2)2?+5>=u;x>j?d(?x:I>87;5?ں4 ?=>?4=3 Q4?2F:5 ?[ >>R<>ƛvYeO3 K?jGf6(%?D=<>?V.i(UR)*)* d?Cﻛ4,?=W>?Ӵ*YU ,5)2)2>x?JE*z5?Tɨ=)>?&3&Z55W?O;yO$@?.=ۼ>?T+S)*)*;4?Ѓ9 5 ?P->>>W!W)2+5)25?95 ? ?W>>>"47845?͹65 ?P>>T?>˛v>XeO3 >p L?3ic<?![?D=0>?>I:?7?U4?;l45?6`?ؑ=%>?`.>i(UR>)*)*=d?GW%<>S?=i>?!Ӵ=*YU ,5>)2)2x? ; =u>KJ?Tɨ=>?>I?<?9?;o45?:R4?6`?mc?%>x:Λv>SO?4 >?$L?yqm?![?nf?0>x:b.>U?S>)*?)*d?_>S?h?i>x:Ӵ=/Y?W+5>)2?)2}rx?칻v>KJ?j?>x:iZ?5?5?ѺѺ$@?"k?ۼ>x:ƛvSO?4~ ?K?8<6(%?nf?<>x:4=?4 >5?3:T4 ?i]?>x:Tٵ+?S)*Ȥ>)* 5?a964 ?,T?>^m=Yd?W(2N5>(2,5?Y95 ?90J?>p=?4 8=45?R65 ???> =].U?S)*?)*`d?< x:Ӵ/Y?W,5)2?)2Wx?* ;x5?j?)>x:>I:?7?U4?;l45?6`?ؑ=}??5>=3?y 5?q=:T4?6`?[ >}?R<>5>YeOśv?} m?xq$L?%Le?D=%x??S>i(UY.)*?)*>_d?!l?=q??U>*Y Ӵ22?224sx>L#Yx?"v?Tɨ=Ӄj??>gZn35?5~M: `?o?.=\c??T>+S)*?)* 5?t9;4?6`?P->}?>X>!W)2? ,5)2 5?$95?6`? ?W>}?>>&4?S845?1 k65?6`?P>}?T?>5>SOɛv>? >8I>;?9<?;5ں4?Y=ؑ=F??S>U^.>)*?)*>hL澯@ +YӴ=)2?)2,5>%x;Wx? =Tɨ=@\??>gZn35?5~M: `?.=\c??">Gn3)T?BY:2X):?R=\c?R<>9f>?2Ds3+k?&ǾA: צ8? >\c?>>&n3z?.L9\c?>? 2?@Ox8JDW:?P>\c?T?>>I?>;?9?;?4Kں;5?Y=mc?F?x:6>SO?˛v>??x >]jGK?<=nf?N?x:W>U?a.>)*?)*?>d?L=h?#U?x:Y>/Y?Ӵ=)2?)2?,5>)z>H>x? =j?@\?x:>iZ?25?5?į˯;X?"k?\c?x:6>SO?Ǜv??x ?fc

=?4?| >P4?E:5?6`?i]?}?<>I?<?9?;o45?:R4?6`?mc?}?x:T>ٵ+?S)*?>)*34?x9 5?6`?,T?}?^m=Y>d?W(2?N5>(25?905?6`?90J?}?p=>?4?48=45?>65?6`???}? =W>U?[.)*?)*?>W%/Y? Ӵ)2?)2?,5v>;hsx?"v?j?Ӄj?x:>iZ?25?5?į˯;X?o?"k?\c?x:!>G?2H)T?B?׺v;?o?ub?\c?<=f>?2?G2k?'>ZZk:?o?W?\c?^m=>,?2gz?L> 8 Acd9?o?"K?\c?p=? ?2?O=ݐ8!S7~?o???\c? =>I>;?9<?;5ں4?Y=ؑ=c>?5>=5>? ?S47:5?Y=[ >c>ir>˛v>SO5> >?K~jGh?f>D=.G>?`.>UT>>)*)*?dﻨ>`1>=*>?!Ӵ=+YW>+5>)2)2?>xC)z>V>Tɨ=d>?&3gZ>55?WO;O;\t>.==?T>ص+W>)*?)*?64l9 5?Y=P->c>>X>bY>)2?+5)2?5S95?Y= ?W>c>>> >!4?Y84?5 65?Y=P>c>iu>ƛvSO5> ?n Lhc<>D=o<?4=5> ?5P9:R4޿>[ >ir>I><5=?N4&Ls45޿>=?Tص+W>)*)*? 5s944޿>P->>WbY>)2+5)2?5y95޿> ?W>> >4;84?565޿>P>iu>V.UT>)*)*?CdV%<w>=c=?Ӵ+YW>+5)2)2?x~ ;Tɨ==?I?><:?9?t45~WL4޿>mc?4=?7> >?U4M:5޿>i]?7<ƛvSO?7> ??$Lvq m>nf?o<].U?W>¤)*?)*?dH^w>h?c=Ӵ/Y?Y>+5)2?)2?}rx)ﹻv>j?=iZ?>5?5?nѺk:\t>"k?=Tٵ+?W>)*ä>)*??4Ep9 5޿>,T?g=Yd?Y>)2+5>)2?5 9 5޿>90J?TI= ?>48="4?5m;65޿>??bv=Λv>SO?7> >??K8<?f>nf?.G>6>=?7>? >?5F:T4?Y=i]?c>7<>I?>;?9?;?4Kں;5?Y=mc?c>T>ٵ+?W>)*?>)*? 5Av9>4?Y=,T?c>g=Y>d?Y>)2?+5>)2?5I 95?Y=90J?c>TI=> ?>!4?8=4?5?65?Y=??c>bv=b.>U?W>>)*?)*?ad&< `1>h?*>Ӵ=/Y?Y>+5>)2?)2?Wx^;x>V>j?d>???@?2>3?JK>J?KVWJVKVbWVabambJUVUaV>IJIUJ2=>=I>&121=2almlxmlwxU`a`lakwl`klkvwITUT`U=HIHTI_k`T_`jvk_jkjuvS_THST<H=1<=^j_S^_iuj^ijituGSH<GHR^SGRS]i^R]^hti]hihstgshgrs\h]\ghQ]RQ\]FRGFQR;G<;FGfrgfqr[g\[fgP\QP[\EQFEPQeqfepqZf[ZefO[POZ[dpedopYeZYdecodcnoXcdXdYMXYNYZMYNNZOBMNBNCCNO7BCCODDOPDPE7C88CD,789DE8D9,8--89!,-9E::EF:F;!-"!"-9..9:"-./:;.:/" ".##./"#/;00;<0<1  # #/$$/0#$%01$0%%1&%&    $$%%  y (@@?@@?=@@@?L>?@?>?@?>@??@??@?333?@@?L?@?gff?@??@̤@?=@̤@?==@@̤@?L>=?̤@?>=?̤@?>=̤@??=̤@??=̤@?333?=@̤@?L?=̤@?gff?=̤@??=@@@?L>@@@?=L>@@@@?L>L>?@@?>L>?@@?>L>@@??L>@@??L>@@?333?L>@@@?L?L>@@?gff?L>@@??L>@L??>@L??=>@@L??L>>?L??>>?L??>>L???>L???>L??333?>@L??L?>L??gff?>L???>@̣??>@̣??=>@@̣??L>>?̣??>>?̣??>>̣???>̣???>̣??333?>@̣??L?>̣??gff?>̣???>@??@?=?@@?L>???>???>????????333??@?L???gff?????@#??@#?=?@@#?L>??#?>??#?>?#???#???#?333??@#?L??#?gff??#???@L$?333?@L$?=333?@@L$?L>333??L$?>333??L$?>333?L$??333?L$??333?L$?333?333?@L$?L?333?L$?gff?333?L$??333?@$@?L?@$@?=L?@@$@?L>L??$@?>L??$@?>L?$@??L?$@??L?$@?333?L?@$@?L?L?$@?gff?L?$@??L?@$?gff?@$?=gff?@@$?L>gff??$?>gff??$?>gff?$??gff?$??gff?$?333?gff?@$?L?gff?$?gff?gff?$??gff?@%??@%?=?@@%?L>??%?>??%?>?%???%???%?333??@%?L??%?gff??%???@%@B?Quad??11 $  (11 ??11 ???11 $????11 $?????11 $?? Icosphere*2:???                !!! ""## $!$#$%! $!%& "&&% '"'&"' ( #(('#$))$%)%&(#)()')&'* 툿?{1>^h?@^h??,h?@>^h?{1>?^h?<ލ]<?Wwh?h?^*Fb?툿?@ C]?@ ?C]?2:W@?t?k?Ww?ah>?<>ލ]<??^*F?b>?Ww<??h???>@^h??{1^h??@ ?C]??^*F?b?>?>@>^h????,h??tk>?<>ލ]?<??{1?^h??a>h??2:W@>?Ww<???ah?>???<ލ]?<?^*Fb??@ C]??2:????? icosahedron< ???x           ?_>鈿?h:;)?h:;)????_>????_𱾊鈿??_𱾊???h?:;)??h?:;)??????????pyramid????$ x???????????????????UnityWatermark-small:tt                                                                                                       #                                                   " ) 9N`256p3                                            $(- @c"#468??A<==GGH9;=y                                        " + 28O'+,|),/235==>667---(()>BB                                     % /= Kc1567:<89;667--.('(#"#HHK"#2                                   ' 2Ld!#&;<=@AA;;;,,-###!  DBD#(*Y                                  1 ["#~&*+?@C@>A979('' !!!!!;99.23                               JBDF?=>969633'## !!!!!!!"""### !/,,IIJ#                               $ORSDAB" !"### ####! # # # # # # # %% KJK:                              $%R[[] "# # # # # # #!! 400%!!% % % %" %"!%""%""!BAB V                              -_`b423# &""&"!&"!&""&""!(&&POOxwwvtt# %""%"#%"#&"#&"#'""'""%! 956CCE                       " $ $ $ &-9<=rSQS# &""#!!" ! DBBzwwHDD"&##'##'##&""&##'##'##'##+''GGH &                    & F S U U U V^XX\+&'# -++756b``&"#'##'#%&"#&"#)&&'#%'#%'#%&##BBD 4                   %.12mRRTJJKHHJHHJHHJHHJJJL=A            %-12mRQT/+,%!"&"#&"#'#% (&'" !'%&'%%'%%! 2./CBC&#%&"#%!"<9<         '.12mSRT-),#!&!#%!"&!# )%'<9;! &"#&"#%!"dbc&!"&!## 4/2&'(        (.12lRQT-)+ #!%!%" &!#{zz%"&!"&"#GBC%!#!%!# +%(;:=ttt        '.23mRRU,()!# # # !/+-% "% "#!#!+&'!%!# #DAC jjj       %-11mOOQ+')!# " # fbc%"%!%!ZVYGDD!# # ?:<###     '-12lJJL% #!!" !"# # "'!#"" -),545域ttt    '-12lJIK% #   HCF" " " vtu""+')YY[444鰰SSS쁁HHHHHHHHHrrrJJJ    &-12mJIK% #   !"" 635957 `^a:<=HHHHHHHHH˄LLL555###  $-02kKIK% "   # "~}}957!! igi504YZ\%%%HHHHHHHHH(((τttt $-11kJIK#"&!%ZVY`]`\Y[\Z[\Z[\Z[\Z[\Z[\Z[\Z[\Z[\Z[\Z[\Z[\Z[\Z[\Z[`]^B@A  HDG  cadHHH[[[LLLoooٜHHHHHHHHHYYY145bIHJ#!   +&)2.0FFHHHHHHHHHHHHHHHHHHH###888###599SKJL"                [YZOLNKJL HHHHHHHHHHHHHHHHHHttttttTWXi[WZ   mimVSU213HHHHHHHHHHHHHHHHHH{{{{{{#"tvxlUSU   #!#3.0%!#HHHHHHHHHHHHHHHGGG###'''999 uvymVTV!503735603624624604624624604604604604634634634634634634(&'TQS 201 HHHHHHHHHIIIHHHEEEtttddd  tuxmYUW&!#(#'uqs ,&(HHHHHHHHHsssBBBRRRKKKHHHBBBٱ   tuwnVSV"~{| D@BA=?513 JJJJJJJJJ(((JJJwwwssstttvvvGGGLLL\\\    |~n`^b!402 !-./LLLLLLLLLLLL|||lllmmm      nnjm!,')!99;LLLLLLLLL^^^(((~~~ݸ;;;LLL~~~ݪ      !"nwuv2-.MIJ ifhVSU0-.HHH      ""mzvw/+,# '!"FAC JJJ       #$mzwz/+,dbc PLL SSV HHHLLL        $$mvux  ,')+#%okm %"%IJLJJJ~~~ݸLLL         ##nxz{  ""|}  :9:0/2  77:+,.LLL          $$oxxz  ""#(()   ||}  XZZ;;;̸           %%nz{{ &&& ! __a            $%m  "#"MNN gggccb '((KMO             !$$mdeegghgghdghhiiSTT576\]]%&&CDCHII+,-              %,,NTT6BGHBBFGAAFGAAFGA>DD@ORTOMMO&&&===UVVgii)))&&&! !!hij)//-                     IKMt@?A)))555`aa/00""""""!"! !!#######%% {}                            "((\]^))+#%%#%%#%%"#"!!!  ! @@@sttkkk!""%%%%%%%%%%&&%''%'''''#%%9:;                             378RHIJ#%%((('(''(''(''(''(''(''('%&% 344LMM())'((((())((+)(++(+++++%&&[\]JNOU                           \]_667'''))))))+++,+,,,,,,,,,,,,,,,,,++(''&&&,--,--,--,----,-..-..-..###wyy&&0                              (,-8wxzfghDDF677-..'((()),,,-..-..-..-..-..-..-...//.//.//.//.///0/-..577%++                              8=>nqsSnqtx{|bbcFGG334'((+,+.//022022222222222222233243243244-..STTdfh                                  AEFNRT7OTUfwwz[\\;<<---02/343454455455555565565666/0/lnn=CDU                                  (-.178*017bnooMNN;<<6764544545657976769:9BHI*                                        dik@ijjSTS<==343020GHHsux%%                                           kop!y}`nsuăiiifghbfh{                 BFGPUV=EIJhtwy/      EscToExit_backJGRR     !"######"!   "%),.013344443310.,)%" vvvvvvvvvvvvvvvvvv #(-3,,,G;;;SJJJ`TTTjVVVn]]]ubbbzbbbzbbbzbbbzbbbzbbbzbbbzbbbz^^^uWWWnUUUjKKK`<<>>oLLL{[[[~}qqqzdddr;;;I'  !5YYYfoooy}TTTAAAq%%%^MMMMMMMMMMMMMMMMMMMMMMMMMO***aCCCsTTT~|pppy[[[f 5!  #<<>>nMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMBBBqmmm}|||yaaaV JJJ@zzzx~|||CCCrMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM QHHHvyyy}|||xNNN@  ,,,*vvvs}HHHv QMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMTOOO}|{{{s...* jjj_|OOO}TMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMYRRR{qqq_  QQQ>>  nnnD{@@@nMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMFFFszuuuD _~"""[MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM///c}_teeeNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMSeeesbbb*yCCCpMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMJJJwxjjj+ uuu<{333eMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM???mz~~~< L}$$$\MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM222e{M ]~UMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM$$$\}] fsssOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMVttt~h kcccMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMTlll~n pWWW|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM Q```s vOOOzMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMPUUUu pWWW|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM Q```pkeeeMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMSmmm~jeuuuOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMVvvv~e[~UMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM$$$\}[H}$$$\MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM333d{H6{444eMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM@@@my6!xEEEpMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLvw!RRR rhhhNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMShhhqXXX X~!!![MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM000b|X:zAAAmMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMGGGrx:t```NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMV```sW}333dMMMMMMMMMMMMMMMMMM M M M M M M M M M M M M M M M M M M M M M M M MMMMMMMMMMMMMMMMMMM>>>k{W-xJJJtMMMMMMMMMMMM M M M M M M MMMMMMMMMMMMMMMMMMMMMMM M M M M M M MMMMMMMMMMMMRSSS|v-iiig~111cMMMMMMMM M M MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM M M MMMMMMMMM>>>k|gppp2x€RRRvNMMMM M M MMMMMMMMMMMM M M M!!M!!M!!M!!M!!M!!M!!M!!M!!M!!M!!M!!M!!M!!M M M MMMMMMMMMMMM M M MMMMMTZZZ~v2h}AAAlMM M M MMMMMM M""M##M %%M"&&M"''M#((M$((M$))M$))M%))M%))M%**M%**M%**M%**M%**M%**M%**M%**M%**M%**M%**M%**M%))M%))M$))M$))M$((M#((M"''M"&&M %%M##M""M MMMMMM M M MMMGGGp{h'viii$%%Z M MMMMM!!M $$M"''M%))M&++M(--M)..M*//M+00M+11M+11M,22M,22M,22M,22M,22M,22M,22M,22M,22M,22M,22M,22M,22M,22M,22M,22M,22M,22M,22M,22M+11M+11M+00M*//M)..M(--M&++M%))M"''M $$M!!MMMMM M M444biii~u(RzSSSzTMMM $$M#((M',,M*//M,22M.44M066M188M299M3::M3::M4;;M4;;M4;;M4;;M5<>M9@@M;AAM;BBM>M6==M4::M177M-33M)..M%))M ##M'**TTTTz{m&t~NOOp*//M/55M4::M8??MEEM@HHMBIIMCJJMCKKMDLLMDLLMDLLMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMEMMMDLLMDLLMDLLMCKKMCJJMBIIM@HHM>EEMFFMBKKMENNMGQQMIRRMJTTMKTTMKUUMKUUMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMLVVMKUUMKUUMKTTMJTTMIRRMGQQMENNMBKKM>FFM9AAMQSSpyyy|tDQvrrrTVVmIQQMLVVMOXXMQZZMR\\MS]]MS]]MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MT^^MS]]MS]]MR\\MQZZMOXXMLVVMIRRNTVVnqqq|uQ[wzzzXZZnV``NWbbMYddMZddMZeeM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffM[ffMZeeMZddMYddMWbbMV__QWYYq}v[Yv~Z\\s_ffTbllMbllMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMcmmMbllMbllM^ddYZ\\v}uZRu~ZZZ~`eedittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittMittM^aakYYY}uRCt{ppp^``sekk_pzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMpzzMdhhb]^^tpppztC%mw|fff^``qjpp\vMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMhmm_^``sfff{wm%Qty|````bbqott[|M|M|M|M|M|M|M|M|M|M|M|M|M|M|M|M|M|M|M|M|M|M|M|M|M|Mlqq^`aar```zxsQ'fty}hhh_``vgiijtyyYMMMMMMMMMMMMMMMMMMMNsxxZdggm]^^yhhh{xtg'1gty|lll[[[}cddqhiijorrawzzYy}}W{~~VMMMMMNy}}Wy}}Wuyy[orraghhlbccsZZZlll{ytg1,Usvz}ŀyyyZZZZZZZZZZZZZZZZZZZZZZZZyyy}zusU, 8Tqtwy{}}}}}|{xwtqT8 0EU\dssssssssd\UE0EscToExit_Text ))K)                     00                    JJ fFݍ:\| \| In~H  fF~Hn HD4  |mw7 l*ϪJD4U%U% fFj}ϪJ\|  |]I j~f& fFݍ:ϪJJI I HwwwIn~w7 Z n [w7 ~* 033MϙIU%U%| }ϙI wI | Hf& ϙIII I H lfm Hψ8wm Hϙ)I ~~w7  ]oo\ϪJD$~) || D$~~]ݍ00nϙIU%}U%U%}: }ϙIm Hψ8 |.IHݍD4 } H lf& ϙIII I l00  ϻ; ϻ;I  }}U%\lϙI Ϫj00 Ϫj|ϙIU%U%U%U%w7 }ϙI Ϫ: }I ݍ̌00  l00  ϙIII00 I ϻ{00000  k kI  33ݍnݍ [llw700000 D$D$ϙID$D$D$U%U%[}ϙI kw7w7I UE0000 ݍϻ{00000  ψHII000  I U% k) k)I00 D4mݍ [ ϻ[  ݍm:~ jݍ ϙID4 D4D4D$U%[}ϙI k)JD4 I U% ψH HIݍfF H0 U%}l}lI00 U%ݍD$ݍ k l m;~ w7ϙI D4 D433 D$U%\}ϙI}l;fF I0 U% ψX HIϪj Iϻk m} 00 | | Iψm33 n33  jݝ0 m M 00 |]}KϙI 330 333C U%U%\}ϙI| ݍ Iϻk ϪZ 00Zn} 00  YI \ψH I}fϻ[ ϪZ D$nϪZ D$nIϙn mH D$~n j0 w D4~ IϪ*KϪ*~nϪ: D40 333C U%f]}ϙIϪZ D$n~} m:}]w7 D4^ϻ[ w7 I ݍ :^,ooI +^n~N,^+ϻ;m~wϙN}ϙIo<^,]I ݍ<N-ooooI ----o>ϻ;n~ϻO}ϙIoooN.oN-=<J0000ݍJ0 MU%33 }ϪJ; }; Of&D4 mϪ:<,<=l nϻ;....n<o.UnitySplash-cubeЪ* Ъ*I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$IҡI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$II$IbM`rI$M$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$1IrS"1I$I$I$I$I$I$I$I$I$I$K$p&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$y'IwyI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$P<@,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$rI$II$;I)I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ `I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$FI$II$ILIKI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$K$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I^ II!I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$x&X$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$II$Ib SI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$0 I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$7IR'1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$U*I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$y'IwqI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$M$H'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$xI$II$9I)I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`%4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$LI$II$MI;I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$(I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$II$I II!I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@I$L$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$II$In XI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$J'h%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@8@,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I`I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$O$K$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I9 I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p&P<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IPI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,'@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$uII$O$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑ 1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,'}$'I$\p$I$ID I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$L$x&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,'}$'I$\p$I$I$I$I$I$I$I$I$I`I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$X$4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIIIҶIҶIҶIҶIҶIҶIҶIҶIIbI$I$c I$OfI$I&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,'}$'I$\p$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑ 1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$}I$@hI$I'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IdI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,'}$'I$\p$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$L$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$P@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$DI$I!pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,'}$'I$\p$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H'`%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$L=JI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I9I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,'}$'I$\p$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IDII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$8(I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p8 1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I20I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,'}$'I$\p$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$hI$I!`I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@ 0-I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$-I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$z%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$Idɐ?I00I!I IIIIIIIIIII"II"I !I$I$I$I$I$I$I$I$I$I$I$I$,'}$'I$\p$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I9I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$&J$DII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$N$J'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$O$h<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IdI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,'}$'I$\p$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I^ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@%I$I$I$I$40I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$h%P<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$O$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I\pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$''I$\p$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ p$O$I$I$I$I$1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$x&,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I\pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$'[H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IdI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$8X'I$I$I$I$I$I$ɐɑDI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`hI$N$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$*I$N$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I1`I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$'NH$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$FI$I)pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@ ,H$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$K$p&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIID$$$$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$x&P4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I1`I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$'NH$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I9I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$&J$I$I$I$I$I$I$I$I$I$I$pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$P$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑ$I$$I$wI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I)PI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$'BH$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I?0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$<H$I$I$I$I$I$I$I$I$I$I$I$1ɐI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ `I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$|I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$M$p%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I!@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$'BH$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ PI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ h$N$I$I$I$I$I$I$I$I$I$I$I$I$ɑDII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$K$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ dI$mI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II!0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$'7H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$Iɑ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$4P'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$.0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$x&`%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`I$M$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$II 0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$'7H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$*I$I)I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ (H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$4 I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I2I$ I$% I$$ I$$ I$I$I{I$I>I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑDII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H'X$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$У'-H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$%x$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɐɑDI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$KI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$LI$II$I7IS$1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I&I$MI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IrI$II$II$II$II$II$II$II$II$II$II$II$I$I$I$I$I$I$I$I$I$I$I$0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I'I$I$I$I$I$I$I$I$I$I$'I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I0I$I!I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$HI$II$I2I$I"I$I@I$II$IIoI$IiLI$I%I$I>I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$/II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$Iɕ  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$У'-H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I#0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$< H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$M$H'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$vI$II'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$sI${I$I$I$I$I$I$I$I$I$I$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I={1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$j&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$L$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$-I$Iɕ  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$У'&H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I`I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ `$N$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$h%@8I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$N= vI$I$I$I$I$I$I$I$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!I$II011I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$x&P<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$BI$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$У'$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$Iɑ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$0P&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1ɐI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$(I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IX1PI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$XI$O'I$I$I$I$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$FIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@(I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$[I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$У'$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$(H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑDII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@I$M$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I)`I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$O'I$I$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I!0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$L$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$vI$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$У'H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@%p$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$I$'0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$J'p&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I\I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$(I$I$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I)`I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɐI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p&P8I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$У'H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$8H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$P<@,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IIF I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p<`0PI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$У'H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ X'M$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɐɑDI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ @I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$;I$IQPI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$K$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IɐI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$У$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ ,&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$O$K$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IDɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p%@4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$(P$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I9 I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$% H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$x&X$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$)pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$)I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ `I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IpI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$(P$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$%p$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1ɐI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$4$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$W`0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,W?P$P$X$`&`'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1I$I(PI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$O$J'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IpI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,X$ H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IPI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$4,H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑDII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$k>I$O$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$($>I$X$I$!x$I$I$I$I$I$$I$wI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$-III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,=N$sh$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IDI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$h%0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I1`I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,X$ H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$)pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ X'L$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ 0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$L$x'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`@#'$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIDII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ X$O$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I1`I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,X$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ (&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`%4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$(У'H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@I$I$p\I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$0%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$If@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$N$J'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I)PI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,X$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$? x$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɐɑDI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$&J$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$m`0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$<=H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$+I$I$`) I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`&p'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I)@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,X$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ID I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$N$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I7PI$I$I$K&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IDI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$0$I$I$I$I$I$I$I$I$I$I$!I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$}`I$N$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1XI$-I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$h<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IdII$I$I$I$I$I$P0@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`'H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$J'`%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$\I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ 9I$I$I$I$I$I$I$I$M'`8I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I}0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$/@ FH$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$\I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$, @I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@I$I$I$I$I$I$I$I$I$O$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IɐI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$4%I$I$I$I$I$I$I$I$I$I$I$I$I$I$pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@I$M$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɐdI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$L'X8I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$p%@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$EI$M$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p$L$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H'X$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɐdI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$O$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I I$I$I$I$I$I$I$I$I$I$I$I$I$J&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$M$J$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$cIdII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$(H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ =@$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p%@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9I$I$I$I$I$I$I$I$I$I$I$I$I$I$, @I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p&X<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IdII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ 1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@PI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$M'X8I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p'p'I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$/I$IPI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ H$N$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1 I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$x&P<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$z=@-I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$/I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$, @I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IdII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$O$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$J'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$x'H$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ID I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IdI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@(I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p8 7I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!IDI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$M'`8I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ 9I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$P4`I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$K$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$%p$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$L$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p8 7I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$5I$I$@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$O$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$J&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$M'P,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$}H$M$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$)ɐI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p&P8I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑI$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p8 BI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$x%@(I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$, @I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II)@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$P I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$(@<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑdII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ `I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑI$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p8 BI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1 I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$K'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$L'X8I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$O"'@FI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$(4I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$X'H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$K$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑ$I$0 I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p8 NI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑI$KI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$P0`I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$$X&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`I$PI$I:I$I$I$I$I$I$I$I$%I$II$I Ix8!I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$%`'I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$%@ ;H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$h%4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$0!I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p8 NI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ DI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$N$h<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$"I$IDPI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$x$K$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$HI I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ H$N$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ )I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$4@%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑDII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ `I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@!I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p8 [I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$UI$I$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$wI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IdII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$D` H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ <I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$PI$II$m I$m I$m I$m I$m I$m Im I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$J$h I$m I$m I$m I$m I$m I$m I$m `I$M$I$I$I$I$I$I$I$I$I$I$HI$I&PI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p$L$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$O$J'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$xI$I$P)I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p8 [I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$x%(I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ 9I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,@<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$X'J$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`H$H$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$! I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$h%0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$[I$I$`1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p8 gI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$)I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$n@I$L'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$P&p'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$<H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`H$H$I$I$I$I$I$I$I$I$I$I$9`I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@$X'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$EI$I$`1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$h4 iI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$mI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$P4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ H$N$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@4@4ɐ\I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$} h$O$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$PIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`H$H$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ H$N$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$N$J'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$7I$I$p\I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$h4 iI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɐI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$O$h%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$(I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@4@4FI$I$@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$O&I$I$I$I$IpI$I$}&`&I$I$I$I$I$I$rI$IIx)I$I$I$I$I$I$I$I$I$I$`I$I$I$1)IIt&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$kI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ 9II$ `I$I$I$I$I$I$I$I$I$I$I$I$I$I$IIIIIO$K'I$I$I$I$I$I$I$I$I$I$I$I$@IIIIc I$I$I$I$I$I$I$I$I$I$I$I$I9aK~00I$I$I$I$1)IIt&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IIII$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$)@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$  I$I$I$I$I$I$I$IpI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$GI$X,III$I$I$I$I$I$`&`&I$I$I$I$I$IpI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$M&))I$I$I$I$`&`&I$I$I$I$I$I$I$I$AI$III$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I${8 [I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$0I$I$I$I$O$K$I$I$I$I$I$I$I$I$I$I$I$I$ɑɐI$I$I$I$I$I$h%4I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$  I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$00I$I$I$I$))I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$0  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$M$p&I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$  I$I$I$I$I$I$ `I$I$I$I$S |$$I$=$I$o$I$I$0 $I I$I$I$I$@<@I$`R'I$I$I$lI$I9I$I$I$I$Z(s$$I$_Д$I$$I$WI$XI$I$I$I$g I$I$I$I$`&`&I$I$I$I$I$I$ I$I I$I$I$I$ P$D'I$И$I$$I$I$@I$sI$I$I$I$p<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$x&X$I$I$I$I$I$I$I$I$I$I$I$I$1pI$I$I$I$I$I$ `I$I$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$  I$I$I$I$I$I$I$I$I$I$PI$I$I$I$0c$.$0?I$I$I$I$))I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$0  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$ )I$I$I$I$I$I$I$I$@4I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$  I$I$I$I$pI$I I$I$I$I$&H$I$I$I$I$I$I$I$I$I$I$I$I$|I$ I$I$I$I$I$I$X&p'I$I$I$I$I$I$ɑ 1I$I$I$I$(г$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`&`&I$I$I$I$I$I$II$I$I$I$` &N$I$I$I$I$I$I$I$I$I$I$I$I$dI$I$I$I$I$N$h%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@0&I$I$0I$I$I$I$I$I$I$I$I$I$;I$IhPI$I$@ I$I$I$K$I$I$I$I$I$I$I$I$I$I$@III$I$I$I$  I$I$I$I$I$I$I$I$I$I$ppI$I$I$I$`$L$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$0  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$\I$I-PI$I$ I$I$@I$L$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$  I$I$I$I$IDII$I$I$I$ >H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$H$H$I$I$I$I$I$IF@I$I$I$I$&J$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9I$I$I$I$I$I$`&`&I$I$I$I$I$I#@I$I$I$I$@%x$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9II$I$I$I$@(I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!PI$I$D` 1I$I$c9I$I$I$I$I$I$I$I$I$I$IdII$I$I$I$pdJI$I$I$I$p%@8I$I$I$I$I$I$I$I$I$I$@III$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$LH$J$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$0  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I I$I$I$I$4)ɐI$I$I$I$x&@4I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$  I$I$I$I$IIDI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pI$I$I$I$H$H$I$I$I$I$II I$I$I$I$, H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑdI$I$I$I$I$`&`&I$I$I$I$IɐI$I$I$I$4H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$I$@I$$I$K$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$,@8II$I$I$I$L$H'I$I$I$I$I$I$I$I$ 9I$I$ ^H$I$<0I$I$ I$I$I$I$I$I$I$I$I$I$@III$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$@H$H$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$0  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$1@I$I$I$I$@&p$II$I$I$@I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$  I$I$I$I$IdI$I$I$I$I$N$x%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9 I$I$I$I$H$H$I$I$I$I$ )I$I$I$I$@I$I$I$I$I$I$ɐ ɐ I$I$I$I$H$H$I$I$I$I$Pp`I$I$I$I$H$J$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  I$I$I$I$`&`&I$I$0III$I$ N$II$II$II$II$II$II$II$II$II$II$II$II$II$II$I4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I0I$I$ I$I$I$I$1ɐI$I$I$L$I$I$I$I$II I$I$I$I$h'J$I$I$II$I$I$( I$I$I$I$I$I$I$I$@III$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$@H$H$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$0  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`&I$I$I$I$I$I$:I$IPI$I$I$I$p$L$I$I$I$I$<I$I$ I$I${`I$M$I$I$I$I$I$I$ɑɑI$I$I$I$  I$I$I$I$I$I$I$I$ I$ I$I$I$I$I$I$I$I$@IB?I$}ɐ ɐ I$I$I$I$H$H$I$I$I$I$pI$I$I$I$H$J$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɐ ɐ I$I$I$I$`&`&I$I$HIDIDI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$88I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$4%I$I$I$I$ɑDII$I$I$I$H'`%I$I$I$I$ !I$I$ aH$I$I$I$I$I$pI$I$I$L$I$I$I$I$I$I$@III$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$@H$H$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$0  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`&I$I$I$I$I$I$III$I$I$I$0I$I$I$I$I$I$I$I$I$I$I$I$x&P8I$I$I$I$I$I$ɑɑI$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$$I$` I$$8wI$I$I$I$I$I$I$I$> I$I$I$I$H$H$I$I$I$I$QpI$I$I$I$K$J$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɐI$I$I$I$`&`&I$I$0IDI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$<@%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9pI$I$I$I$`'H$I$I$I$I$I$I$M0I$I$8(I$I$I$I` I$I$ 0I$I$I$I$I$I$1ɐI$I$I$I$x&P<I$I$I$I$I$I$@III$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$@H$H$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$0  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`&I$I$I$I$I$I$9PI$I$I$I$%h$I$I$I$I$I$I$I$I$ɑdI$I$I$ @I$I$I$I$I$I$ɑɑI$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$n9$I$$I$rI$1$9I$I$I$I$I$I$H$H$I$I$I$I$pI$I$I$I$H'p&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9)I$I$I$I$`&`&I$I$I$I$]@I$I$I$I$#$K$`$I$`$I$`$I$`$I$`$I$`$I$`$I$`$I$`$I$`$I$!I$I$I$I$P&h'I$I$I$I$I$I$I$I$I$I$I$I$I$I$UI$Ib@I$I$ gH$I$I$I$I$I$I$I$)I$I$.I$I$III$I$I$I$$X&I$I$I$I$I$I$IdII$I$I$I$@(I$I$I$I$I$I$@III$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$@H$H$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$0  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`&I$I$I$I$III$I$t H$I$I$I$I$I$I$I$I$I$I$I$pI$I$I$I$O$H&I$I$I$I$ɑɑI$I$I$I$  I$I$I$I$I$I$I$II$II$II$I4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$H$H$I$I$I$I$!1I$I$I$I$X$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$p0I$I$I$I$`&`&I$I$I$I$I$I$I$I$H'h%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PI$I$I$I$x$K$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$ 4I$I$I$I$I$I$I$I$ II$I$I$I$N$K$ɐI$I$I$I$p$K$I$I$I$I$I$I$I$I$@I$I$I$L$I$I$I$I$@III$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$@H$H$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$`&X%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$0  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`&I$I$I$I$ 9I$I$I$I$,%I$I$I$I$I$I$I$I$I$I$I$I$ DI$I$I$I$X< I$I$I$I$ɑɑI$I$I$I$  I$I$I$I$I$I$IIdI$I$I$I$@0,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1I$I$I$I$H$H$I$I$I$I$ɐɑDI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$`&`&I$I$I$I$9 II$I$I$I$4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I I$I$-@ 'H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!I$I$I$I$%`'I$I$I$I$I$I$I$I$IdI$I$I$p&X$1I$I$h@ 1H$I$I$I$I$I$I$I$I$I$! I$I$I$I$x&X<I$I$I$I$@III$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$@H$H$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IDII$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`&I$I$I$I`I$I$I$I$`'K$I$I$I$I$I$I$I$I$I$I$I$I$}II$SI$I$ZI$N$I$I$ɑɑI$I$I$I$  I$I$I$I$I$I$IdI$I$I$@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9I$I$I$I$H$K$I$I$I$I$qII$)I$I$I$I$L'X8I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I  I$I$I$I$I$I$`&`&I$I$I$I$II$(I$I$I$z%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑ9I$I$I$I$4@&I$I$I$I$I$I$I$I$I$I$I$I$I$I$#I$I0PI$I$I$I$H$M$I$I$I$I$I$I$I$I$I$I$PI$I$4((`0I$I$(4I$I$I$I$I$I$I$I$I$I$III$I$I$I$@,I$I$I$I$@III$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$@H$H$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$@I$L'I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɐI$I$I$I$ ,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`&I$I$ID I$I$I$I$,H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9 I$I$I$I$J'X<I$I$ɑɑI$I$I$I$  I$I$I$I$I$I$I$I$`I$I$I$I$N$`4I$I$I$I$I$I$I$I$I$I$I$I$I$I`I$I$p LH$I$I$I$I$I$I$I$ DI$I$I$I$%@I$z=I$I$I$I$I$I$I$I$I$I$AI$II  I$I$I$I$I$I$I$I$`&`&I$I$I$I$I$I$!dI$I$I$I$@I$N'I$I$I$I$I$I$I$I$I$I$I$I$Iɕ [I$I$P x$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IdɑI$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$9I$I$#I$I$%`'I$I$I$I$I$I$I$I$I$I$;I$I$U I$I$I$L$I$I$@III$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$@H$H$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$I$I$(I$O'I$I$I$I$I$I$I$I$I$I$I$I!`I$I$I$I$@I$I$I$I$I$II$ I$I$I$I$0&I$I$I$I$I$I$I$I$AI$I$@I$I$I$I$kI2' I$OgI$I I$IB I9QI$I$ ,I$I$I$I$`&`&I$I$I$I$I$I$I$I$p1I$I$I$I$@@I$@wI$I&I$I$I$I$I$II'OI$I$ %x$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɐ)I$I$I$I$4%I$I$I$I$I$I$I$I$I$I$I$I$ IDI$I$I$I$I$I$I$I$H$L$I$I$I$I$I$I$I$I$I$I$I$I$)I$I$I$I$H&X$I$I$@III$I$I$I$  I$I$I$I$I$)I$$ I$$ I$I$I$I$N$# I$$ I$$ I$$(I$I$I$I$))I$I$I$I$=I$I$@@I$PI$I?I$IMI$IRI1@I$I$I$I$ x$N$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`&II I$I$ H$O$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PI$I$O$J'ɑɑI$I$I$I$  I$I$I$I$I$I$I$I$I$I$ɕI$I$I$I$~pII$I$I$I$I$I$@=H$I$I$I$I$I$I$I$I$I$I$I$ɑI$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ =z$))I$I$I$I$`&`&I$I$I$I$I$I$I$I$`I$I$`|I$I$I$I$I$I$py I$I$I$I$ 4p$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I `I$I$I$I$`'H$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$9` H$I$I$I$I$I$I$I$I$I$I$I$I$I$DI$I$I$I$,I$I$@III$I$I$I$  I$I$I$I$!!I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$((I$I$I$I$))I$I$I$I$` &`&P)I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ 8h$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`& I$I$I$I$ (@<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1 I$I$I$I$X$@,ɑɑI$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$)|I$I$I$I$I$I$I$I$I$I$I$L1j$x$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$SI$I$pɗ$( I$I$I$I$I$I$I$I$I$I$&#'I$I$I$))I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$SI$I$I$I$I$I$I$I$I$I$ :'#'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$ iH$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$pI$I$I$I$,@<I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$@I$M$@III$I$I$I$  I$I$I$I$!!I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$((I$I$I$I$))I$I$I$I$`&`&!I$I$ə$ I$I$I$I$I$I$I$I$I$I$5=M$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$`&`&p I$I$I$I$X'J$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$ɑI$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9$I$I$I$@I$I$К$I$Ax$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$LI$I$I$PnI$ II$0I$$I$I$I$I$I$I$I$))I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$rI$ I$HI$0I$X$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$$I$$I$$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!$I$$I$$I$@$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$$I$$I$$I$ H$I$I$I$$I$$I$$I$I$I$I$I$!$I$$I$$I$I$I$I$I$L$J$$I$$I$$I$I$I$I$I$))I$I$I$I$`&`&I$I$I$I$Mɑ$I$I$PnI$ II$I$$I$1H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$``I$I$I$I$` #H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$)I$I$I$I$̡I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@H$H$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$`&`&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$H I$I$I$I$@$>I$$I1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑ 1I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ >@$>I$$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$sGI$O$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$I$I$I$I$I$I$I$I$OPI">I$O&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$Ig I$I$I$I$I$I$I$I$I$I$ >@$>I$$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I @I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$L$x&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`I$z%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9yI$$ I$$ I$$ I$$ I$d I$m I$m I$I$I$I$ >@$>I$$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I`I$I$I$I$I$I$I$I$I$I$I$I$8!I$I$I$I$I$I$I$I$I$I$I$I$X%4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$N$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I1`I$I$I$I$I$I$I$I$I$I$I$I$I$I$(@$>I$$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IɑI$I$I$I$I$I$I$I$I$I$ X'M$ II$I$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I1`I$I$I$I$I$I$I$I$I$I$I$I$I$I$(У'O$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I1 I$I$I$I$I$I$I$I$I$I$I$I$ ,&I$I$IdI$I$I$I$I$I$I$I$I$I$I$I$L$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$11K$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$K'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I)PI$I$I$I$I$I$I$I$I$I$I$I$I$I$,У$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IɐI$I$I$I$I$I$I$I$I$I$I$I$+ H$I$I$I$I$I$PI$I$I$I$I$I$I$I$I$I$I$I$H'`%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$Hy$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`%,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II!@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,P$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I@I$I$I$I$I$I$I$I$I$I$I$I$%h$I$I$I$I$I$I$! I$I$I$I$I$I$I$I$I$I$I$I$8(I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$ 6I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ ,X$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!pI$I$I$I$I$I$I$I$I$I$I$I$41H$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$*I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$/IImImI2I$I$NI$I$I$I$I$I$I$II$II$II$II$II$II$I8I$I$I$I$I$II$II$II$II$II$II$I@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$II$II$II$II$II$II$I$I$I$I$I$I$II$II$II$II$II$II$I8I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IHI$I2HI$II=I$Ii#I$I5I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$! I$I$I$I$I$I$I$I$I$I$I$I$L$p&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$II 0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ ,X$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$ P'L$I$I$I$I$I$I$I$I$:I$I$^ I$I$I$I$I$I$I$I$I$I$I$I$N$J'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$I$I$I$I$I$I$I$I$I$I$sI$L=I$I$  I$I$I$I$I$I$I$I$I$I$88I$I$I$I$III$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ III$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$))I$I$I$I$I$I$I$I$I$I$88I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IIy)!I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@8 I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,X$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I9 I$I$I$I$I$I$I$I$I$I$I$I$ (%I$I$I$I$I$I$I$I$I$I$I$I$!I$I$I$I$I$I$I$I$I$I$I$I$h%P<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I1PI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$;I$p8  I$I$I$I$I$I$I$I$I$I$88I$I$I$I$III$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ III$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$))I$I$I$I$I$I$I$I$I$I$88I$I$I$I$I$I$I$I$I$I$I$I$I ;I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ 1I$I$I$I$I$I$I$I$I$I$I$I$S[I$O$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$$I$Iɕ  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,X$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$F x$I$I$I$I$I$I$I$I$I$I$I$I$I$ II$I$I$I$I$I$I$I$I$I$I$I$@,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$zI$I1pI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$:@  I$I$I$I$I$I$I$I$I$I$88I$I$I$I$III$I$I$I$I$I$I$I$I$I$  I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ III$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$))I$I$I$I$I$I$I$I$I$I$88I$I$I$I$I$I$I$I$I$I$IImI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PI$I$I$I$I$I$I$I$I$I$I$I$I$I$K$h%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$5I$Iɕ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$,X$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IPI$I$I$I$I$I$I$I$I$I$I$I$, 9|$H$I$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$I$I$I$I$I$I$88I$I$99I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$0H$H$I$I`I$I$I$I$I$I$I$I$I$I$ 4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$$@I$z=I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$dI$I$I$I$I$I$I$I$I$I$I$O$h%I$I$I$I$I$I$I$I$MI$Iq@I$I$I$I$I$I$I$I$I$I$I$I$H$M$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1I$I$I$I$I$I$'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!I$I$I$I$I$I$'I$I$I$I$I$I$I$$I$$I$$I$$I$$I$$I$I$I$I$I$I$I$I$@$?b>$N$h$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$)$I$$I$$I$$I$$I$$I$$I$I$I$9$I$$I$$I$II$I$I$I$I$I$I$I$I$I$I$I$$M$$I$$I$$I$0H$I$yI$I$$I$$I$$I$$I$$I$$I$@$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9$I$$I$$I$$I$$I$$I$$I$VH$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$I$I$I$I$I$I$I$&@I$z=I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɐI$I$I$I$I$I$I$I$I$I$I$I$UI$I$I$I$I$I$I$I$IDɑI$I$I$I$I$I$I$I$I$I$I$I$ H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$(III$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$+@I$z=I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$ I$I$I$I$I$I$I$I$I$I$I$I$J&,I$I$I$I$I$I$ɐ1I$I$I$I$I$I$I$I$I$I$I$I$0$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$(III$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑI$I$I$I$I$I$I$I$I$I$I$I$I$I$0@I$x<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1ɑI$I$I$I$I$I$I$I$I$I$I$I$L@I$L'I$I$I$I$p0I$I$I$I$I$I$I$I$I$I$I$I$X&x$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$)IIIII88I$I$I$I$I$I$I$I$(III$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ ɕI$I$I$I$I$I$I$I$I$I$I$I$I$I$5@I$p8I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`I$I$I$I$I$I$I$I$I$I$I$I$X8I$I$III$I$I$I$I$I$I$I$I$I$ H$O$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$I$I$I$I$I$I$88I$I$I$I$I$I$I$I$(III$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ ɕI$I$I$I$I$I$I$I$I$I$I$I$I$I$>I"I$bI$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IDI$I$I$I$I$I$I$I$I$I$I$O$p%ɑɐI$I$I$I$I$I$I$I$I$I$I$I$,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$))I$I$I$I$I$I$I$I$I$I$88I$I$I$I$I$I$I$I$(III$I$I$I$I$I$I$I$I$I$I$I$pH$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`I$`I$`I$`I$`I$I$I$9I$I$I$I$I$I$I"I$bI$II$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$@1PI$I$I$I$I$I$I$I$I$I$I$I$@I$I$I$I@4bH$I$I$I$I$I$I$I$1` I$I$I$I$I$I$,@<I$I$I$I$I$I$#0P8( III$I$P%P%I$II$I <HI$II$I&I$I$=@I$`aI$II$IrI x$M$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$JJ%`'I$I$I$I$I$I$I$I$ɑdOȄJI$I$X%X%I$I$I$I$ɗ$5 Py $>H$I$I$I$I$I$1XI$I$I$I$I$W, 8{$8,,I$I$I$I$dI$TN >'h$I$I$I$I$I$I$I$I$I04%I$I$I$I$I$I$9ɐI$I$@%h'I$I$I$I$I$I$1@;III$I$P%P%I$I$I$I$I$I$I$I$h&h&I$I$\K$I$I$I$I$( 4p$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$K;0 H$I$I$I$I$I$I$I$I$I$FI$I$ X@ I$I$X%X%I$I$I$I$I$I$:I$I$$I$$I$|$I$I$I$I$I$I$I$I$I$I$I$I$I$$I$$I$yh$I$I$I$8,,I$I$I$I$I$I$I$I$$I$$I$$I$I$I$I$I$I$I$I$I$I$I$I$I$$I$X$I$I$I$I$I$I$I$$I$$I$H$I$I$I$I$I$I$I$ɐ$I$$I$H$I$$I$P$I$I$I$$I$<<$I$`$I$I$I$H$H$I$I$$I$$I$$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$1 (@$I$I$I$I$I$I$I$I$I$I$I$I$@I$I$X%X%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$8,,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$II$I%I$I$I$I$<<I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$`'J$I$I$I$I$I$I$I$I$I$I$I$I$ɑDI$I$I$X%X%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$8,,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ III$I$P%P%I$I$I$I$pI<<I$I$I$I$I$I$H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑə$$$`$$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`)$$$X%l$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$`'$,d$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ II$$$P%l$I$I$I$I$I$I$I$I$I$I$I$I$ə$$$H$L$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$y)Iwy"$0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$hI$II$;I9I$I$I$I$ `I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$=I$II$IIKI$I$I$I$I$I$I$I$I$I$I$I$I$L$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II tI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$H'`%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I/0I$I$I$I$I$I$I$I$I$I$I$I$I$I$EI$I$I$I$I$I$I$I$I$I$4 I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ `I$I$I$I$I$I$I$I$4$N$$I$!pI$I$I$I$I$I$I$I$I$I$>I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IɑIBIBII$X@UI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$II$II$IIɱ 4$N$$I$?x$I$I$I$I$I$III$I$I$I$2PI$I$I$I$I$I$N$J'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$I$I$`,GI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I1PI$I$I$I$I$I$`%$I$?x$I$I$I$I$I$I$I$I$I$I$I$I$I9 I$I$I$I$ (KdII$I$I$I$h%@8I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$I$I$J&P4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I)PI$I$I$I$I$I$`%H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I I$I$I$I$I$I$%x$I$I$PI$I$I$I$(I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$y$I$p9I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I!@I$I$I$I$I$I$&H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IPI$I$I$I$< H$I$I$I$! I$I$I$I$`zI$M$I$I$I$I$I$I$I$I$I$I$I$I$I$I$>I$IIĩ MR~@I' I$I$I$I$I$I$x'|I$II$I$I$@I$I$I$I$I$I$I$I$I$II$I$I$TI$H$I$ɑI$I$I$I$I$I$I$I$I$`I$II$1'III$@4I$I$I$I$I$I$I$I$ɑIDI$I$I$I$I$I$M$x&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I 0I$I$I$I$I$I$&H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑ )I$I$I$I$ `$M$I$I$I$I$III$I$I$I$I$I$K$p&I$I$I$I$I$I$I$I$I$I$I$I$ I$III$I$I$I$I$I$I$I$I$I$@I$I$I$I$x'x'|III$I$I$I$  I$I$I$I$I$I$I$I$III$I$I$I$I$I$TH$H$ɑɑI$I$I$I$,  I$I$I$I$I$IpI$I$I$I$I$I$@4@4I$I$I$I$I$I$I$I$II I$I$I$I$I$I$X<@,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I 0I$I$I$I$I$I$&H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$I$I$0&I$I$I$I$I$I$RII$vI$I$I$I$P<@,I$I$I$I$I$I$I$I$I$I$I$I$IɐI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$x'x'|III$I$I$I$  I$I$I$I$I$I$I$I$III$I$I$I$I$I$TH$H$ɑɑI$I$I$I$,  I$I$I$I$ɑɐI$I$I$I$I$I$=@4@#9I$I$I$I$I$I$I$I$ !I$I$I$I$I$I$!(I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$Iɕ  I$I$I$I$I$I$&H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$0I$I$I$I$ H$I$I$I$I$I$I$I$I$I$!I$I$I$I$ I$I$I$I$I$I$I$I$I$I$I$I$1I$I$I$I$,'I$H$I$I$0! I$I$I$I$I$I$x'x'|III$I$I$I$  I$I$I$I$I$I$I$I$III$I$I$I$I$I$TH$H$ɑɑI$I$I$I$,  I$I$I$I$ 9I$I$I$I$8_x$I$I$I$I$I$I$I$I$I$[I$IEPI$I$I$I$I$I$I$I$L$x&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$Iɕ " I$I$I$I$I$I$&H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IDII$I$I$I$I$I$@%p$I$I$I$I$I$I$I$I$I$I$ II$I$I$I$I$I$F I$I$I$I$J'`%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$I$I$I$I$I$I$X,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$ I$I$I$I$( I$I$I$I$)I$I$I$I$ qH$I$I$I$I$I$I$I$I$I$I$I$I$I$$I$$I$$I$p$I$I$I$I$I$I$I$I$I$$I$$I$$I$x$I$@I$I$$I$$I$$I$I$I$~ɑ$I$wI$0II$I$$I$I$I$I$I$I$I$ɑ$I$$I$$I$$I$ɑ$I$$I$$9I$I$I$I$ 88$I$$I$1$I$$I$$I$$I$I$I$I$I$I$I$I$I$I$I$$I$$I$$I$$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$I$I$I$I$I$I$X,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9II$I$I$I$I$I$L'P4I$I$` I$I$I$I$ 0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɕI$I$I$I$I$I$I$99I$I$I$I$88I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$X,I$}_I$I'I$I$I$I$I$I$I$I$I$I$I$I$p!I$I$I$I$IOI$I$I$I$$X&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$,  I$I$I$I$99I$I$I$I$88I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$$I$$I$$I$$I$DI$}I'I$}_I$I'I$I$I$I$IDI$I$I$I$I$;xI$I$I$I$I$I$x$L$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑɑI$I$I$I$,  I$I$I$I$99I$I$I$I$88I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$9I$I$I$I$I$I$I$I$}I'I$}I$I$I$I$I$I$I$I$I$I$5` H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$Lɑ$I$L$I$L$I$L$I$I$I$I$I$L9$I$L$I$L$I$L$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$#I$I$I$I$I$I$I$I$I$I$I$I$I$I$@I$I$I$I$I$I$I$I$I$I$,@<I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$! I$V I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$P&p$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ H$N$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$Iɑ$I$I$@ɛ$I$I$I$I$(I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$uI$I$I$0$8B$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IJ!dI$H$(I$IIbCI$I$HIDII"-(I$I]~I I" I$ɕ[@{IP I"'h&I$I I"'I$I$I$I$I$I$IJpI$x&I$I$IrI0I$L$IDII")(I$I$I0@I1B6IJ!`I$H$I$I$IK9I$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!!dH$H$ID XK'h%HII(( 9p$H'I$I$ɐp'p')Dx$I$I$I$9 h&h&)6p$I$I$I$$N$x$I$I$aI$I4 4X$0II@x&P<II((I$I$. " I$I$!!`H$H$I$I$99H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!!dH$H$9`@HO$0BHII((ɐ\I$`wIR'$I|p'p'). " I$I$I$I$ Ih&h&& IIII'`&I$I$I %`'RI ` 'H$@,^II((I$I$" " I$I$!!`H$H$I$I$99H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!!MM 8I$I$)IL((I$I$X%_9$I$ p'p'LZI$I$I$I$ 9h&h& >1m$I$$I$ h'J$I$I$ !H$M$99@ayH$I$!IL((I$I$" " I$I$!!M$K'I$I$99H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!! =P&x$I$I$ Ih ((II$I$0H$I$) I$xPIW@(h&h&) I$z5`I@3'H$I$/I$I D I$I$ Id ,I$I$ H&X$((II:,!!P"TI 9H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!!@@ GH$I$I$I$I$I$<((I$I$I$I$a$I$2x$I$I$I$I$I$g $I$sP$I$  h&h&I$I$cI$I${$I$I$I$I$I$I$I$$I$I$I$I$I$$I$I$I$I$I$$IhI$I($I$" " $I$!!`H$H$t$I$9H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!!8P'I$I$I$I$I$I$)ɐ(b;I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$  h&h'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II(b;I$I$" I$I$I$!!`H$H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$#I$II$I IIL'h%I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$II$In [I$I$I$I$I$I$@8(I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$PI$I$ D'@I$I$I$I$$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I>I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IIIҶIz@t$D'I$$I$I$I0 /I$I$N$J'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!!-@I$L'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I z*(У'O$I$I$I$I$I$I$ID I$I$4P'I$I$p&P<I$I$I$I$I$I$I$II$yII$ I$O=I$IRI$I0I$II$II$I$I$I$I$II$II$II$II$I&I$I$I$II$II$I'I$I$DII$I$`%0I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I &(У'O$I$I$I$I$I$I$I$I` (H$I$II$@,I$I$I$I$I$I$ɕ)I$I$,?@f`0011  I$I$I$I$ I$I$NNI$I$`&`&III x'x'I$I$IdII$I$ I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$Idɐ"(У'O$I$I$I$I$I$I$I$I$ɑ 1I$I$%x$I$I$I$I$``0I$I$I$I$I$I$8`P,p$I$/I$0011  I$I$I$I$ I$I$NNI$I$`&`&III$I$'x'I$I$I$I$ɐ) I$I$N$H&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IdpI$I$$$I$I$I$I$I<H$I$I$I$I$I$)P&K$I$I$I$I$I$I$00I$I$I$I$0011  I$I$I$I$ I$I$NNI$I$`&`&III$I$x'x'I$I$XI$I6P $X<@,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$I$I$=$$$$$x, @ I$I$I$I$I$I$ 9N$h<I$I$I$I$I$I$00I$I$I$I$0011II$O$I$I$ I$I$NNI$I$`&`&III$I$x'x'I$I$III$I$X&H$!I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$+@I$z=I$I$I$I$I$I$I$I$ɐI$I$L'X8I$I$I$I$@I$I$I$I$I$I$00I$I$I$I$0011I$I$K&I$I*)ps OII$I$`&`III$I$x'x.I$I$1P0@ HH$I$ I$I$M$x&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$!I$/@I$x<I$I$I$I$I$I$|I$I$ I$O$II 4I$I$I$I$I$I$00I$I$I$I$0011  @I$I$ 4`$III$I$``I$I$I$I$I$I$HHD4%I$I$II$P<(I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$)I$j4@I$x8I$I$I$I$I$I$9II$I$p%@I I$I$%`'I$I$I$I$I$I$F$I$F$I$I$I$I$I$F$I$F$I$B1$I$B$I$$I$I$$I$P$I$I$I$I$I$I~$I&II$I$'x'Bȑ$I$B$I$B`$I$I$I$I$I$B$I$B$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$)I$$ I>I$@I$I>I$I$p!9I$I$H$L$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$III$I$`&`&III$I$x'x'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$1 I$I$@I~I$I$I$I$ H$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$&$I$&`$I$&I$I$&$I$&x$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑ$I$I$$LI$I$I$I$I$I$0$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ I$X&x$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$c<I$$I$II$}I$&qI$9I$IaI$KI$MDI$qI$N&I$I$I$S0I$ RI$OI$}&I$o/I$c<I$IfI$M$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$c6$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$KI$II$;I9M$x&I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɑ79$ɑ ,`%4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I`I$X4I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I\p`%H$I$$I$I1pO$ I$I$I$IIiIҘI‡I&@$IIIB IB6(IĉIB:0ɑID@I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I1`K$$ I$$ I4P'I$I$T9I$I$ɐ ɐ &p'xx@$@$II@ @ ((!!H$K$Iɐ(N$J'I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ɕ :@I$@I$@ dp%@I$I$s(:@I$I$ɐ ɐ p'p'xx@<`IIQ @ ((!!pH$H?)@` O`$,I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ ɕX,&I$I$!I$I$HIKF,I$I$ɐ ɟ$p'O$ɟ$O$]$n$pI 6'|$ $CI$I$"$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$s DI:ɐ 0P@z&z&   I$I$UnitySplash-cubeEDB??+զ/C+( E( P # ף@ #A ף@ # ף #A ףEDBDBD?PHA ff6 p=* #\ףףp= p33G(= )\ᅬGGڿ{ ף (k= QE5Q(( p ף>zQ8?p=J?)\?p(?RG?z$G?\2Q? C)\?RQ?)\@?G:?\5?G> כL>L>= )\GǾ33Ǿffp=Rp=p=̌\̌\(zԿ zԿףףQף= ̼= G{.)\G1 כG1 דpMGףP S S{X̄Yp}\uR^Rnף`(lGa`zdQXfffGQQhIp=j\B(l@l 3pz$ s!u)\u33s({np== gzTzTף@U@= W@W)\?Y)\?p=ZR>(\R>\{>R^{>)\_p=Gap=a< c@@µ@@@)\?\@{>½@;z4p-5G*ff6)= 7'Q8ff&8z$p=:33#G:G!(< p=R>)\?ף@QGAff\B33C33zD= G QH IQGJ= KL pMRNף)\OpףPG33SףzT{U= WWGXR޿YGڿGZQؿ[zԿ\ѿp]{οR^˿)\_ǿף`ſaR33c( cQeµe뱿= g)\ghp=j\hGQhp= gGᚿezzd둿 c{\baף``GR^p}{^u\ףp(\hGZ cY= WQXQWp=JffVEUp=zTQ8 Sף0\R+Q #ףPRP= RNpM(LKףp=Jff澙I= ׾QH̾GpffF33E ףzD Cp=\BGAL@Q8)\?{>p=̽(< ף;Lp=:9Q8 ף<7L=ff6)\=5= 3)\>\2\B>333{.>\2)\>G1=G1)\=0<0R. #R.)\p-Gὤp-)\(,Q8(,= WG*G*)\) ף)33Q(ǾQ(= ׾= '= 'G%%)\z$z$G!33#+33#333!p=!Eף )\Oף = W)\Ga)\h{33s{Gz\ff()\p=zp=QpQff)\GzGQ(p(Gpffƿpp=ʿR)\ϿR33ӿ Qؿ (ܿG!G΅G!\"p=\"{ #33 #= %(%ff&\ff&z'= '( (p p=*p=*+z+ff,,G{.p{.)\)\/!)\/ #ף0ff&ף0Q(G1(G1p=*\2,3330\20= W?)\33>)\> ף> ÿ ףQ= W?(\?z(\? @(\@\Q@z@8@p=:@zp=:@G8@ף @k33?kz?= ׾?̌?)\p=?p=?ž??{?z)\?ף(?(\I@)\QH@QH@zI@h@p=j@zp=j@h@)\ @\B@u\@33>p=@33>q@= Wq@333Q@p=@@@zR@pݿ ף<33 ף< ף=ffQ= דG=p> SG>33Sff>GQff>ףPף>\R>33S(>zT>ffVQ>ף`Q=x Q ׃ףp̄G̼\z\I@33>QH@>QH@)\I@Qh@Qp=j@)\p=j@>h@33>ff9@RY@Gף`@G33c@̴33c@ףa@33W@p=)\O@{P@GZ@Q@)\(L@ffF@ ׻ C@ ׻z4@R.@RR.@zף0@R.@ffR.@(0@(7@ u@ s@z c@zfff@)\Ga@(p=Z@(9@\2@ffR.@R.@u@ףpA@\9@…ffF@gffF@fff= G@fffU@)\oף`@x c@ c@3333c@ffף`@p=U@GףP@Gף@@ff6@ ׃R.@\rR.@p=jff6@fff<@QhA@ ףпU@ףпe@\⿅q@Qq@\p=j@\zD@pף0@ף)\/@ףп)\/@ףп9@QؿR>@0@p0@(ף0@ ff6@(p]@a@G1@G0@= 0@ffG1@ff s@= u@zu@zt@ff C@ffF@\@)\(l@u@)\u@ s@G1@)\0@ 0@33G1@\p]@RQH@(5ףP@1\B@p-\2@+0@ #0@\"ף0@Q)\O@33)\_@33Ga@z\b@\b@pף`@R\@z$I@')\?@G*(L@0)\_@G1\b@9\b@;ף`@33CzD@zD)\?@ffFE@{Nף`@P\b@W\b@Xa@Xp]@= Wp=Z@ffVU@33S{N@\RH@RN@@{NG:@p=JG1@QH0@ף@0@R>ף0@(<9@9E@)\\b@ףGa@ףG1@)\0@Q0@= G1@= Ga@Q\b@ h0@h(l@Qu@ſu@ǿzt@ǿG1@ſ0@z0@̬ S@Q@0@{G:@{ף@@\B@\zD@E@{ffF@(G@33H@ ׫A@ ׫)\?@pG:@Q7@ ׳7@(Q8@̜G:@p<@ff@@ffA@= GJ@RK@ffP@pU@ כX@33X@p=Z@p=Z@)\Y@ffY@z= W@zT@\GQ@\)\O@p=GJ@G@p== G@p=\B@\A@GR>@ ד(<@̔p=:@)\7@7@p=Q8@ )\O@GQ@ ׃U@\QX@GZ@{GZ@Gzp=Z@= wX@ sU@\r\R@q)\O@GqRN@pRN@)\u@ף s@ףGj@)\i@Qi@= Gj@=  s@Qu@UnityWatermark-trial-big^xx        00000     00000000   00000000   000000000    0000000  0000000  0000000  0000@@@@000  0000000  0000000  0000000000  00000@@@@@@@@000000  0000000  000000@@@@@@@00000  0000000  0000@@@@@@@@00000  0000000  0000000  00@@@@@@@00  00@@@@@@00  0@@@@@@00  00@@@@@@@@@@@00 000@@@@@@0  00@@@@@@00  00@@@@@@@@00  000@@@@@@@@@@@@@@@@@@0000  0@@@@@@00  000@@@@@@@@@@@@@@@@@@00  0@@@@@@00  000@@@@@@@@@@@@@@@000  0@@@@@@00  00@@@@@@00  0@@@@@@@@@0  0@@@@@@@@@0  0@@@@@@@@@0  00@@PPPPPPPPP@@@00000@@@@@@@@@@0  00@@@@@@@@0  0@@@@@@@@@@@@0  00@@@@@PPPPPPPPPPPPPP@@@@@00  0@@@@@@@@@0  00@@@@PPPPPPPPPPPPPP@@@@00  0@@@@@@@@@0  00@@@@PPPPPPPPPPPPP@@@000  0@@@@@@@@@0  00@@@@@@@@0  0@@PPPPPPP@@0  00@PPPPPP@@0  0@PPPPPPP@0  00@@PPPPPPPPPPPP@@@@@@@@PPPPPPP@0  0@@PPPPPP@@0  0@@PPPPPPPPPP@00  00@@@@PPPPPPPPPPPPPPPPPPPPP@@0  0@PPPPPPP@0  0@@PPPPPPPPPPPPPPPPPPPP@@@00  0@PPPPPPP@0  00@@PPPPPPPPPPPPPPPPPP@@@00  0@PPPPPPP@0  0@@PPPPPP@00  0@@PPPPPPP@@0  00@PPPPPP@@0  0@PPPPPPP@0  00@PPPPPPPPPPP@@@@@@@@@@PPPPPPPP@0  0@@PPPPPP@@0  0@PPPPPPPPPPP@@0  00@@PPPPPPPPPPPPPPPPPPPPPPPPP@@0  0@PPPPPPP@0  0@@PPPPPPP@@@@@@@@PPPPPPPP@@00  0@PPPPPPP@0  0@@@PPPPPPPPP@@@PPPPPPPPP@@00  0@PPPPPPP@0  0@@PPPPPP@00  0@@PPPPPPP@@0  00@PPPPPP@@0  0@PPPPPPP@0  0@PPPPPPPPQA@@@@@@@@@@@PPPPPPPPP@0  0@@PPPPPP@@0  0@PPPPPPPPPPPP@0  00@@PPPPPPPP@@@@AAAAA@@@@PPPPP@@0  0@PPPPPPP@0  0@@PPPP@@@@@@AAA@@@@@PPPPPP@@00  0@PPPPPPP@0  0@@PPPPPPPP@AA"B"B"BAA@PPPPPPP@@00  0@PPPPPPP@0  0@@PPPPPP@00  0@@PPPPPPP@@0  0@PPPPPP@@0  0@PPPPPPP@0  0@@PPPDTXklmmm][YUE000@@@@PPPPPPPPP@0  0@@PPPPPP@@0  0@@PPPPPPPPPPPP@00  00@@PPPPPPPDTwWZ[\\]mmm]\[ZwWDD@@PP@@0  0@PPPPPPP@0  0@@P@@3CfVY[\]]]n]]\\ZwWDTPPPPPP@@0  0@PPPPPPP@0  00@PPPPPPDTX[lmnoonnmlZwW3SPPPPP@@00  0@PPPPPP@@0  0@@PPPPPP@00 3#^nmmmmmmmmmn]U%3#]nmmmmmmmmnn9""\nnmmmmmmmnnK 0@@P3Sjooooooooooo]8 000wWnmmmmmmmmnnL8nnmmmmmmmnn^D$ 0DDmmmmmmmmmmmmmkA0  0@@PPPPQfVknoooooooooooooooon[X3S@@0 \nmmmmmmmmnnK 0@ADTYmoooooooooooooooomY3SPPPP@@0 !\nnmmmmmmmnnK 0@@PPP"RYmoooooooooooooonmwWQPPP@@0 3#\nmmmmmmmmnnJ8nnmmmmmmmmn]D$D$ooooooooooooof&3#ooooooooooooK3#^oooooooooooL 0@PXooooooooooooooo^w7 0Yoooooooooo]9ooooooooooooD$ 00YooooooooooooooUE0  0@@PPPDTYnooooooooooooooooooooooolY33 ^ooooooooooo] f6ZnoooooooooooooooooooooolfVPPP@0 !]ooooooooooo] 0@@PP"RYnooooooooooooooooooomXQPP@@0 3#^oooooooooooL9oooooooooooD$D$ooooooooooooof&3#ooooooooooooK3#]oooooooooooL 0@Yoooooooooooooooooo9 Iooooooooooo]9ooooooooooooD$ 0AlooooooooooooooZ00  00@PPPYooooooooooooooooooooooooooooo8]ooooooooooo\8oooooooooooooooooooooooooooj"RP@0 !]ooooooooooo] 00@PPUUmooooooooooooooooooooooom3SP@@0 3#^oooooooooooL9ooooooooooonD$D$ooooooooooooof&3#ooooooooooooK3#]oooooooooooL 00YooooooooooooooooooooLKooooooooooo]9ooooooooooooD$ 0DDooooooooooooooonA0  0@@PDTmooooooooooooooooooooooooooooo:]ooooooooooo\:oooooooooooooooooooooooooooomDT@@0 !]ooooooooooo] 0@@PXoooooooooooooooooooooooooonUUP@00 3#^oooooooooooL9ooooooooooonD$D$ooooooooooooof&3#ooooooooooooK3#]oooooooooooL UEoooooooooooooooooooooooooooooooooo]9ooooooooooooD$ 00XoooooooooooooooofV0  0@PfVoooooooooooooooooooooooooooooooo;]ooooooooooo\*ooooooooooooooooooooooooooooonUU@0 !]ooooooooooo] 0@PiooooooooooooooooooooooooooooofV@@0 3#^oooooooooooL9ooooooooooonD$D$ooooooooooooof&3#ooooooooooooK3#]oooooooooooL 0]oooooooooooooooooooooooooooooooooo]9ooooooooooooD$ 0@moooooooooooooooo[@0  0@@wWooooooooooooooooooooooooooooooooo,]ooooooooooo\,oooooooooooooooooooooooooooooonDD0 !]ooooooooooo] 00@YoooooooooooooooooooooooooooooooUU@0 3#^oooooooooooL9ooooooooooonD$D$ooooooooooooof&3#ooooooooooooK3#]oooooooooooLw7ooooooooooooooooooooooooooooooooooo]9ooooooooooooD$ 0UEooooooooooooooooon"B0  0@UUoooooooooooooooooooooooooooooooooo.]ooooooooooo\-ooooooooooooooooooooooooooooooo\1 !]ooooooooooo] 0@UUoooooooooooooooooooooooooooooooom"B0 3#^oooooooooooL9ooooooooooonD$D$ooooooooooooof&3#ooooooooooooK3#]oooooooooooLLoooooooooooooo_N>?O_ooooooooooooooo]9ooooooooooooD$ 00ZoooooooooooooooooofV0  0Amoooooooooooooooooo____oooooooooooo.]ooooooooooo\/oooooooooo^LJIIIZ]ooooooooooooooH !]ooooooooooo] 0"Bmoooooooooooooo_OOO_oooooooooooooo[@0 3#^oooooooooooL9ooooooooooonD$D$ooooooooooooof&3#ooooooooooooK3#]oooooooooooL^oooooooooooo^w73#"-_ooooooooooooo]9ooooooooooooD$ 0Amoooooooooooooooooo[@0  0Yooooooooooooooo^<)wfUUfw)<^oooooooo-]ooooooooooo\ooooooo^JD4"200000@A3CYoooooooooooo]!]ooooooooooo] 0YoooooooooooooO/_oooooooooooooDD0 3#^oooooooooooL9ooooooooooonD$D$ooooooooooooof&3#ooooooooooooK3#]oooooooooooLU_ooooooooooon"B0 3#Koooooooooooo]9ooooooooooooD$ 0UEooooooooooooooooooon"B0  3CnoooooooooooooLf& U%:]ooooo<]ooooooooooo\oooooKf6 000@@@@@@@PPfVooooooooooooU%!]ooooooooooo] "2noooooooooooo? Ooooooooooooo[0 3#^oooooooooooL9ooooooooooonD$D$ooooooooooooof&3#ooooooooooooK3#]oooooooooooLooooooooooooY@000 0Zooooooooooo]9ooooooooooooD$ 0@ZoooooooooooooooooooowW0  ZoooooooooooooH 000000000000 1H]ooo:]ooooooooooo\oooMD$ 00@@@@@PPPPPPP"Roooooooooooo*!]ooooooooooo] HooooooooooooODDDDDDDDDD _ooooooooooooD4 3#^oooooooooooL9ooooooooooonD$D$ooooooooooooof&3#ooooooooooooK3#]oooooooooooLoooooooooooofV@@@@0000000Xooooooooooo]9ooooooooooooD$ 0Anoooooooooooooooooooo\@0  "2mooooooooooooUE00@@@@@@@@@@@@@@@00@wGn:]ooooooooooo\/o_8 00@@@@PPPPPPPPPPDToooooooooooo=!]ooooooooooo] ]oooooooooooo!]ooooooooooo]33ooooooooooooNU_ooooooooooo\ 3#^oooooooooooL8ooooooooooonD$D$ooooooooooooof&3#ooooooooooooJ3#]oooooooooooL_ooooooooooowWPPPPPPP@@@@Xooooooooooo]9ooooooooooooD$ 0@[oooooooooooooooooooooowW0  Jooooooooooon3SPPPPPPPPPPPPPPPPPPPPPP@00 ]ooooooooooo\ 00@@PPPPPPPPPPPDTXmooooooooooooo/!]ooooooooooo]Hoooooooooooo9Mooooooooooon""3#^oooooooooooL8ooooooooooonD$D$ooooooooooooof&3#ooooooooooooJ3#]oooooooooooL_oooooooooook@@PPPPPPPPPXooooooooooo]9ooooooooooooD$ 0"Bnooooooooooooooooooooool@0  ]oooooooooook@PPPPPPPPPPPPPPPPPPPPPP@00 ]ooooooooooo\ 0@@PPPPPPP"RDTXkmoooooooooooooooo/!]ooooooooooo]Koooooooooooof&9oooooooooooof63#^oooooooooooL8ooooooooooonD$D$ooooooooooooof&3#ooooooooooooJ3#]oooooooooooLOoooooooooooowW@@@@@@@@@@Xooooooooooo]9ooooooooooooD$ 0fVoooooooooooooooooooooooo3C0 ^oooooooooooX@@@@@@@@@@@@@@@PPPPPPPP@0 ]ooooooooooo\ 00@PPPP"RwWjmooooooooooooooooooooo!]ooooooooooo]]ooooooooooo^3#f6oooooooooooo:3#^oooooooooooL8ooooooooooonD$D$ooooooooooooof&3#ooooooooooooJ3#]oooooooooooL/ooooooooooooo[3C0000@@@@Xooooooooooo]9ooooooooooooD$ 0@[ooooooooooooooooooooooooX00 oooooooooooofF0000000000000@@@PPPPPPP@0 ]ooooooooooo\ 0@@PP3Sjnooooooooooooooooooooooo_!]ooooooooooo]]ooooooooooo]!""ooooooooooooK3#^oooooooooooL8ooooooooooonD$D$ooooooooooooof&3#ooooooooooooJ 3#]oooooooooooL_oooooooooooooo]KHU5"2000Xooooooooooo]9ooooooooooooD$ 0"Booooooooooooo_oooooooooool@0 D$oooooooooooo]\\\\\\\\\\\\\\[[kkkkkkk[\\""]ooooooooooo\  0@P"Rkoooooooooooooooooooooooooo/!]ooooooooooo]"^ooooooooooo] !ooooooooooooL3#^oooooooooooL8ooooooooooonD$D$ooooooooooooof&3#ooooooooooooI 3#]oooooooooooLooooooooooooooooooo^]\mooooooooooo]9ooooooooooooD$ 0XooooooooooooO=ooooooooooooDD0 f&ooooooooooooooooooooooooooooooooooooooo3#]ooooooooooo\  0@UUnoooooooooooooooooooooooooo_ !]ooooooooooo]D^ooooooooooo\  !noooooooooooM3#^oooooooooooK HooooooooooooD$D$ooooooooooooof&3#ooooooooooooI0 3#]oooooooooooL?ooooooooooooooooooooooooooooooooo]9ooooooooooooD$ 0@looooooooooooooooooooooooX00 (oooooooooooooooooooooooooooooooooooooooD$]ooooooooooo[0  00fVooooooooooooooooooooooooooo_!]ooooooooooo]U_ooooooooooo\  1noooooooooooN3#^oooooooooooK  HooooooooooooD$D$ooooooooooooof&3#ooooooooooooX000 3#]oooooooooooL3>oooooooooooooooooooooooooooooooo]9ooooooooooooD$ 03Cooooooooooooo_ooooooooooom@0 foooooooooooooooooooooooooooooooooooooooD]ooooooooooo[@00  03Cnoooooooooooooooooooooooooo_(!]ooooooooooo]U_ooooooooooo\0  1ooooooooooooN3#^oooooooooooZ  HooooooooooooD$D$ooooooooooooof&3#ooooooooooooX@@@00000000 3#]oooooooooooL)^oooooooooooooooooooooooooooooo^9ooooooooooooD$ 0wWooooooooooooOOooooooooooooDD0 DoooooooooooooooooooooooooooooooooooooooD]oooooooooooZ@@@000000000 0\ooooooooooooooooooooooooooLD$!]ooooooooooo]U^ooooooooooo\00  0AooooooooooooM3#^oooooooooooZ0  0HooooooooooooD$D$ooooooooooooof&3#oooooooooooowWP@@@@@@@@@@0 3#]oooooooooooL3#Knoooooooooooooooooooooooooooo^9ooooooooooooD$ 0@loooooooooooo>ooooooooooooZ00 _ooooooooooooooooooooooooooooooooooooooU]ooooooooooojP@@@@@@@@@@00 U5ooooooooooooooooooooooooo]f60 !]ooooooooooo]Noooooooooool@0  00"Boooooooooooo=3#^oooooooooooY000 000XooooooooooooD$D$ooooooooooooof&3#oooooooooooowWPPPPP@@@@@@@0 3#]oooooooooooL 001wG\nooooooooooooooooooooooooo^9ooooooooooooD$ 03Coooooooooooo_ _ooooooooooomA0 3_ooooooooooooooooooooooooooooooooooooo_D]ooooooooooojPPPPP@@@@@@@0 Kooooooooooooooooooooo^LHD400000 !]ooooooooooo]OooooooooooomA@00 00@DToooooooooooo-3#^oooooooooooY@@0000000@@XooooooooooooUD$ooooooooooooof&3#oooooooooooowW@PPPPPPPPPP@0 3#]oooooooooooL 0@@@0033UEI[^noooooooooooooooooooo^9ooooooooooooD$ 00YooooooooooooO>ooooooooooooUE0 Oooooooooooomm]]^^^^^^^^]]mooooooooooo_U]oooooooooooZ@PPPPPPPPPP@00 ^oooooooooooooooon]KIU5"2000@@@@0 !]ooooooooooo]?oooooooooooo3S@@000000000@@fVoooooooooooo 3#^oooooooooooY@@@@@@@@@@@Yooooooooooo_UD$ooooooooooooof&3#oooooooooooowW@@@PPPPPPPP@0 3#]oooooooooooL 0@@@@@@@00013CDDfFwWXYZkmoooooooooooN9ooooooooooooD$ 0Amoooooooooooo- -ooooooooooooY@0 /oooooooooooDT@@000000000@@3SoooooooooooODDD]oooooooooooZ@@@PPPPPPPP@0 ""oooooooooooooomYfF100000@@@@PP@0 !]ooooooooooo]/ooooooooooooUUP@@@@00@@@@@PYooooooooooo_ 3#^oooooooooooY@PPP@@@@PPPkooooooooooo_fD$ooooooooooooof&3#oooooooooooomwW"B@@@PPPPP@@0 3#]oooooooooooL 0@PPP@@@@@@@@@@@@@PPXoooooooooooN9ooooooooooooD$ 0DDooooooooooooo f_ooooooooooon@0 ooooooooooowWP@@@@@00@@@@@UUooooooooooo?]ooooooooooonY3C@@@PPPPPP@0 3oooooooooooooXA@@@@@@@@@@PPPP@0 !]ooooooooooo]oooooooooooojPPP@@@@@@@PPPmoooooooooooO 3#^oooooooooooY@@@PPPPPPPPmooooooooooo_UD$ooooooooooooof&3#ooooooooooooooo\YUU"RPPPQ"RUEH83#]oooooooooooL 0@PPPPPPPPPPPPPPPPPPYoooooooooooO9ooooooooooooD$ 00Xoooooooooooo>OoooooooooooofV0 _ooooooooookPPP@@@@@@@@PPXooooooooooo/]oooooooooooooo]YfV3SQPPPQDDwGIDooooooooooookPPPPPPPPPPPPPPPP@wGI!]ooooooooooo]_ooooooooooonQPPPPPPPPPPPUUoooooooooooo/3#^oooooooooooZ@@@@PPPPPPUUoooooooooooo_3D$ooooooooooooof&3#oooooooooooooooooonnmnnnooL3#]oooooooooooLD4"2@@PPPPPPPPPPPPPPPP"Rmooooooooooo?9ooooooooooooD$ 0@moooooooooooo.oooooooooooo[00 ?oooooooooon3SPPPPPPPPPPPPlooooooooooo^ooooooooooooooooonnmmnnno^!3_oooooooooooXPPPPPPPPPPPPPP@"BZo^"!]ooooooooooo]?ooooooooooooXPPPPPPPPPPPloooooooooooo3#^ooooooooooooZ"B00@@PPPQloooooooooooo_D$ooooooooooooof&3#ooooooooooooooooooooooooooM3#]oooooooooooM"oo[fV@@@@@PPPPPPPPPPQkoooooooooooo?9ooooooooooooD$ 0UEoooooooooooo_ _ooooooooooon"B0 _oooooooooo[@@PPPPPPPPPUUooooooooooo_^ooooooooooooooooooooooooo^_oooooooooook@PPPPPPPPP@@@"BYnoo^"]ooooooooooo]ooooooooooooofV@PPPPPPPPYooooooooooooO3#^ooooooooooooon[wG3CAA3SwWmoooooooooooooOD$ooooooooooooof&DooooooooooooooooooooooooooM3^oooooooooooM"_ooomZUE"B@@@@@@@@@AfVlooooooooooooo9ooooooooooooD$ 00Zoooooooooooo_>oooooooooooofV0 ?oooooooooooY@@@@@@@@@Alooooooooooo?^ooooooooooooooooooooooooo^?ooooooooooooYA@@@@@@@@@3CYnoooo^"^oooooooooooMOooooooooooooowWA@@@@@"BZooooooooooooo/D^ooooooooooooooooonnoooooooooooooooo?D$oooooooooooooU%DooooooooooooooooooooooooooMD^oooooooooooM3_oooooon][ZYXXYZ\noooooooooooooo_9ooooooooooooD$ 0Amoooooooooooo.-ooooooooooooZ@0 _ooooooooooo\UE000000fFmoooooooooooo^ooooooooooooooooooooooooo^ooooooooooooon[HfFUEfFwGX[]ooooooo_3^oooooooooooNoooooooooooooom[ZZZ[noooooooooooooOU^ooooooooooooooooooooooooooooooooooo33oooooooooooooU5f_oooooooooooooooooooooooooNf^oooooooooooNU_ooooooooooooooooooooooooooooooo?9ooooooooooooD$ 0UEooooooooooooo _ooooooooooooA0 /ooooooooooooo][JJ[]ooooooooooooo?_ooooooooooooooooooooooooo_" OoooooooooooooooooooooooooooooOf"NoooooooooooN?ooooooooooooooooooooooooooooooooof_oooooooooooooooooooooooooooooooooo_ 33oooooooooooooD4  _oooooooooooooooooooooooooO _oooooooooooO _oooooooooooooooooooooooooooooo_9ooooooooooooD$ 0@ZooooooooooooO OoooooooooooowW0 ?oooooooooooooooooooooooooooooo__ooooooooooooooooooooooooo_D_ooooooooooooooooooooooooooooO DOoooooooooooOOooooooooooooooooooooooooooooooo/ _oooooooooooooooooooooooooooooooooo? 0"2oooooooooooonDD0  _ooooooooooo??oooooooooooo? Oooooooooooo?_oooooooooooooooooooooooooooooo/9ooooooooooooD$ 0@noooooooooooo.-oooooooooooo\@0 Oooooooooooooooooooooooooooooo/OoooooooooooO/oooooooooooo_ooooooooooooooooooooooooooooOfOoooooooooooO_ooooooooooooooooooooooooooooo?_ooooooooooooooooooooooooooooooooo_ 000000000000"Boooooooooooon3C000000000000 _ooooooooooo?/_oooooooooo?_oooooooooooO_ooooooooooooooooooooooooooooo?9ooooooooooooD$ 0fVooooooooooooo _ooooooooooon3C0 Oooooooooooooooooooooooooooo/OoooooooooooO_oooooooooo__ooooooooooooooooooooooooooODOoooooooooooOOooooooooooooooooooooooooooo?_oooooooooooO?oooooooooooooooooooo/ 0@@@@@@@@@@@@"Boooooooooooon3C@@@@@@@@@@@@0 _ooooooooooo?Oooooooooo?f^oooooooooooN_oooooooooooooooooooooooooooo/9ooooooooooooD$ 00[oooooooooooo_U>oooooooooooofV0 ?ooooooooooooooooooooooooo/OoooooooooooO?ooooooooo__ooooooooooooooooooooooooo_"NoooooooooooN?ooooooooooooooooooooooooo/_ooooooooooo?/ooooooooooooooooooO 0@@@@@@@@@@@@@"Roooooooooooon3S@@@@@@@@@@@@@0 _ooooooooooo?/_ooooooo?D^oooooooooooM_ooooooooooooooooooooooooooO9ooooooooooooD$ 0"Bnoooooooooooo>-ooooooooooool@0 OoooooooooooooooooooooOOoooooooooooOOooooooo_/_oooooooooooooooooooooo_/^oooooooooooN/_oooooooooooooooooooooO_ooooooooooo?Oooooooooooooooo? 0@@PPPPPPPPPPP"Roooooooooooon3SPPPPPPPPPPPP@0 _ooooooooooo//O_oooo?3]oooooooooooM/O_ooooooooooooooooooooo_O/9ooooooooooooD$ 0fVooooooooooooo _oooooooooooo"B0 Oooooooooooooooooo_/OoooooooooooOO_ooooO/_ooooooooooooooooo_O/^oooooooooooM/_oooooooooooooooooOOooooooooooo?/_ooooooooooo_/ 0@@PPPPPPPPPPP"Roooooooooooon3SPPPPPPPPPPPP@0  U5UEUEDTDTDTDTDTDTDDUEfFU5/?O__ooooooooo_O??9ooooooooooooD$ 0@[ooooooooooooO OooooooooooooX00 /?Oooooooooo_O//?O_ooooooo_O?/U5UEUEDTDTDTDTDTDTUEUEfFU5/?_ooooooooo_?/?_ooooo_O/ 0@@PPPPPPPPPPPQoooooooooooon"RPPPPPPPPPPP@@0  0@PPPPPP@@0 9ooooooooooooD$ 0Aooooooooooooo>-ooooooooooool@0 /// 0@@PPPPP@@0 //!33"B"R"R"R"R"R"R"R"R"R"R"R"RDToooooooooooonUU"R"R"R"R"R"R"R"R"R"R"R"R"B33! 0@@PPPPPPP@0 9ooooooooooooD$ 0Xooooooooooooo oooooooooooooDD0  0@@PPPPPPP@00 :onnnnnnnnnnnnnnooooooooooooonnnnnnnnnnnnnno: 0@@PPPPPPP@0 9ooooooooooooD$ 0\oooooooooooo_OooooooooooooH0  0@@PPPPPPP@00 <ooooooooooooooooooooooooooooooooooooooooooL 00@PPPPPP@@0 9ooooooooooooD$ D4ooooooooooooo>-oooooooooooo^!  00@PPPPPPP@0 ooooooooooooooooooooooooooooooooooooooooooo?(oooooooooooo_D;oooooooooooofooooooooooooo//oooooooooooo_DUoooooooooooo_U/ooooooooooooooooooooooooooooooooooooooooooo?oooooooooooo_U,oooooooooooo?oooooooooooooooooooooooooowoooooooooooo_f /ooooooooooooooooooooooooooooooooooooooooooo?oooooooooooo_.ooooooooooooOoooooooooooo_Ooooooooooooo?oooooooooooo_ /ooooooooooooooooooooooooooooooooooooooooooo?oooooooooooo_ /ooooooooooooooooooooooooo?/oooooooooooo_ oooooooooooo_ /oooooooooooooooooooooooooooooooooooooooooo?oooooooooooo_/oooooooooooo/ooooooooooooooooooooooooooooooooooooo_/___________________________________________/oooooooooooo_/ooooooooooooO____________OO____________?oooooooooooo_oooooooooooo_/oooooooooooooooooooooooo_oooooooooooo_/oooooooooooooooooooooooo_UnityWatermark-trialLPP       0pp00`` ``0@``p` `` `P0`pp`0 `` Ppp`0 `` PpppP `` `` `p00 0Ppp0 0@0`p`@00@``@@Pp`pP@0 0 U~0 0P0 0`P "@0U@P""@0 0 _0 0@0 0 f` ۪ʪʙ@0ͻ˻0PP0 0 00@00ߙ 0@̬ ʪ@P p0P@@@P@ @`0@p0@0̜ 0PY@ @@0̌0@p`p@ Pp@0"b000@`p 0fv@pp w@ `0 ppp ppy[~}ݝ 0^\ݝ~ݝ  O  `` `` UnityWatermark-beta 0@ 0PP@   0  00  00       00     0P  0000  00   0 0@@0 0@@00@P`P@0 0PP`P@0@PPP@0 @P@00@P@ @@ 0@@00@@00@@  @PPP@0 @@00@@00@@0 @P@0@Dt0 @``PPP@0@PPP@00@@@00@P`P@ 0``PPPPP`P@@Ppp`@@P``pp`P`ppp`@ 0`p`PPppP0@PP@0P`P@@PP@@PP0 @`````@0@PP@@PP@@PP@@P`P@P0@Pp`P```P`ppp`@@P`P@0Ppp`0ppppp@P@`"̼ 0pp@@@@f̜@@@00P"b@@@@PP@@P@ P`"PU̜00hUe0PP̼p۪ʻ˻0@p3@PPPݽ{@PP00ݭ@@PPPPPP̼UewP P̼`۪ʻ˙`ݽ| 00@0ވ@@```˻˻˻0 @fPPPP@0@``00fV 0@@``PPPP`P0Pp`p`ʻ˻˪p@ ވ00w@ ̜00`pP  wg̼PPPPP@Ppp 00 0@@pp@@P`p`wg0@p`"rPpP0 ̜00@@ @P `p@PP{ݽ̜y@P``PPp`00 0@0``00P`pfv 00@PP``@ 0@P 000 }ݝݝݭ̼@ݍJݍll}0@xy@00 0@  @̜m\0̼0ݍݝxj}ݝݝ0̜ ̌0o0w'>=, 00o00 00 0N0``` (w' 8   00     00  `PPݭݭ>UnityWatermark-eduP` `@             P ``0`pp`0 `` 0`pp`0 @ppppP0@pppp` 0`p`@@```pP@p`0 `` 0`pp`0 `` ``0@``p` `` PppppP0Ppp`00`pp`@0`pp`0 `` `` `` D 0  `pp`@0 pp`@0ppp@p0 `pPPppp p` 0@`pp` 0 0Ppp0 0 p@@``0`pp@ `pp`@0 0 0@00  UUP0 U@wP0 UݍU ^0PUU 0 0P0 0 ݽ0U@"̼ UUP0 0 0`P0@0 0P00ʪʪʙPP00n 0/0P00 0@0 00@ͻ˻0ۻ˪ڪ 0P0 0 0 f`0p`@0@@PP ʪP0@P0 0 @ 000P@@ 0@@0ߙ 00 0Pp ʪ  @@PP@ 0@̬ 0p`P00pp@@ 0ppP0 0 pP@h0PP 0@pp 00̜ 00 0P̌  pp@ @PY@0pp w@ppp@  p`@@`pp `p00 pp pp @`p 0  0`0pppp pp @fv@0ݭnݝ̬0}\ݝ9}ݝ 0ݝ~ 0^\0p``@???o ?/ ??o ??? O pppP  ``  ݝݝݝݍUnityWatermark-devsFF PP p  00     0@     000      `ppp` 0`pp`0 `P0`p`@ `` 0`pp`00p`0 `` `` `` 0`pp`@0`` `` 0pp0 `ppp`0 PppppP ``0`` @ppppP0p`P0`p`@ @0 pp@0@`pp` 0pp`@ 0 0@`pp@@0 0`p00p`p`@p 0P0 ppp 0"@"0`P U̼0PUU 03P 0 0P"̼@0 0 U~03Pݽ 0P0 w 0P۪ʪʙPf`0ʪڪ 0P00P 0 0Pۻ˪ڪP0 0 _0̬ݭ̼@ 0P00 0 wG@ʪ`̬ 0˪ʪ 0P@@ 0@@P@@@@@ʪPP@0 000 0 0P0 0@ 0 0@pY@ 0@pp 0pp@0@0@`00ppU0 0 0P0 pp 0 00ppfv@p00pp pp pp`ppp pp0Pp@0Y   @0p 00 @ ݍ^\ݝ0 y[0ݭݭ 00ݝ̬ 0p`O?? ??/o?0pp  @ o  pp3  pp ``0 ݝݝݝݝ WarningSign@@    0000000000000000000000000000000000000000000000000000000 0@@PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP@@00QaqqaQ0`p0E0E`p##@f@g0  D D ``"ݰ"0f@gpp`p`pp 3 4 aP P `0V000Vq00p300 4Pw 0Px  0V 0Vq `#2!3@w2"""2@x2"""" D""""" Ea"""""a"""""""@g""""q@gqq""""q 4q""""q D Qq""""qQ"q""""q"0V0fqq 4 4 PP 0U0Vaq#3@g@w E Eaa##0f0fq 4 D PyQ @X@@@@@@UnityWatermark-protoW             `` `` PpppP 0pp0`` 0`pp` `` ``0`pp`0 `` 0`pp`@ 0```pP0@`pp@ 0`pp`@0 P@Pp`pP0`p0 0 `ppP@00 `p`@0@`pp@0`pp0@Ppp@`pp@0 0p@""@U~ 0 U"@00 "@P"̼0f0P"̼00PPP_ 00P00 ۪ʪʙ@Pۻ˪ڪ00ݭ@ۻ˪ڪ 0Pp@@@P0 00@@@P0@0ʪ@Pʪ0@`30ʪ 0p̬@p`p``0@`00pp@@0pP@@ Y0ݭ 0fV0ppp`p@Pp@ pp w@ "b@pp00pp0`pp"r@pp0f0 ݝy[yj~ 0\ݝݝݝ00 ? ?/?? pP >ݍ?UnityWatermarkPlugin-betaB 0@ 0PP@ 00     0P  0000  00   0  @PPP@0 @@00@@00@@0 @P@0@Dt0 @``PPP@00PPP@00@@@00@P`P@  @`````@0@PP@@PP@@PP@@P`P@P00Pp`P```P`ppp`@@P`P@0Ppp`00P"b@@@@PP@@P@ 0`"PU̜000ݭ@@PPPPPP̼UewP 0̼`۪ʻ˙`ݽ| 00fV 0@@``PPPP`P00p`p`ʻ˻˪p@ ވ000 0@@pp@@P`p`wg00p`"rPpP0 ̜000 0@0``00P`pfv 00@PP``@ 0@P 00 0@  @̜m\0̼0ݍݝxj}ݝݝ00 00 0N0``` (w'   00  `PPݭݭ>_MainTexwhite^CGv?tjaБ$Idv~twv=!5#DV`Y +f t%/Uh vxDpi=<_r"/A (h3\2 2 ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? A A A A C C unity_FogStart unity_FogEndunity_FogDensity unity_FogColor!!! !! !!!E[oo^ 2B*%;Y3B=I;@S)}4Q!Puݡ~|a h*v` ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? A A A A C C unity_FogStart unity_FogEndunity_FogDensity unity_FogColor!!! !! !!!3Z½1Ư:Y[$W3r Fiљ!ݖ|Oh~|d!$JR" Y](дo uD/.7 ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? ? pA ? A A A A C C unity_FogStart unity_FogEndunity_FogDensity unity_FogColor  'Hidden/FrameDebuggerRenderTargetDisplay H: HQ!3((* D(X 4b` &h & P,A,ISGNLjz8HkAPPOSITIONTEXCOORDOSGNPTTToSV_W SHDR@iYF @H_r ug e Rh2$"Vl4j2 p"F(`*(p*F0|&V hT( ( hj(D6<"F># UnityPerDrawu_ObjectToWorldP(L LFramep(PMatrixVPL& l H Vd|ĉjRl,mפ7&0S&,(X ,@rTarget p;Z;`TbXp UUb2pEE 4(#F~P`X XZ A#  &ML88d 8?W "@,D,(70T6 r|DQ>DĢ.?< <D,M<40e7 r *F(:Dk$GlobalsP &Channels28(4Lev& $0_UndoOutputSRGB@_MainTex8@`;ߖnh V:!*`B`h0`r```VtLM<6T`@` `P\ Sx d o  texture> using namespace {; #if !(__HAVE_FMA__) #define fma(a,b,c) ((a) * (b) + (c)) #endif struct VGlobals_Type { float4 hlslcc_mtx4x4unity_ObjectToWorld[4];0 MatrixVP+%};vMtl_VertexInuPOSITION0 [[ attribute(0) ]] o3 TEXCOORD*1*n:Outomtl_PositionHp /]]mUuser(pvd o (R{constan{&bbbuffer,62` input(pstage_i;) {)~ioutput u_01!" =h.u.yyyy *.",1]S@=0],Txxxx,R)`+2`Ozzzz` +31FQC1F;%0] ?/1)S&2S2Sy.`_3_Owwww_E.xyz 0ereturn}  $O#LD\ ,@xL/z#ifndef XLT_REMAP_O B {0, 1, 2, 3, 4, 5, 6, 7}JtFexpr~0uint_remap_o[] =T;>F"_ChannelsME_Levfa_UndoO{MSRGBFragment u I SV_TargetKhcolor(&0]fE RFF tsampler_P1Tex/f12d<, access::-8 > B.0;c=?3? 24Cbool,b4f.(,,$(-. O.x =* yn/P?xxx&*R DCdot(2,0(1.)48`C%b4l4==1.0((-I)) ?* :%'yz gclamp(a, 0.0ff22J 0(0.305306017, )/682171106, )0125228781, /))6*` 7 Y != 0&yzY ww]L$ <($ ( ^p}Ocube z( o_array , round(/z),G P( & bX o?xxx&* sCdot(),Ri(1.0, )46U8%b4]4==1.8((-I)) ?/ :q1/yzgclamp(4, 002O>*(0.305306017, .682171106, {[0125228781,  a^ -O0(! !?IIwwC@ T $Globals$$E ([<(K$P$ #,, π#pL0,@x{ 4 OCube z ' * / /33$@ *%_Array *P (pS` & o9> 9 >9 >9;  >9F>> 9' )Q)%p ?93>G9H>+9'Q>.FĢ.?S ,M<> 9n>)>>G  ) 9M9uP9M 99   O - ""$! M?K":#+  *?#+ /K3(*"X?"^[``!:[pJ"hj3># "G"G Rh ""  "g0=q `  888|+XZ[lJK ".zJa"q pGt "  D" 3 [o"j  3o HTVUT G@Gd   >9 _о>9RkR  9\2(L DE>F9G>PR9SR9U>> 3`c Pd agG^9a9e9h sU#"$#B&J`0K2##%6%%@%BD)",r"LP|4|A" ||^|W%|l|$%&# ,%!&&<&PPHR "#XHD XHD"^nK,PGlobals189459984$0 _Channels4TH(4Lev& $P$UndoOutputSRGB(, Vunity_MatrixVP8TU@,ObjectToWorld0_MainTex/<H/ /pppp4(pmp p#p3kp>9k%k'k'kk1k;E9Fk%k!lkkk'kaE  ' kkK9sP9K 9fk/k e@ "o e6#) ([V)-eB1&(eTeZ[f\8edfe 1># eEeEeeee?VXYe)`o neEe eA1 ~d_m~c`$3378392089`s`q<`` ?`ş290852464``q <`$ FrameDebuggerRenderTargetDisplay*_MainTex??.GameSkinv'box*L?L?L?????????button*fff?fff?fff??*????*fff?fff?fff??????*f?f?f??*????*fff?fff?fff???toggle +!d?!d?!d??+????+?????+c?c?c??+???? +?????labelfff?fff?fff????????? textfield+L?L?L??+fff?fff?fff???+????+???????textarea+f?f?f??+L?L?L????+???????window+???????+???????  horizontalslider+????????@Ahorizontalsliderthumb+?+?+??????@Averticalslider +????????@Averticalsliderthumb+?+?+??????@Ahorizontalscrollbar+???????? pAhorizontalscrollbarthumb*????????PAhorizontalscrollbarleftbutton????????horizontalscrollbarrightbutton????????verticalscrollbar +???????? pAverticalscrollbarthumb +????????pAverticalscrollbarupbutton????????verticalscrollbardownbutton???????? scrollview????????thumb???????? leftbutton???????? rightbutton?????????????Š>333?box  PPp````pP````````P````````````````````````````````````````````````````````````P````````Pp````pPP button active @@2̒̒2^tttBBB666666666666BBBttt^2sss000555555555555555666///rrr0333///666555666555666555000333$$$...666555555555555555...###’̒  ̒   2kkkjjj0^jjjjjj^2̒̒2 button hover  w7wwwwwww7wWU333333UwWw7f33333333Uw7w3333333333ww3333333333wwwwwwDDDDDDDDDDwwffffffffffww7www7wWwwwWw7wwwwwww7button on hover  w7wwwwwww7wWffUUUUffwWw7fUUUUUUUUfw7wfUUUUUUUUfwwUUUUUUUUUUwwDDDDDDDDDDwwDDDDDDDDDDwwwwwwwwwwwwwwww7w7wWwWw7wwwwwww7 button on  00P"UUUUUU"P0UUUUUUUU"0UUUUUUUUUUUUUUUUUUUUDDDDDDDDDDDDDDDDDDDDwwwwwwwwww0330PDDP00button  00P"3333"P0333333330"33333333"3333333333DDDDDDDDDDDUUUUUUUUD0"ffffffff"0P"fwwwwf"P00horizontal scrollbar thumb  00p333333p0333333330""""""""""3333333333DDDDDDDDDD0"UUUUUUUU"0p"UffffU"p00horizontal scrollbar`` PPPPPP PPPPPPPPPP `PPPPPPPPPP``PPPPPPPPPPPP`pPPPPPPPPPPPPppPPPPPPPPPPPPppPPPPPPPPPPPPp`PPPPPPPPPP`pPPPPPPPPPPp`pPPPPPPPPp`p`PPPP`p pppp 00pphorizontalsliderpp```pPPp`pPPPPppPPPPpppslider thumb active D3U%əəəəf&əəəəəɈəəəəəəəəəəəəəəəəəɈȈȈȈșəəəəɪʪʪʙəəɪʪʪʪʪʪʙəɻ˻˻˻˻˻˙Ɉʻ˻˻˻˪ʈU̻˙f&DD slider thumb  DwwD DwwwwDwwwwwwwffffwwUfffwwLjȈȈȈwȈȈȈȈȈəəəəəfƪʪʪʪffƻ˻f slidert humb hover wwwwwwwww'wwwwwww'wwwwwwwwwLjwwwwLjwwwffffwwwwffffwwwwLjȈȈȈȈwwLjȈȈȈȈȈwwǪʙəəəɪwwɪʪʪʪʙwww̙ww'wwwwwwww toggle active9əəə9YwD33333DwY9w333333333w933333333333"333333333""""""""""""9ff9YffY9əəə9 toggle hoverw7wwwwwwww7wWUD33333DUwWw7U333333333Uw7wD333333333Dww33333333333ww"""""""""""wwwwwwDDDDDDDDDDDwwfffffffffffww7ffw7wWffwWw7wwwwwwww7toggle on hoverw7wwwwwwww7wWUD33333DUwWw7U333333333Uw7wD3333Dww33"͙"33ww""Ι""wwݽݽwwݽݽwwUUΪUUwwwwwͻwwwww7ffw7wWffwWw7wwwwwwww7 toggle on00P3333333P0333333333033333333"͙"33""Ι""ݽݽݽݽUUΪUUfwwͻwwf0330P33P00toggle on active9əəə9Yf""fY9ff9""͙͙""ݽݽ"""3ݽݽ3""Ι"""ݽݽݽ""9ff9Yf""fY9əəə9toggle00P3333333P033333333303333333333333333333333"""""""""""DDDDDDDDDDDDUUUUUUUUUD0"fffffffff"0P"fwwwwwf"P00vertical scrollbar thumb  00p"D3"p0"UD3"30UUD3"33fUD3"33fUD3"33fUD3"33fUD3"33UUD3"330"UD3"30p"D3"p00vertical scrollbar`` 0ppp p`PPPP`ppPPPPPPPP`pPPPPPPPPP`PPPPPPPPPPpPPPPPPPPPPPpPPPPPPPPPPPpPPPPPPPPPPPpPPPPPPPPPPP`PPPPPPPPPPpPPPPPPPPPppPPPPPPPP`p`PPPP`0ppp ``verticalsliderpp`pp`pPPppPPPpPPPpPPpp`p`` window on.~~.nn̜DDD̜wDDDDDDDw.wDDDDDDDDDw.̜DDDDDDDDDDD̜DDDDDDDDDDDUDDDDDDDDDDDUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDwDDDDDDDDDDDwDDDDDDDDDDDĪ~.fDDDDDDDDDf.fDDDDDDDfwDDDwתnn.~~.windowppPP"rDtDtDt"rp3sDtDtDtDtDtDtDt3sp 3sDtDtDtDtDtDtDtDtDt3s pDtDtDtDtDtDtDtDtDtDtDtp3sDtDtDtDtDtDtDtDtDtDtDt3sDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD3DDDDDDDDDDD3p"DDDDDDDDDDD"p 3DDDDDDDDD3 p3DDDDDDD3p"3DDD3"PPpp textfield  :ʪʪ:ZwwZ:ww:ʪʪʪʪ:ww:ZwwZ:ʪʪ: textfield on  >>^""^>>>>^""^>>textfield hover  =ݍݽݽݍ=]]==ݝݝݝݝ==]""]=ݍݽݽݍ=#UnitySplash-HolographicTrackingLoss  UUUU_UU5 "+ cUb"zꠀUU^Xc*9bU9UU9bUUAbU`_U"`BՕ5-kB5R r)JU)JWf1( BB^Z\V"VVVV9-c!bZ5ZUV؋jJ-f)BTWWW!\\TVAUU !"mk!)UU{UUIBfܻeIJc^WU`!VUUU 5U -_xp\WUA5UUUUU_UUA\UUU