All Downloads are FREE. Search and download functionalities are using the official Maven repository.

32.eyelib.21.0.7.source-code.EffekseerNativeForJava64.dll Maven / Gradle / Ivy

There is a newer version: 21.1.7
Show newest version
MZ????@??	?!?L?!This program cannot be run in DOS mode.

$?|???????????+m?????+m??}??+m???????????????????????+m????????V??ۙ?????ۙ?????ۙk????ۙ?????Rich???PEd???f?" (@?P?
?p ``p#P@ ??l?P ??y?{(?x@P?.text?>@ `.rdata ?P?D@@.datah^@B&@?.pdatal???h@@.rsrc?@  @@.reloc?P  @BH?
?;?܂
????H?
	<?̂
????H?
9<鼂
????H?
i<鬂
????H?
?<霂
????H?
?<錂
????fo?Hfo
??)Yrfo1?)jr)
Sr???fo?Hfo
??)Yrfo?)
Zrfo
?J)[r)
dr????H??(H?
er?dO
H?
m<H??(???
H?
?<??
H?
]<???
H??(A?H?gtE3?H?
?s?]
H?
?<H??(鰁
@SH?? ???
H?
1tH????]
H???E3?H??H?tH?
t?b
H?
?<H?? [?`?
H?axL?zsL?[xH??tH?HcHL?DPL?CxH?DxH??tH?HcHL?DP???H??(H?
%s?dN
H?
u<H??(???
H??(H?
5x?DN
H?
?<H??(?؀
H?
Q<?̀
?????;&????????????K&????????????)???????????I???(4????????H?\$WH?? ?T$PH??I??3??4H??H??t3f9t?H?@??f?8u?H?D??H??H?\$0H?? _H??H??H?\$0H?? _?????????????I???4????????H?\$WH?? ?T$PH??I??3??4H??H??t3f9t?H?@??f?8u?H?D??H??H?\$0H?? _H??H??H?\$0H?? _?????????????I???3????????H?\$WH?? ?T$PH??I??3??3H??H??t3f9t?H?@??f?8u?H?D??H??H?\$0H?? _H??H??H?\$0H?? _?????????????I???X3????????I???h3???????̋T$(I???t3????H?\$WH?? ?T$PI??D?D$XH??H??3??3H??H??t+f9tH?@??f?8u?H?D??H??H?\$0H?? _H??H??H?\$0H?? _????????????̋T$(I???t3???̋T$(I???3???̋T$(I????3???̋T$(I??D?D$0??3???????????????H?\$H?|$AVH?? H?I??H?T$PE3?L??????\$`H??D?D$XH??H??? 4M?E3?H?T$PL??I????A??H?|$8??H?\$0H?? A^??H?\$H?|$AVH?? H?I??H?T$PE3?L?????D?L$`H??D?D$XH??H???4M?E3?H?T$PL??I????A??H?|$8??H?\$0H?? A^???H?\$H?|$AVH?? H?I??H?T$PE3?L?????D?L$`H??D?D$XH??H???Q5M?E3?H?T$PL??I????A??H?|$8??H?\$0H?? A^???H?\$H?|$AVH?? H?I??H?T$PE3?L?????D?L$`H??D?D$XH??H???!6M?E3?H?T$PL??I????A??H?|$8??H?\$0H?? A^???H?\$H?|$AVH??0H?I??H?T$`E3?L?????D?L$xH??D?D$hH??D?L$ H??D?L$p??6M?E3?H?T$`L??I????A??H?|$H??H?\$@H??0A^?????????I???x8???????̋T$(I???8???̺I???s8??̋T$(I????8???̺I????8???I???h9???????̋T$(I???t9???̋T$(I??D?D$0?o9??????????????̋T$(I???d9????I???h9???????̀|$0I?ȋT$(A???[9??????????̋T$(I??E3??A9̋T$(I????=????H?T$(I????=??̋T$(I??D?D$0?_>??????????????̀|$0I?ȋT$(A???K>???????????H??H????$8I????$0??$???$??@???$(?H???$ ?@???$?H???$?@???$?H???$?@???$??H???$??@???$??H???$??@???$??H???$??@???>H?Ę???????D$PI???L$H?\$8?T$0?D$8?D$@?L$0?L$(?D$(?@?̀|$0I?ȋT$(A???{@????????????\$8I??D?D$0?T$(?)B??????????D$@I???\$8?T$0?T$(?D$(?B?????????????D$@I???\$8?T$0?T$(?D$(??A?????????????D$@I???\$8?T$0?T$(?D$(??A????????????H??H??x??$I????$???$???$???$??@???$??H???$??@???$??H???$??@???$??H???$??@???$??H???$??@??H??AH??x????????H??H??x??$I????$???$???$???$??@???$??H???$??@???$??H???$??@???$??H???$??@???$??H???$??@??H??H??I?^H??I?v?c??H?|$0H?\$8H?l$@H?t$HH?? A^???
????S???H?\$H?t$H?L$WATAUAVAWH??pM??L??H??E3?A??D??$?H?LcHI?\	(H??~
I;?vI+??I??L??H?t$(I?L	HH??tH??P?H?HcA?|0t2??*H?D0PH??tH;?tH????H?HcA?|0?????D$0??uA?A???1HcA?L0?????@tl?H??tfH?HcHD?D1XH?L1HH?A@H?8t$H?QX???~?ȉH?I@H?H?BH?D?A???	A??H??P???uA?A??D??$??*H???H?HcHH?L1HH?M??I???PHI;?A?uZf?H??t]H?HcHD?D1XH?L1HH?A@H?8t$H?QX???~?ȉH?I@H?H?BH?D?A???	A??H??P???tH??먃???$?H?HcHL?d1(?E3?A?H??$???$?L?|$(H?HcHH?yH?yHEE?D?A??D?qD#quG??=
??u	I???+?I?HcHJ?L9HH??tH??P?H??L?\$pI?[8I?s@I??A_A^A]A\_?A??t	H?@1?A??H?K1H?\1HDغH?L$8?L??H??H?L$H??
H???H?L$H?8?
????????????????@SVATAVH??(L?qH????????H??M??I+?H??H;??WH?l$PI?,H?|$XH??L?l$`H??L?iL?|$ H;?wDI??H??H??H+?L;?w3J?)H??H;?HB?H?KH??u3??MH??rH??L?l$`H?|$XH?l$PL?|$ H??(A^A\^[????
???????????H?\$H?t$WH??0H??H?Hc@H?D@H?xH?|$(H?H???P?H?L$ ?eL??
H??A?P@??H??tH?H???RH??tL??H??A?@??H????H???H??H?\$@H?t$HH??0_???????????????@SUVWAVH?? L??3?H?L$X?7
?H?-^WH?l$`H?=?[H??u=3?H?L$P?y7
H9=?[u?r[???j[H?H?y[H?L$P??7
H?=h[I?NH?4?H;ysH?AH?H??ua?3ۀy$t?><
H;xs
H?@H?H??u?H??tH???5I??H?L$`??H???t:H?\$`H?\$PH????;
H?H???RH??VH?L$X?67
H??H?? A^_^][??3??̈T$H?L$USVWAVH??H??@H??E3?D?u@?{?	?H?,H?L?v@?V??uCH?
VH?MH???H?8L?0H?N@H??t
H??PL?v@H?~@H?MHH??t
H??PH?~@?PI????uNL??UH??UH?MH?/??H?8L?0H?N@H??t
H??PL?v@H?~@H?MHH??t
H??PH?~@?pU??u@D????H?MH?*?H?8L?0H?N@H??t
H??PL?v@H?~@H?MHH??t
H??PH?~@H??? L?E8H?V@H?M??)????L?uHH?8L?0H?MHH??tH??PH?}HH?UHH????	?H?M?H??tH??P?H?V@H?M??????L?uHH?8L?0H?MHH??tH??PH?}HH?UHH???'?	?H?M?H??tH??P?H?V@H?M??9????L?uHH?L?0H?MHH??tH??PH?]HH?UHH???ߩ	?H?M?H??tH??P???`
H?E?H??tL?uHH?UHH???۱	?I???E@L?u?H?E?H?U?H???+?	?H??H??@A^_^[]?????????????@USVWATAVAWH?l$?H??H??H3?H?EL??H??H?M?E3?W?E?L?e?L?e?M??I?xvM?0I?XH????????H;??vH??wH?]??H?M?AE??H??H??H;?v0H??H??'H???_
H??H???H??'H???H?H??:H???H;?HB?H?OH??uI???H??rH?A'H;??????^
H?E?H?]?H?}?L?CI??H??躶H?M?H?]?H?E?H?E?A)M?H??tSH??H+?H??r"H?CH?E?H?E?H??HGE?f?: ?D?%H?D$ L?
?(E3??H?M??????(M?fo?fs?fH~?H?fA~?H?U??P?H?U?H?}?HGU?L?E?H?M??Q?H?U?H??v1H??H?M?H??H??rH??'H?I?H+?H???H??????]
E?E?M?ML?e?H?E??E?L?E?fH~?fs?fH~?H??LG?H??&H?H?VW?L?E??E?H?M??u~
H??'H?H?UH??v-H??H?M?H??H??rH??'H?I?H+?H???H??w8?\]
H?m'H?AFH??H?MH3??d
H?İA_A^A\_^[]??Ծ
???????¾
??????????H?\$WH?? H??H??%H?H?QH??W?H?K?}
H??&H?H??CH?\$0GH?? _????@SH?? H??H??H?
?%W?H?SH?H?H?g}
H??%H?H??H?? [?????@SH?? H??H??H?
]%W?H?SH?H?H?'}
H??%H?H??H?? [?????H??%H?AH?AH?^%H?H??????????????????@SH?? H??H??H?
?$W?H?SH?H?H?|
H?H%H?H??H?? [?????H?A%H?AH?AH?%H?H??????????????????@SH?? H??H??H?
}$W?H?SH?H?H?G|
H??H?? [???????????????H?\$WH?? H??H?<$H?H?QH??W?H?K?|
H?<%H?H?Z&CH?\$0H?H??GH?? _??????????@SH??p)t$`H??H3?H?D$PH??H?L$ A0W?D$0W??L$@I??????f?I??B?<u?H?L$0?A??H?M??u????H?8E3?L?8H?}?H?M?H??t
H??PL?}?H????W?E?W??M?@?N:
H??H?E?fo??E?

H@ ??@0??A8@?y9H?Uй?u7	?H?U?H???lH??H?M?H??H???PH??'H?I?H+?H???H???}?2A???H?M????L?0L?8H?H??tH??PL?3H?M?H??tH??P??D$ A?A???H?M??R?H?0L?8H?KH??tH??PH?sH?M?H??tH??P?H?H????H?{??L?}?H?H???H?M?H??tH??PH?}?H?H?H?U?????H?M?H??tH??P?H?KH?3H?H?U?????L?}?L?0L?8H?M?H??tH??PL?u?H?H?U?H???PX?H?M?H??tH??P?H?KH?3H?H?U?????L?}?L?0L?8H?M?H??tH??PL?u?H?H?U?H???Ph?H?M?H??tH??P?H?KH?3H?H?U?????L?}?L?0L?8H?M?H??tH??PL?u?H?H?U?H???Px?H?M?H??tH??P?H?KH?3H?H?U?????L?}?L?0L?8H?M?H??tH??PL?u?H?H?U?H??????H?M?H??tH??P?H?KH?H?H?U?????L?}?H?0L?8H?M?H??tH??PH?u?H?H?U?H??????H?M?H??tH??P????H??PL?;H?KH??t
H??PL?{W?E?W??M?@?7
H??H?E?fop?E?
H@ ??@0??A8?A9H?Uй?24	?H?U?H??v-H??H?M?H??H??rH??'H?I?H+?H???H??w@?6
2?H??t
H?H???R????2?H?M?H3???=
H??$?H?ĀA_A^_^]??"?
???
????H?	H?H?` ??????H?\$H?t$WH??0H??H?1H??u?????H?\$HH?t$PH??0_?H?T$@H??????H??H?H?L$ ??$
L??E3?H??H??????H?L$@H??tH??R???H?\$HH?t$PH??0_??????????????H?	H?H??????H?\$ UVWAVAWH?l$?H???H?a?H3?H?E'E??D??H??3?H9Y??H?]?H?IH?H?U?????H?]?H?0H?H?M?H??tH??PH?u?H?E?H?D$ E??E??H?U?H?M??4?H?0H?H?OH??tH??PH?wH?M?H??t
H??PH?]?H?M?H??t
H??PH?]?H?M?H??tH?H?U?H;????P H?GH?H?H??HD?H?]L?M?E??A?????H?MH??tH?H?U?H;????P H?wH?]?H?OH??t	H??H?]?H??t	H?H???PH?GH?E?H?H?U?H?????H?M'H3??;
H??$(H???A_A^_^]????????????H??SH??)p?)x?D)@?H???H3?H?D$`H?9(?(?D(?H????H?L$ ?%
??$?H?T$ ??$?H?K?D$P??$??D$4??$??L$$??$??D$T??$?L$D??$??D$8??$?L$(??$?D$X??$ ?L$H??$?D$^H??H?? [??????@SH?? H?IH???n^H??H?? [??????H?I?_???????H?I?'`???????H?I?'`???????H??L?A3?H?H?BI??pH??t??@I??hH?I??pH?BH??H?????H?A????????????H?I??_???????H?I??_???????@SH?? H?IH????_H??H?? [??????@SH?? H?IH????_H??H?? [??????H?I?a???????H?I?7a???????H?I?7a???????H?I?7a???????H?I?7a???????H?\$H?T$WH?? H??H?y3?H?L$0H?H??t
H?H???H?L$0H??tH??PH?H?D$0H?T$0H????`?H?H??t
H??PH?H?\$@H?? _??????????????H?I?'a???????H?I?'a???????H?I?Gb???????H?\$H?t$ H?T$WH?? I??H??H?q3?H?L$0H?H??t
H?H???H?L$0H??tH??PH?H?D$0L??H?T$0H???sc?H?H??t
H??PH?H?\$@H?t$HH?? _??????????????@SH?? H?BL?AH??t??@I??pH?JH?I??hI??pH??t6H?|$0?????????C??uH?H?????{??u	H?H???PH?|$0H?? [?????????????H?I?Gc???????H?I?Gc???????H?I?Gc???????H?A??x??????H?I?wc???????H?I??c???????H?I??c???????H?I??c???????H??(H?
????????????????????H?\$WH??H??H3?H?D$pI??H??H?L$0??
??|$ H?\$(H?H8H??tJH?L?D$ H?T$(?P?H?L$hH??tH?H?T$0H;????P H?L$pH3??8&
H??$?H?Ā_??????H?\$WH??0H??3??8?s
H?D$@H??tDW?H?H?
U?@ ?@@H?x H?@(f?xH?H?x0H??H?\$HH??0_?H?;H??H?\$HH??0_?????????H?\$UVAWH?? H????????I??L??H??L;???L?t$HH??w$H?YH?L??H?A??uE3?fD?43?H??H?|$@H??E3?H;?v?H????????H?H??rTH?A'H;???H???t
H??t{H?x'H???H?G??4?
H??H;?H????????HB?H?MH;?wQH?u?I????0
H??H?^I??H?H?>L??H?nH???%ufD?4;H?|$@L?t$HH?\$PH?? A_^]???~
??????????????????H?\$H?t$H?|$L?t$ AWH?? L?9I??H?AH+?I+?H??L??H;?vH???cI?>L??H??H???tH?7??H?yI??I+?H;?v$L???tH?H+?I?^L??H???otH??L???atI?7H?\$0H?t$8H?|$@I?FL?t$HH?? A_???????????????L?D$H?T$H?L$SUVWAVH??0A??I??L??H??3?H?)H?
H??tH??H?H??t	H??PH?+I?H?H?kH?H??tH??H?KH??t
H??PH?kH?H?C?{H?kH?k H?k(H?k8H?k@H?kHH?kPH?kXH?k`H?khH?kpH?>uO??d
H??H?D$ H??tW??@H???H??H??H?l$ H?KH??t
H??PH?kH?{I?H??t	H??PI?.H?H??t	H??PH?.H??H??0A^_^][????H?\$ L?D$H?T$H?L$UVWAVAWH??@A??I??L??H??E3??AH???H?L?y???
H??H?D$0H????H?D$ H?D$8A??H?L$ H?H??t
H?H???H?L$ H??tH??PH?H?D$ I??H?L$(I?H??t
H?H???H?L$(H??tH??PI?H?D$(D??L?D$ H?T$(H????????I??H?_H?GH????H?K`H??t=H?SpH+?H??rH??'L?A?I+?H?A?H????I????
L?{`L?{hL?{pH?K8?H?KH??t9H?S(H+?H??rH??'L?A?I+?H?A?H??wI???
L?{L?{ L?{(H?KH??t
H??PL?{H?H??t	H??PL?;??H???s
?I?H??t	H??PM?>H?H??t	H??PL?>H??H??$?H??@A_A^_^]???z
????????????@SH?? H?QH??H??v1H?	H?UH??rL?A?H??'I+?H?A?H??wI????
3?H?CH?Cf?H?? [??xz
????????????????H?H????????@SH?? H??H?	H??t:H?SH+?H??rL?A?H??'I+?H?A?H??wI???j
3?H?H?CH?CH?? [??z
??????????H?\$H?l$VWAVH??H???H3?H?D$pH??H?H????H?iE3?H;?t/?H?SH??tL?CL+?H?K????L?sL?sL?sH?? H;?u?H?>H?^H+?H?L$0?
????\$ H?|$(H?H8H??t[H?L?D$ H?T$(?PH?L$hH??tH?H?T$0H;????P L?6L?vL?vH?L$pH3???
L??$?I?[(I?k0I??A^_^??m??????????????????????????H?\$WH?? L?A(H??I??v
H?QH???H?\$03?H?G f?GH???H?G(H?H?? _??????H????H?\$WH?? H??H?J`3?H??t=H?RpH+?H??rH??'L?A?I+?H?A?H????I???
H?{`H?{hH?{pH?K8?9???H?KH??t9H?S(H+?H??rH??'L?A?I+?H?A?H??wQI???K
H?{H?{ H?{(H?KH??t
H??PH?{H?H??t	H??PH?;??H???
?H?\$0H?? _??w
?????H?\$H?l$H?t$WH?? ??H??H?I03?H??t
H??PH?k0L?C(I??v
H?SH?K?;
H?k H?C(f?kH?D?H?@??t
?8H???
H??H?\$0H?l$8H?t$@H?? _???????H?\$WH?? H?ً?H?QH??H??t?_???H???H?@??t
?H???*
H??H?\$0H?? _?????H?\$ L?D$H?T$H?L$UVWAVAWH??@E??I??H??H??E3???
H??H?D$0H????H?D$pH?D$8A??H?L$pH?H??t
H?H???H?L$pH??tH??PH?H?D$pI??H?L$(H?H??t
H?H???H?L$(H??tH??PH?H?D$(E??L?D$pH?T$(H???(????I??H?H?H??t	H??PL?>H?H??t	H??PL??H??H??$?H??@A_A^_^]????????@USVWAVAWH?l$?H??H???H3?H?EE??I??H??H??H?U?E3?A???IA?H??P??A?xN??A?xG??E3?E??H??H?O?zi????uD9}w?tA??D?}??E??E?G0?E?G4?E??M??E???E??E?W??E?L?}?L?G H?WH?M?????H?M??V????H?H?L?M?L?E?H?U??Pp?H??H?]?H????H?M?H??tH??P?H??DA?8D???D?A?xS?A?x ??E??H??H?O8?_c??? D?}??E??EL?w8H?G@I+?H??H???A??E?A?F?E??E??G\?E?W??E?L?}?M?~M?vM+?t(I??H?M??H?]?M??I??H????iJ?3H?E??M??I??3???iL?u??E?H?M??1????H?H?L?M?L?E?H?U??Pp?H??H?]?H?????H?M?H??tH??P?H??E??H??H?O`?Ss<?$?uD9}w?tA??D?}??E??E?Gx?E?G|?E??M??E???E??E?W??E?L?}?L?GhH?W`H?M??(????8??
H??H?E?H??t6W?@ ?@@L?x H?@(fD?xH???H?L?{0?I??H?]?H?H?L?M?L?E?H?U??PpH??H?H??tH??H?K0H??t
H??PL?{0H?H?C0H?M?H??tH??P?H?H?U?H??tL?E?L+?H?M??*?????L?>H??H?MH3???
H?ĈA_A^_^[]??????????????????H?\$ UVWATAUAVAWH??H???H3?H??$?D?L$8I??L??L??H?T$03?H?IH?H?T$0?P ?H9t$0?bW?D$`H?t$pH?t$xH??D??f93tff?I??H?@f?8u?H??H?L$`?f????H?=??H??L???I??H?@f?8u?L?\$`L?t$`L?d$xI??MG?H?D$pL;?w6I+?M??uH???0H??I?CI??H??H+?H??tf?8_??H??H??u?H??????H???@??H?L$0H??P8H??W??D$HH?t$XH????H????????H;???H??rgH?O'H;????
H???H?X'H???H?C??IH??t?M??H??M??tL??L+??
fA9uH??I??u?I+?H???Y???H???*???H???9
H??H?\$HH?4;H?t$XL??3?H????lH?t$P?H?\$HH?L$0H?L??H???P @?l$(?D$8?D$ D??L??H?T$8I???????H?D$8I?H??t4H+?H??H??rH??'H?[?H+?H???H????H??H????

?I??v2J?eI??H??rH??'M?v?I+?H???H??wMI???

?H?L$0H??tH??R??I?7I??H??$?H3???
H??$?H?ĐA_A^A]A\_^]??o
??????????????n
?????????????@SH??@?D$xH??H?I?D$(?D$p?D$ ?
???H??H??@[?????@SH??0H?IH??????H??H??0[??????H?\$WH?? H??H??H?
H??tH??H?K0H??tH??PH?C0H?H?C0H?\$0H?? _???????????@SH??0H?H???P H??H??0[?????????H?\$H?t$ WH??H?'?H3?H?D$pL??H??H????????H;???H?L?AL+?I??H??H??H+?L;?wJ?<I;?IB?H??tH??????3?H?H?CH?CH?L$0??

??|$ H?H8H??t[H?H?T$ ?PH??H?L$hH??tL?H?D$0H;???A?P H?3H?sH?>H?CH?L$pH3???
L??$?I?[ I?s(I??_????????????????H?\$WH??H?,?H3?H?D$pI??H??H?L$0?

?]?L$ H?|$(H?H8H??tJH?L?D$ H?T$(?PH?L$hH??tH?H?T$0H;????P ?H?L$pH3??R
H??$?H?Ā_???????????????H??(H?
???(?????????????????H?\$WH?? 3?H??H?H?:H?H?	H??tH??PH??H?;H?\$0H?? _??????????L???L??I;?t2?H?AH;?tI??H+ѐ?.
zuH??H;?u?I??H??I;?u?2?ð??????????H??(A@3?D??)t$W?)<$L??A AP (??????D(???D(????(????????????݃???H?\$ A??Z????A?
Hc?I?J?
?D
?(?(?????UY?Y??۪X?Y?X?X??
(???U?D
?Ҫ?T
A?K?A?
Hc?I?J?
?D
?(?(?????UY?Y??۪X?Y?X?X??
(???U?D
?Ҫ?T
A??A?
Hc?I?J?
?D
?(?(?????UY?Y??۪X?Y?X?X??
(???U?D
?Ҫ?T
A?KA?
Hc?I?J?
?D
?(???Y?(Ã?A????UY??۪X?Y?X?X??
(???U?Ҫ?D
?T
;??????H?\$ A;?}b????A?
Hc?I?J?
?D
?(?(?????UY?Y??۪Y?X?X?X??
(???U?Ҫ?D
?T
A;?|?(t$(<$H??(???????@SH??H?p?H3?H?D$pH?H?L$0?
??D$ i???L$(H?H8H??tHH?L?D$ H?T$(?PH??H?L$hH??tL?H?D$0H;???A?P H??H?L$pH3??
H?Ā[??F???H?\$H?t$ WATAUAVAWH??H?ϽH3?H??$?I??L??L??H?L$@L?H??I+?I?????????I??H??L?,I??I??H???L?I?NI+?I??H??H?H??H??H???H?H?H;???L?zI?NI+?I??H??H?H??H??H???H?H??H??H??H+?H;?wH?I;?IB?H?\$0H?L$P??
??D$ i???L$(H?H8H???WH?L?D$ H?T$(?PH??H?D$8H??$?H??t$H?L?A H?L$PH;???H??A??HDŽ$?Mi??L?AENAMF AE N0AM0F@AE@NPAMPF`AE`I???Fp@?H??F@N H F0@0N@H@FP@PN`H`M?FI?H??M;?uL+??M??L+??]I???M?FM+?I????\?L??M??H??I???3I??H??$?H3??I
L??$?I?[@I?sHI??A_A^A]A\_??W????????H?\$ H?T$H?L$VWAVH?? H??H??L?qL+1H?
H??u3??5H??r$H?A'H;?vYH???B
H??tRH?X'H???H?C???*
H??H?\$PL?GH?L+?H???$\?L?M??H??H??H?\$XH?? A^_^?1???????e
??????????H?\$ H?T$H?L$VWAVH?? L??H??L?AL+H?????????I??I?<H??H??H???H?I??????H??H?D$PL?CH?L+?H???[?M?L??H??H??H?\$XH?? A^_^?1????????????H?\$H?L$VWATAVAWH?? L??H??H????????H;???L?aL+!H?IH+H??H??H??H+?H;?v0H?\$XH?&???
H????H?x'H???H?G?H?|$h?LH?
I;?IB?H?\$XH??u	3?H?|$h?.H??rH?K'H?\$XH;?vc?H???
H??H?D$hH?\$XJ?'M??M+?3??%aL?FH?L+?H???sZ?L??M??H??H??H?\$`H?? A_A^A\_^?`/???????%?????d
???????????????H?L$SVWAVAWH?? H??H??H?????????H;???L?qL+1I??H?IH+H??H??H??H??H+?H;?wH?
H;?HB?H?\$XH??H???0L??H?D$hJ??L??M+?N??3??D`L?GH?L+?I???Y?L??L??I??H??H?? A_A^_^[?/? ???????????????????H?\$H?t$ WAVAWH??H?3?H3?H??$?H??H??H?L$@H?H;??@H?IH+I?????????I??H??L?<I??I??H???L?H?OH+I??H??H?H??H??H???H?H??H??H??H+?H;?wH?H;?HB?H?\$0H?L$P?X?	??D$ i???L$(H?H8H????H?L?D$ H?T$(?PL??H?D$8H??$?H??t$H?L?A H?L$PH;???H??A??HDŽ$?Ii??I?H??I+?L????L?GH?L+?I???X?L??L??I??H???3.H??$?H3??s
L??$?I?[0I?s8I??A_A^_???????????????????????H?\$H?t$ WAVAWH??H???H3?H??$?H??H??H?L$@H????????H;??3L?yL+9I??H?IH+H??H??H??H??H+?H;?wH?
H;?HB?H?\$0H?L$P???	??D$ ?????L$(H?H8H????H?L?D$ H?T$(?PL??H?D$8H??$?H??t!H?L?B H?D$PH;???A??HDŽ$?I??H??I?L??M+?tI??3??W]L?GH?L+?I???V?H?H??tL?GL+?I??H???Y.L?7H??I?H?wH??I?H?_H??$?H3???
L??$?I?[0I?s8I??A_A^_?????????????????????H?\$WH?? H??H??H??tjfff?3?A??H???\H?Kd?
H?Kt?
H????
H????
H????
H????~
H???H??u?H??H?\$0H?? _????H?\$WH?? H??H?H?
H??H??tH??H?H??t
H??PH?H?H?H??H?\$0H?? _????H?\$H?L$WH??0H??3?H?yH?yH?y$H?y,?y4@?yTH?yX?y`H?Ad???yp??tH???? H??(H??0??8H??@W?AA A0H?????H?D$ L?
????D????
W?????????f???@???Hǃ?????H???f?;@?{?C??@?{H?CH?{H?{H?{$H?{,?{4H?C8???C@??H?CD???{L?CP??H?{l??tH??H???H??t
H??PH???H???H??H?\$HH??0_????????H??(L?
????D????
?H??(???H?\$H?t$WH??H???H3?H?D$pH??H?1H??tfH?YH+?H??H?L$0?o?	???L$ H?t$(H?H8H??tZH?L?D$ H?T$(?PH?L$hH??tH?H?T$0H;????P 3?H?H?GH?GH?L$pH3??
L??$?I?[I?s I??_??K????????@SH?? H??H?	H??t>H?SH+?H???H??rL?A?H??'I+?H?A?H??wI?????3?H?H?CH?CH?? [??~\
??????H?\$H?t$WH??H?w?H3?H?D$pH??H?1H??t^H?YH+?H?L$0???	????\$ H?t$(H?H8H??tZH?L?D$ H?T$(?PH?L$hH??tH?H?T$0H;????P 3?H?H?GH?GH?L$pH3??
L??$?I?[I?s I??_??3????????????????@SH?? H??H?? L?
?????D????
?H?KH??tH??PH?CH?? [??@SH?? H??H???H??tH??PHǃ?H??@L?
?????D???
?H??0H??tH??PHǃ0H?? [????????????H?\$H?l$H?t$WH?? H?23?H?*H??H?	H??H??tH??PH?3H?wH?oH?KH??tH??PH?sH?wH?oH?KH??tH??PH?sH?wH?oH?KH??tH??PH?sH?w H?o H?K H??tH??PH?s H?w(H?o(H?K(H??tH??PH?s(H?w0H?o0H?K0H??tH??PH?s0H?w8H?o8H?K8H??tH??PH?l$8H??H?s8H?\$0H?t$@H?? _?????????H?\$H?t$WH?? H??H??H?
H??tH??H?3?H??t	H??PH?3H?H?H?OH??tH??H?KH??t
H??PH?sH?GH?CH?OH??tH??H?KH??t
H??PH?sH?GH?CH?OH??tH??H?KH??t
H??PH?sH?GH?CH?O H??tH??H?K H??t
H??PH?s H?G H?C H?O(H??tH??H?K(H??t
H??PH?s(H?G(H?C(H?O0H??tH??H?K0H??t
H??PH?s0H?G0H?C0H?O8H??tH??H?K8H??t
H??PH?s8H?G8H?t$8H?C8H??H?\$0H?? _????H?\$H?l$H?t$WH?? H??L?? A?H?? H??9??I?AH9A??I?AH9A?uA???8???aA???8???MA???9???:HcAA;A?,3?L?؅?~DD??I?Q`M?A I+ɐI?J9??9???B 9D ??I??I??H??M;?|??8???C8G???C8G???G.C?????C9G???C9G???C9G???C9G?u?C9G?i?C 9G ?]?C$9G$?Q?G(.C(?B?<?G,.C,?-?'?G0.C0???G4.C4????G8.C8?????C<9G<???G@.C@?????GD.CD?????GH.CH?????CL8GL???CM8GM???CN8GN?v?CO8GO?i?GP.CP?Z?T?CT8GT?G?GX.CX?8?2?G\.C\?#??G`.C`???Gd.Cd?????Gh.Ch?????Cl9Gl??D?SpD9Wp???C8G??D??E??~Jfff?Ic?H?GtH??H?H?PH;?t H+?L?f??A.DtzxuvH??H;?u?A??E;?|???t9?tuW??~-Hc?H??xHi??H?H??xH????????u,??;?|Ӌ?9?uH???H???H??uH??t&?H?\$0H?l$8H?t$@H?? _?H??t?H??P ??t?H???H9??u?2?????L?L$ L?D$H?T$H?L$USVWATAUAVAWH?l$?H???3????D$ ?D$8H?E?H?E?H?E?H?E?D??H?E?H?E?D??H?E?H?E?D??H?E?H?E?H?D$XH?E?3?D??H?]?H?]?H?}WH?G H?E?H?\$0H?H??t
H??PH?G H?H?HH??t
H??PH?G H?XH?HH??t
H??PH?G H?XH?HH??t
H??PH?G H?XH?H H??t
H??PH?G H?X H?H(H??t
H??PH?G H?X(H?H0H??t
H??PH?G H?X0H?H8H??t
H??PH?G H?X8??D$8?\$8?G`?Gd?Gh?Gl?Gp?Gt?Gx?G|?\$8?\$8W?????HLJ?????Ƈ??E???H?_H?Eo?8???H?x(??H?M_H???@????H?MgH?L?EoM?@(E?H?T$@????H?H?L$0H?H?OH??tH??PH?D$0H?GH?L$@H??tH??P?H?WH??A??D?MH??tH?z4u;H??t=H?EoL?@(I?HI+HH??HcB@H;?uD?MI?H(I+H H??HcBDH;?tE2?D?MH?Mo?9?t@??|}?H??H?? r?ytu/????u&???W?.?zu???u?}w?D$(t?D$(E??tƇ?H?M_H???@??t&H?M_H?H?T$@?????t$ H?8?D$Pt?D$P@????????t$ ?t$8H?D$HH?D$0H??tvA?????A??H?t$0??F??uH?H????D?vA??u	H?H???PH?E?H?E??t$8L?e?H?E?L?u?L?}?L?m?H?M߉t$ L?e?H?D$XL?u?L?}?L?m?H?M??|$P????GH?M_????E3?H?UWH???s-?H?0H?H?O H??tH??PH?w H?MWH??tH??P?H?Mo?A4?G`?AT???L?u?L?}?H?\$X????O?G??????G?<H?Mo?A?=????E????L?A(L?GM????H?MgH?E?H?Uo????H?0H?H?OH??tH??PH?wH?MoH??tH??P?H?OH??????A5?????tmƇ??d?T$(??u???AE???E????uƇ??E??t??#?????Eu??t
???T$(????lH?GH?HH+HH??H???HB?H?Eo?GD?ۉ]????L??H?]_L??H?]oH?}?L?u?H?t$0L?|$@D?d$ H?UWL?m?ff?H?BH?HF?D	B?<	?E????H?MgH?H?U??Ph?H?]?H??tH?K0H??tH??H?{0H?}?A??H???3?D??H?E?A????D?d$8H??tH?H???H?EoJ?(H??t
H??PH?EoJ?(A??tA???D?d$8M??tI?I???PE3?L?u?A??tA???H??tH?H???P3?H?}?H?]?H??tH?H???P3?H?]??H?\$8K?)H??tH??PH?UWL?MoL?U_D?]K?)?E????H?MgH?H?T$ ?PP?H?\$ H??t H?K0H??tH??H?s0H?t$0A??H???3?D??H?D$@A????D?d$8H??tH?H???H?EoJ?(H??t
H??PH?EoJ?(A??tA???D?d$8M??tI?I???PE3?L?|$@A??tA???H??tH?H???P3?H?t$0H?\$ H??tH?H???P3?H?\$ H?UWL?MoL?U_D?]?(H?\$8K?)H??tH??PH?UWL?MoL?U_D?]K?)A?D`H?BB?LHA???A??D?]I??L?MoI??L?U_?BD;??????H?EoL?e?L?m?H?}W???t&H??D?`HcGDŽ???G???H?Eo???GL?u?L?}?H?\$X????H?EoH??D?dHcGDŽ???G??????G?????t
???Ã???????É_???t?C?G???L?MgI?D?AH?T$0?9I????????H?\$0H??t,H?K0H??tH??H?{0H?|$@?? ?t$ ?t$8H??H?t$@?3ɋ?H?L$@?D$ ??@?D$ ?D$8??H?|$@H??tH?H???H?E?H??t	H?H???RH?]?H?]??D$ ?@t?࿉D$ ?D$8H??t
H?H???P??t$ @?? t??߉t$ H??t
H?H???P?H?\$0H??t
H?H???P????PP?H?\$0H??t-H?K0H??tH??H?{0H?|$@???t$ ?t$8H??H?t$@? 3ɋ?H?L$@?D$ ???D$ ?D$8??H?|$@H??tH?H???H?E?H??t	H?H???RH?]?H?]??D$ ??s???D$ ?D$8H??t
H?H???P??t$ @??y???t$ H??t
H?H???P?H?\$0H??t
H?H???P?H?]?H??u=H?M_????E3?H?T$0H???w&?H?H?]?3?H?8H?]?H?L$0H??tH??P??3?H??tH?H???H?E?H?H??t
H??PH?E?H?H?Uo?B4H?MW?A`?BT??????????uƁ?ǁ??n???eH?MgH?D?BH?T$0?Ph?H?\$0H??t-H?K0H??tH??H?[0H?\$@??	?t$ ?t$8H??H?t$@?H??H?|$@?D$ ??
?D$ ?D$8H?\$@H??tH?H???H?E?H??t	H?H???RH??H?E?H?EߋD$ ??
s??
?D$ ?D$8H??t
H?H???P??t$ ??	s??	?t$ H??t
H?H???P?H??u>H?M_????A?H?T$@H????$?H?H?]?H?8H?]?H?L$@H??tH??P??H?]?H??tH?H???H?MWH?Q(H??t
H?H???PH?MWH?Y(H?\$0H??t
H?H???PH?MWH?Uo?:u?Adǁ???B8?Ad?BX????|$(?uH?MgH?D?B?:H?T$0??????H?\$0H??t-H?K0H??tH??H?[0H?\$@???t$ ?t$8H??H?t$@? 3ɋ?H?L$@?D$ ???D$ ?D$8??H?\$@H??tH?H???M??t
I?EI???PL??H?}??|$ ??s???|$8H??t
H?H???P???s??H??t
H?H???P?H?\$0H??t
H?H???P????PP?H?\$0H??t-H?K0H??tH??H?[0H?\$@??
?t$ ?t$8H??H?t$@? 3ɋ?H?L$@?D$ ???D$ ?D$8??H?\$@H??tH?H???M??t
I?EI???PL??H?}??|$ ??s???|$8H??t
H?H???P???
s??
H??t
H?H???P?H?\$0H??t
H?H???P?M??u9H?M_????E3?H?T$0H???x"?L?(3?H?0L?m?H?L$0H??tH??P??3?L?MgI?H?MoD?AH?T$0?9I????????H?\$0H??t-H?K0H??tH??H?[0H?\$@???|$ ?|$8H??H?t$@?H?t$@???|$ ?|$83?H?\$@H??tH?H???M??t	I?I???PL??H?}??|$ ??s???|$8H??t
H?H???P???s??H??t
H?H???P?H?\$0H??t
H?H???P????PP?H?\$0H??t-H?K0H??tH??H?[0H?\$@???|$ ?|$8H??H?t$@?H?t$@???|$ ?|$83?H?\$@H??tH?H???M??t	I?I???PL??H?}??|$ ??s???|$8H??t
H?H???P???s??H??t
H?H???P?H?\$0H??t
H?H???P?M??uH?M_蕻??E3?H?T$0H???H??H?H?D$XH?9H?E?H?L$0H??tH??P??3?L?MgI?H?MoD?AH?T$0?9I????????H?\$0H??t-H?K0H??tH??H?[0H?\$@???t$ ?t$8H??H?t$@?H??H?|$@?D$ ???D$ ?D$8H?\$@H??tH?H???M??t
I?$I???PL??H?}׋D$ ??s???D$ ?D$8H??t
H?H???P?D$ ??sH??t
H?H???P???PP?H?\$0H??t-H?K0H??tH??H?[0H?\$@???t$ ?t$8H??H?t$@?H??H?|$@?D$ ???D$ ?D$8H?\$@H??tH?H???M??t
I?$I???PL??H?}׋D$ ??s???D$ ?D$8H??t
H?H???P?D$ ??sH??t
H?H???P?H?\$0H??t
H?H???P?M??u:H?M_褹??A?H?U_H????L? 3?H?L?e?H?M_H??tH??P??3?H?Eo?0?u????D?H}?M??t	I?EI???H?H??tH??PL?/H?Mo?A蜡??u	I????{???I?$HcHJ?L!HH??tH??P?H??H??pA_A^A]A\_^[???t	H??????H??H??HDغH?L$0?ɀ??L??H??H?L$@?yn??H?RHH?L$@???????????H?\$H?t$WH?? H??H??pH??t-?????????G??uH?H?????w??u
H?H???P?H??P3?H??t
H??PH??PH?? H??t
H??PH?? H??H??t
H??PH??H??H??t
H??PH??H??H??t
H??PH??H?\$0H?t$8H?? _???????H??H??X(?)p?qP(????ʪ)x?y@Y?D)@?DA`AY?D)H?DIpD)$D(?D??U???AY?DY?DX?DX?DX?Q(?(???(??ʪ??UY?AY????AY?Y?X?X?X?Q (?(???U(????ʪY?AY?Y????AY?X?X?X?Q0D??D($(???U(?Y?(?(p????ʪY?(x?AY?D(@?X??????AY?D(H?X???X???H??X???H?\$H?t$WH?? H??H??H?E3?H?T$0H??????H?0H?H??H??tH??PH??H?L$0H??tH??P?H?A?H?T$0H??????H?8H?H??H??tH??PH??H?L$0H??tH??P?H?\$8H?t$@H?? _???????H?\$H?t$WH?? H??H??H?H??H?????H?H??H?????3?H?|$0H??H??tH??PH??H?|$0H??H??tH??PH??H?\$8H?t$@H?? _????????H??????????̋????????????H?\$WH?? H??H??H??舴	??H??H?\$0(????U?ɪ?G?OH?? _???????????@SH??`APH??Ip)t$P)|$@D)D$0DA`D)L$ DI@H??A(?D???A(???D??DD????ݶ	(?H???ƈA(????(t$PE???A???D(D$0DK0D(L$ {(|$@C H??`[??????H?\$WH?? H??H??H??蘳	??H??H?\$0(????U?ɪ?G?OH?? _???????????@SH??`??H????)t$P)|$@D)D$0D??D)L$ D??H??A(?D???A(???D??DD?????	(?H???ƈA(????(t$PE???A???D(D$0DK0D(L$ {(|$@C H??`[??????????@SWH??H??zH3?H?D$`H??H??$?H?? I??H??H??tH??H?H??t
H??PH?H?? H?H??$?H??t?(??8?K?OH?L$ G0)?$?w )|$p????????ߴ	(?????Έ(?????C(??Ǫ????{?C????K??J?(|$p(?$???t	?C??C??H?L$`H3???H?Ę_[?????̋?@?????????̋?D??????????H????????????H????????????H?\$WH?? H??H??H???(?	??H??H?\$0(????U?ɪ?G?OH?? _???????????@SH??`AH??I0)t$P)|$@D)D$0DA D)L$ D	H??A(?D???A(???D??DD????~?	(?H???ƈA(????(t$PE???A???D(D$0DK0D(L$ {(|$@C H??`[???????H?\$H?t$WH??03?H??H?2H??E??u+H??H??tH??H?H??t	H??PH?3H???/A??u,H??H??tH??H?H??t	H??PH?3H??H?H?t$HH??H?\$@H??0_??H??(??HuH?
?H??p[????????̉??????????̉??????????????????????H????????????H?L$H?T$L?D$L?L$ SWH??8?H?|$X?/.
H??????L?D$PE3?H??H?|$ H??[\
H??8_[?H?\$H?t$ WAVAWH??H??qH3?H??$?L??H??H?L$@H????????H;??L?yL+9H?IH+H??H??H??H+?H;?wH?<
I;?IB?H?|$0H?L$P?Q?	??D$ ?|$(H?H8H????H?L?D$ H?T$(?PH??H?D$8H??$?H??t!H?L?B H?D$PH;???A??HDŽ$?J?>M??M+?3???L?CH?L+?H????H?H??tL?CL+?H???H?3I?6H?CH?>H?CH??$?H3??c?L??$?I?[0I?s8I??A_A^_??u?????????????????????L?D$H?T$H?L$SUVWAVH?? I??L??H??3??AH?>?H?H?iH?
H??tH??H?KH??t
H??PH?kI?H?CH?kH?H??tH??H?KH??t
H??PH?kH?H?CH?>uO???H??H?D$hH??tW??@H???H??H??H?l$hH?KH??t
H??PH?kH?{I?H??t	H??PI?.H?H??t	H??PH?.H??H?? A^_^][?@SH?? H??H?H??tL?AL+??3?H?H?CH?CH?? [?H?\$WH?? ??H??H??H?H?IH??tH??PH?CH?KH??tH??PH?CH??H?@??t
? H???4?H??H?\$0H?? _???????????????H?\$H?l$H?t$ H?T$WH??0A??I??H??3??X讷H?D$HH??tD??H??H???:?	H??H?;H??H?\$@H?l$PH?t$XH??0_?????????????H?\$UVWAVAWH??PH??L??3?H?IH?H?T$(?P ?H?L$(H??uH??H??P8L??W??D$0H??H?\$@H??tL??$?H??H?L$0?????H?t$@H?L$(H?M??H?l$0H???P I?E??L??H??$?I???P ?H??$?H??$?H?H??tH+?L??H??H?L$0?4?H?L$(H??tH??P?H??H??$?H??PA_A^_^]????????????H?\$WH??H?\mH3?H?D$pI??H??H?L$0?Ĵ	??|$ H?\$(H?H8H??tJH?L?D$ H?T$(?P?H?L$hH??tH?H?T$0H;????P H?L$pH3?舽H??$?H?Ā_??6???@SH??H??lH3?H?D$pH?H?L$0???	????\$ H?H8H??tCH?H?T$ ?PH??H?L$hH??tL?H?D$0H;???A?P H??H?L$pH3???H?Ā[?趌??H;?tYH?\$H?t$WH?? H??H?Y3?H?H??tL?CL+?H???	???H?3H?sH?sH?? H?C?H;?u?H?\$0H?t$8H?? _??@SVWATAUAVAWH??H??kH3?H??$?L?D$8L??H??H?L$@H?M??L+?H?AH+?H??H????????H;??=L?hH?IH+?H??H??H??H??H+?H;?wH?<
I;?IB?H?|$0H?L$`誳	??????L$ H?H8H????H?H?T$ ?PH??H?D$PH??$?H??t$H?L?A H?L$`H;???H??A??HDŽ$?I???L?M?~ L?|$HL?|$(H?T$8?A??BA?FI?NH???,L?t$(H?SH?L??L??L;?u?? I???H?t$(L??M??H?SI????L??M??H??H???MI??H??$?H3??
?H?İA_A^A]A\_^[??"????谊????????????H?T$SVWATAUAVAWH??@L??H??H??$?L?qL+1?B???L??H??$?L?~H?H?D$ H??H?D$(H?t$0I;?t&???C?GH?OH?S?2H?? H?|$(H?? ??I?]H?H??t"L??H?V?[???H?L?FL+?I??H????L?&I???M?L?vH??I?H?^H??@A_A^A]A\_^[?????????????H?\$H?t$ WAVAWH??H?SiH3?H??$?L??H??H?L$8H????????H;???L?yL+9H?IH+H??H??H??H+?H;?wH?<
I;?IB?H?|$(H?L$@?1?	??|$ H?H8H????H?H?T$ ?PH??H?D$0H?L$xH??tH?L?B H?D$@H;???A??H?D$xJ?>M??M+?3??CL?CH?L+?H???	?H?H??tL?CL+?H???I???H?3I?6H?CH?>H?CH??$?H3??ָL??$?I?[0I?s8I??A_A^_???????v???H?\$H?t$WH??@I??H??H??L?D$ L?D$(L?L$0H;?t-@???K?OH?OH?S?)H?? H?|$(H?? H;?u?H??H?\$PH?t$XH??@_?????H?\$VWAVH??H??gH3?H?D$pL??H??3?H?H?AH?AH?ZH+??H????????H;???H?L$0蔯	??\$ H?H8H??tyH?H?T$ ?PH??H?L$hH??tH?H?T$0H;????P H?7H?wH?H?GI?^I?H+?L??H???	H?3H?OH??H?L$pH3??q?H??$?H?ĀA^_^????肐????H?\$H?l$H?t$WH?? H?qH?H;?t03?H?SH??tL?CL+?H?K?e???H?kH?kH?kH?? H;?u?H?\$0H?l$8H?t$@H?? _????????????@SH?? H?YH?H??tL?CL+?H??????3?H?H?CH?CH?? [?????????????H?\$UVWATAUAVAWH?l$?H??@)?$0H??eH3?H?E A??H??L??H?	I?VH;?tM???a???I?I?F????9?>D?0?~D?&?~S??~ ?v^NTVdH??\$$f~Ɂ?DX10???F?E?H??f~???????u
????G????Hu?
A?F @?????J????Ku?A?F ????M????N?g??fo?fs?f~??? uSfo?fs?f~?=?u?fs?f~?=?u/f~?=?u$fs?f~?=?u3?A?F ?@2??O??DXT1u??A?F @??
H??$?H??H??$?H???U
???m3??|$\E???:A???-H??E???WD?l$0H?k0E3?Ic?fff?H???H;??s?H??H????*?{0H?k0tH????H????H??H????2?H?l$pB???H;??s?H??H????&?}tH???t?H????H??H????2?B???H;??s?H?k0H??H????&?}tH???*?H????H??H????2?B???A??t.H;??sH??H????H?D$p?8tH?????H???BƄ??I??L;???????|$\D?l$4D?t$03?H??A??????A??D+?D+l$8E+?A???=?D?l$DA??u
D?#A??A???A??uD?#A??A???
A???JD?#?CA??A??A???pE3???
3?fDH????H;??s?H??H????&?{0tH?????H????H??H????2?E3???D93????‹?????H?????7???D7???D7H??A??u?7?H??A?FD??;t[??yMH????H;??s?H??H????&?{0tH???I?H????H??H????2???D;3?U???H?{t-???+??A;?}H???A??+?H???H?K(?S?
A??H???CA??D;???????E3??????3?9+?TfDH???H;??s?H??H????&?{0tH????H????H??H????2?E3???A??u
D??A????Hc?H?????Lj1??Hc??Lj1??Hc??Lj1A??u	Hc????0??E;??A??uIH???H;??s?H??H????&?{0tH?????H????H??H????2?D??Hc?J?????Lj1??Hc??Lj1??Hc??Lj1A??u	Hc????0???;+?????H?{t-???+??A;?}H???A??+?H???H?K(?S?
A??H???CA??D;??U?????H??????b?eH?%XH??H????9???>?eH?%XH??H????3?D+?E+?D$LA?ՉD$TH?ˉD$X?D$0??D?????K??L$D??u??@?
??u???3??ڃ??T$\??u1H??$???D?l$@D??H?t$xD??D??H?D$`D??D????H??$?3?D?L$hH??D?t$PH?D$`A?ǃ? ux3?H?D$`A??A???ue3?H?D$`A??A???uR3??|$H?H?D$`A??u>D?l$@3?H?D$`H?T$xA???udH?D$`D??H?T$x??D??D??D??D????|$HD??H??$?H?…??E???vH?t$xH??$?E???`D?l$@??|$H???(\?׋????UUUU??UUUU?D?P???D?T$L??3333????3333ʋ????A?΁?????Ћ????????[A??A?????UUUU??UUUU?D?X???D?\$T??3333????3333ʋ????A?Ɂ?????Ћ????D???y[A??A?????UUUU??UUUU?D?p???D?t$X??3333????3333ʋ????A?́?????Ћ????D??? [D?@?A??D?D$0??A?́?UUUU??UUUUыʁ?3333????3333ʋ???с?????Ћ?????ȋC?l$4????A???؉D$8???+׉T$@A???ډ?$???A+ԉ?$?A???ډ?$???A+щ?$?A????+???$???$???A??L?d$`H??$?A????H??$?H??$?H?|$pff??Hc?M???dE3?????H?<1H???H;??s?H??H????&?{0tH????H????H??H????2ɈOH???H;??s?H??H????&?{0tH?????H????H??H????2ɈOH???H;??s?H??H????&?{0tH????H????H??H????2Ɉ??H??I??uGH???H;??s?H??H????*?{0tH???/?H????H??H????2??????	D$??VeH?%X?H??H?ԆH?3?H?\$0H?? _Ë?H??豁??t?H??????=??y?????0HtH???>?H?\$0H?? _Ë@VeH?%XH?\$0?H??H?J?H?3?H?? _???????@VH?? A????~oH?\$0H???FH?l$83?H?|$@??H?H??t?L?H?+H?k?H?KH??t
?7?H?kH?kH?KH??t	?!?H?kH??`H??u?H?|$@H?l$8H?\$0??H?? ^?????????????H?\$WH?? H???H??H;??s?H??H????#?y0t??H????H??H????2ҹ0L????L?H;??rA?9t/H??諝H????H??H????????H?\$0H?? _?H?\$02??????H?? _????????????????H?\$WH?? H???H??H;??s?H??H????#?y0t?)?H????H??H????2ҹ0L????L?H;??rA?9t/H????H????H??H????????H?\$0H?? _?H?\$02??????H?? _????????????????H?\$WH?? H???n???H?ˋ??d???H?\$0???H?? _?????H?\$WH?? H???????H?ˋ??????H?\$0???H?? _?????@WH?? ??(HH???H????H??H???A???a?]?
uPeH?%XH??H?qH??I?????H?ˉ?????FH???H;??s?H??H????&?{0tH??軘H????H??H????2????F H???H;??s?H??H????&?{0tH???p?H????H??H????2????F$H???H;??s?H??H????&?{0tH???%?H????H??H????2????F(?F,????M??tA???u%?N ??y??H?V4A?A?????A??H?????KA??
OL?q?eH?%XH??M??#??NL?Q?eH?%X?H??L?3?H?\$0H?l$8H?t$@H?|$HH?? A^???????????????@SUVWAVAW?????XH+?H??H3?H??$????$?M??L??H??3?H?L$0A?p?I???#?3?H?T$0D??H?t$ L??H???H;?HE?H??H??t1D?L$0?D$4E?A???t-??t(D?ʼnD$ ?H???????H???H?L$8H??t?j?H?L$H?`?H?L$@?V?H??H??$??H3??sUH?ĸ?A_A^_^][????H?\$H?l$H?t$ WATAUAVAWH?? L?L$pE3?H??H??D?d$XL9b?E3???????????~????u
D???"???????????D??E????????t???????D;???????Hc?H???\?H??H?F?P?Hc?H??H?F?A?H?NH?FH??t>L9ft8H??t3L??3?菫H?NL??3?聫H?NL??3??s??D$X????LeH?%XH??H??z????LeH?%XH??H?u|??B0?
?J??????u
M??uLc??3Lc???u&??~OI??H?FD8$tH?NA????H??I;?|??-??u(M??~#I??H?FD8$tH?FH?N????H??I;?|??F?H?VH?N??Lc?????F3??H?NLc?肪A?????H?{0?H???H;??s?H???$D9c0H?{0??H???"?H????H?HH?????!?yH;??s?H???D9'?6H????H????H?HH???????H;??s?H??H????&D9'tH??蟓H????H?HH????2??҃??:H;??s?H?AH????&D9c0tH???S?H????H??H????2ҹ0H???‰F0H?<H?????????HcF,ɉ?h???x?D?7??F0t}H???H;??s?H??H????%D9'tH???גH????H??H????2????F,D?d?7H?{0H???H;?????H?{0H??H????L9ct3???+????}"H????+?H???H?K(?SD?n,?H???D?n,?L9ct,D???D+?D;?}H???A+?H?K(H????S????H?H???????D9'tH????H????H?HH????2??҅??}???L9ct,D???D+?D;?}H???A+?H?K(H????S?????H?H??????????,t??;?H???#H???
???H??D??????H?ˋ??????H??D???????D?C?>D??A;????(;N??F??A??D??d???B??E??B????L???T???\???P?D‰?`?D??X?E??uD??`?H?{0H???H;??s?H??H????%D9'tH??襐H????H??H????2?D?ɋ?d?A?у?@D??H???D??ډ?D??????@?E??y2?F0tD?n,A??H??4A??A?A??E??H??H?????
?F ?tmH?~4H??H??8?H???nL??H????D9d$Xt?D9f$~9?F?HcЅ?~,H?FA?<uHcF$?D?7?HcF$H?N?D?4B??I??L;?|?I???]?	GeH?%XH??H??z?6??FeH?%XH??H?yz???FeH?%XH??H??z?H?3?H?\$PH?l$`H?t$hH?? A_A^A]A\_??????E???EH?\$H?l$VAVAWH?? E3?H?|$@A??Ic?E??H?zH??@?H???H;??s?H??H????&D9{0tH???ÎH????H??H????2ɈOH???H;??s?H??H????&D9{0tH???{?H????H??H????2ɈH???H;??s?H??H????&D9{0tH???4?H????H??H????2?D;??O???AD??ƈGH??H???
???H?|$@H?\$HH?l$PH?? A_A^^??H?\$WH?? H???H??H;??r?y0?;贍H????H??H?????G?H;??r?{0?H???|?H????H??H?????I??H;??r?{0??H???D?H????H??H?????F??H;??r?{0??H????H????H??H?????8uuH;??r?{0tfH???܌H????H??H?????9t??7u@H;??r?{0t1H??觌H????H??H?????au?H?\$0H?? _?H?\$03?H?? _??H?\$WH?? H??H?t$0??,Ht3??H?H???H;??s?H??H????&?{0tH????H????H??H????2???????H?H???H;??s?H??H????&?{0tH???NjH????H??H????2???=?uWDH?H???H;??s?H??H????&?{0tH???p?H????H??H????2???=?t???u7??$H?+ȃ???	? H??$H???????H?t$0H?\$8H?? _?H?t$0H?\$8??(HLJ,HH?? _????H?\$H?t$WH?? ?BA??H??H????????v??x??????W??ZЃ?F?F?N???fn?[??Y??^?v??????G??H?\$0H?t$8H?? _??fn?[??Y???Ffn?[??Y??O?Ffn?[??Y??G??uU?G??H?\$0H?t$8H?? _Ã?t5??t)??t??u*?A??3?H?A?H?\$0H?t$8H?? _??A??3??H?\$0H?t$8H?? _????H?\$H?l$H?t$WAVAWH?? H???E3?L??H??H;??s?8H??H????'D9q0t?u?H???H???8H??H????@2??0I??H?,H?{tH?C H?K(?Ѕ?t?}??H???H9????@??
??B?<>A??H??H???tNH???H;??s?8H??H???둃{0t!H???ЈH????8H??H????j???@2??b???H?{0H?{tH?C H?K(?Ѕ?t??tLH???H9??seH?%X?H??H??rH?3??^?P>eH?%X?H??H?GrH?3??4H?L$(H?T$(H?A?
H?L$(?O?H?L$(???D$??DE?L?|$HE????????t???????D;???A???΅???E????t?????A??;???A??A???ƅ???=???????u??A??????????D;???A????E??u	A??A????????A??;???A??A?ʼnD$$????Hc??#?H?D$@L??H????A?E?=???E3?D?d$8???lD?d$ L?t$0f?H???H;??sD?0H??H????(?{0tH????H???D?0H??H????E2??0H??H?,H;??s?0H??H????'?}tH??趄H????0H??H????@2?H;??s?H??H????&?}tH???w?H????H??H????2???A???EA:??<@???3??H;??s?H??H????&?}tH????H????H??H????2????A;???M??u=A??????
B??Hc???L??H??H?D$0??H?D$0H?D$@H?D$@E3?3?E3?A??E???Ifff?H???H;??r?{0??H???n?H????8H??H???@?????H;??s?H??H????&?{0tH???*?H????H??H????2?@?ǀD??D;???@????K??A?I?A??M???H?@H??u??s@2?@??;??M@??t_K?f9X u8f9X0u2f9X@u,f9XPu&?H??????D?鉍??щM ?M?M??>D?XD??P@D?pP?p0D?h?B?
Di??iʏAi??D?E??D+??H A?F?)D+?A??A??E?<D+?G?$*D?$E+?G?C?D??i??A??A?A??i?eA??B???+?i?)Ai?????Ei?*1Ei??+?AiО???Ei?Di?? D?D?Dڋ$D?D?D?D?Dׁ?C?E+???
?M?C???
E+?MC?*??
E+?M B?A??
A+?A??
??
A??
??
D???D????U`D????M@?X?f??uJf9XuDf9Xu>f9X"u8f9X2u2f9XBu,f9XRu&?H??????D?鉍??щM$?M?M???D?XD?H?PBD?pR?p2D?h?B?
Di??iʏAi??D?E??D+??H"A?F?)D+?A??A??E?<D+?G?$*D?$E+?G?C?D??i??A??A?A??i?eA??B???+?i?)Ai?????Ei?*1Ei??+?AiО???Ei?Di?? D?D?Dڋ$D?D?D?D?Dׁ?C?E+???
?M?C???
E+?MC?*??
E+?M$B?A??
A+?A??
??
A??
??
D???D????UdH??D????MDH??H?l$?????L?l$L?\$8L?\$I??H?D$?E?C?A?A?sA?{?E?S?E?s?B?iЩi??Ai??D??D+?A?C??B?F?<0D+?A??A??G?$E+?E?K?A?,D+???A??A??A??F?A?i??B?i?eB?D??D+?i?)Ai?????Di?? +?iʞ???Ai?D?Di??D??A?Eˉ$D?Ai?*1ы$Ӎ)??=?v??y2??	=?~??+?A?E??????v??y@2?????~@??A?A?m??=?v??y2??	=?~??D+?A?EA??A???vE??yE2??A???~A??C?E?e??=?v??y2??	=?~??E+?A?EA??A???vE??yE2??A???~A??C?E?u??=?v??y2??	=?~??E+?A?EA??A???vE??yE2??A???~A??L?\$HcL$I?? E?}L?H?l$L?\$?????H??$ H3???4H??$?H??0A_A^A]A\_^]??????????????L??H??(?AoXW??AohP?Ao`0?AoA)s?A){??Aox E)C?fo?fAix`fAap`fo?f??bf?=b?Eo@pE)K?E)S?E)[?E)c?E)?x???E)?h???E)?X???fEo?fD$`fDo?f?5?afEo??Ao@@fD??fD?50bf??fA?P@EW?fa?fr?fL$0W?fi?W?fa?fr?fD$PfAo?fr?fDa?fDi?fEo?fD?-?afD?Oaft$ fo?fa?f|$@fDo?fD?
?afo?fi?f??fa?fo?f??afDi?fDi?fEo?fD?%YafAo?f?afD?SafD??`fL$fo?f?8af?
?`fD??fDt$pfA??fAr?fD??fD??fD??f?5?`fE??fo%5`f?=?`fDoD$0fD?D$ f??fD??foL$f?L$@f??f??fAo?f??fo?f??fr?
f??fr?
fr?
fD??fot$Pfk?fo?f?t$pfA??f??f$foT$0f??f?T$ fDo?f??_fE??fA??fAr?
fDk?fAo?f?L$`fD?|$`f??fo?fAr?
fA??fr?
fr?
fD??fDk?fA??fr?
fo?fk?fAo?foL$f??f?L$@fD??f?
_fo?fr?
fA??fA??fr?
fk?fA??fo?fr?
fA??fr?
fr?
fA??fA??fk?fo$fr?
fo?fr?
fAr?
fk?fa?fAk?fi?fo?f$fAo?fAa?fo?fa?fa?fAi?fDo$fDi?fo?fa?fi?fo?fa?fDo?fi?fAo?fa?fDi?fo?fa?fi?fDa?fi?fEo?fi?fAo?fDi?fa?fAo?fAa?fo?fa?fDa?fDi?fEo?fD?
?^fo?fD?-*^f??fi?f??fEi?W?fa?W?fi?fAo?fr?EW?fDi?fDo?W?fr?fa?fDo?fr?fAo?fD$0fD??fAo?fL$ f??fT$fa?fEo?fD?6^fo?f?
?]fD?=?]f?	^fDi?fAo?fAr?f??]fa?fi?fDa?fDi?fD??]fo?f?%Z]fAo?fD?%\]fo?f?@]f?-?]f?5?]f?=?]fD??fD$f?$$f??f??fDd$@foT$0f??f?<$fEo?fD??\fDo?fD?~]fA??fE??fd$PfDoL$fAo?fE??f\$`fo\$fD??fo
?\fD??foD$ fD??f??fDL$fD??fD\$pfDo?fT$0fA??fA??f??fr?fD$ fE??fD??fA??f??fEo?fD?L$pfo?f?D$@fA??fr?f??fAr?fE??fDk?fD??fo?fAo?f?D$Pf?L$`fr?fr?fk?foD$f??fDg?foL$ fr?f??fk?fAo?f??fr?fr?fk?f?d$@M?fD?d$`fD??f?\$PfD?\$pfol$foD$0f??A({?fA??E(C?E(S?E(?x???E(?X???fg?foL$ fr?f??A(s?Hc?fr?fr?fr?fAr?fDk?fAr?fAk?E(?h???fAr?fDk?fAo?fEg?E([?fr?fk?fg?fo?fA`?f`?fDh?fo?f`?fh?fo?fAh?fAo?E(c?f`?f`?f?	H?fh?fDh?fo?fA`?fAh?E(K?fp?Nf?H?fp?Nf?H?f?H?fp?Nf?H?f?H?fp?Nf?!f?I???????????????@SUWAVAWH?? ??$HI??I??L??H??}???????$H}H???????D?? HL?=????A??H???8???s3??$H????9;?`A??+?D?? H??$H??:?A??H??,??A?
;r?A??H?@;s?D??$HA??uA?B???$H?E;?~1?$eH?%X?H??H?xRH?3?H?? A_A^_][?Ic?A??E+й A+???A??A#??P???LHc?A??D??$HD?? H??8L?d$XW?L?l$`AAFAF AF0AF@AFPAF`AFp??t\9?$H}H???}???D?? H??)?$HE??A??A??Hc?A??H??B??9P???F#?9????A#?A#Љ? HD??E3?HcD$x?L??$?L?l$pH?t$PH?@H?????FAщ??FA?$????fA???$H}H???????D?? H??$HA??H??E?DEE??tNA??A??????+?A?????$H?A??Hc???D?? HB??8?H?A??B?"??fB?2?g??}H???_???D?? HA??H???(???s"D??$H????)A;??CA??D+??eA??H??,???
D??;r
??H?@I??;s?D??$H????A;???A?¹ +?D+????C#??P?B??LA??H?D??$HD?? H??(????u=?????????Hc???F??8?D;?}H???q???D?? HH?C???)?$HE??A????A??fA??H????P???fA#???A#??? HI??L?=???fF#?9??fD?A?DA????fA?F??@??????/A?A???$H?? eH?%X?H??H?,OH?3?H?t$PL?d$XL?l$`H?? A_A^_][????????????L?D$H?T$SVWATAWH??0Hc?4HM??I??L??H?م?u1?> eH?%X?H??H??NH?3?H??0A_A\_^[Ã?tO??$H}H???V????? H??$H?	?? H??y-A?f??u$H?L$hf??~	f?fA??f+?fA??
??t???H?L$h;?8H~??fE?>;?8HH?t$p???????/A?B???$H??eH?%X?H??H?IH?3?L?l$(H?l$`L?t$ H??0A_A\_^[????????????H?\$H?l$H?t$ WH?? ??8HI??Ic?H??H??t*eH?%X?
(?H??H??HH?
3????$H}?/?????wH???CH???>???H???H???H???H???????H?\$@H??????D??H?L$@3????tl?D$`??}?H?|$XH?\$@A?$??t3?S;?t,D????CD?ƉD$ H??u?%????莚???sH??H??th?A??CA?EM??t
?CA??H?l$XH???mvH?L$P?cvH?L$H?YvH??H???[eH?%XH?D??L?ѹJ?H???0L?{0H;?s	?H?A?A9/?H???0\H????H??H?????B??H;??rA9/??H????[H????H??H?????M??H???t???H???l???H???d???H???\???H???T???H???L???H???D???H?ˋ??:?????ǃ?8wH?H??r
??lt??|u?H???H???H???H?????t@H??$?M??L?d$(M??H?ˉt$ ??y???
H???H???H???H???H???)???H???H???H???H???H?˅?t!H??$?M??L?d$(M?ʼnt$ ?z????蠼??H?ˋ?薼?????8H???H?????SPB8H???H??H???u,??$?M??H??$?M?ʼnD$0L?d$(?t$ ?2M?:H??D??!??t[?T?H???H;??sH??H????A??tH???ZH???H??u?H??DH???!????H???H???L??H???L??H???H??H;?s?9H??H????'?{0tH???YH????8H??H????@2??0H??L?H;??s?H??H????&A?8tH???`YH????H??H????2?@??Pu,??5??w$H??$?M??L?d$(M??H?ˉt$ ?,??H???H??H???H???H???????H?˅?t?H?3??;H???M??H??$?M??H???H??H???L?d$(H????t$ ?c L?\$pI?[0I?k@I?sHI??A_A^A]A\_??????H?\$WH?? ??H?????4f??x???????`?;?X?????\??Lc??LC?????Hc?H?C????7H??8??|??H??v?BA??BA?@?A?@?BA?@??\???\?;?T?|h??L?D??X???\???D??`?D9?`?|@@D??@?E??~0??d?A?@?A?ȉ?@??⋋P???D???ʉ?`?A;?}?H?\$0H?? _??????????H?\$H?l$H?t$ WATAUAVAWH???H?*?H3?H??$?ǁ?GH??ǁxGǁGǁ?F??hH??Hǁ Hǁ,HƁ(H?????E?LJDH??0H??TH??lH?????Lc?XHE3?K?4dH??H?D???FD???FA??A??A??A??E???`3?E???I3?Hc??FHc??FH??Lc??FH??
LiɐLi??I??H?ˆ6H?I?ˆ4L?I??HL?T$0L?D?d$(H??I??H?T$ L?H?T$P???????????FL?D$P??A????Hc?H??FHc?H???pH??lH??lH????$H}H????????(H0<w~LJ?G????LJxGLJGLJ?F??hH??HLJ HE?LJ,H??lHƇ(H?LJDH?Ã?A;??????A??E;???????H??$?H3??{L??$?I?[8I?k@I?sHI??A_A^A]A\_?3??t$D9??F~?@?E3?D9??F??3҉T$@9?TH?;H??XHH?D$Hf?Lc E3?K?,dH??H?D9??F??f????FE3?????Hc??FHc??FH??Lc??F???FH??
LiɐLi??I??H?ˆ6H?I?ˆ4L?I??HL?T$0L?D?d$(H??I??H?T$ L?H?T$PA?????????????FL?D$PA????A?????Hc?Hc?H?H??F??pH???FA?Ƌt$DD;??8???A??D;??F?????T$@H?D$H??H???T$@H?D$H;?TH???????lH??lH????$H}H???O?????(H0<????LJ?G????LJxGLJGLJ?F??hH??HLJ HE?LJ,H??lHƇ(H?LJDHA??D;??F?
????Ɖt$D;??F?????????????Lc?XH3?O?$vI??A??H???L????ZHc?E?????A???,?E??tkD?KE;?}H?SD?Kf?H?H;?r2??	?H??H???A????A??A?D?C?CD??A??~̋SA??E+‹???C?????D?C#?D?H??Ic?H+C H;???Hc?H?H;C(vD??H??H???c??trH?sH??H+?A??u ???q????H??D?ŋ??!bH??Y??????Q?????H?I?H?ƃ?u??:????4eH?%X?H??H??1H?3??0?
eH?%X?H??H??3H?3??	H?s?L?t$@H?\$HH?l$PH?t$XH?? A_A\_??????H?\$H?t$H?|$ UATAUAVAWH??$p???????H+?H???H3?H???L??D?D$`3ɉT$L3??L$PE2??L$TI??D??D??L$\?L$X??I?OI?OI?OD?t$AD??H???D$@f?D$D?D$F?D$H袁?????.????
?H??般??H?ϋ??~?????H????q???H?ϋ??g???????Ƌ?H?? H?H?\$h??RDHI???A??IBgC????TADIt6??DNEI???|$H????eH?%XH??H?b3?
?|$Hu??t$@@??t	E???E?|$L?x?t$P?3;??U
A;?v=E??u
A?A;?DG?A;?v
DE?A;?w?I?OA???d?H????
I?GH??D??IWH??????????
?t$P???D$X??yH???H?????H??1???+??;??H???+?H?O(??H????W??|$H???D$H??
?QH???ڪ??H?ϋ??Ъ????É=?'H??趪??H?ϋ?謪????ÉG=?H???H;??s?H??H????&?0tH???HH????H??H????2???A?G ????
?????
H???H;??s?H??H????&?0tH???)HH????H??H????2??ى\$\????	??uA? ??	??\$@????t	?t$@H;??r?0t$H????GH????H??H??????[	H;??r?0t$H???GH????H??H??????G	H;??s?H??H????&?0tH???NGH????H??H????2?D??D?l$TA???4	????	D?OE????3Ҹ@??@??u43?D??A???˃?A????D?A??D?GA;?r#?|$L??	?>???GA;??+??eH?%XH??H?.?
??ETLP????SNRttt?|$H?E????L$l??????yH???H?????H?t.???+??;?}H???+?H?O(??H????W?Hc?H????|$H?????I??/	?|$@???|$L??E????A;???3??D$@???7H???H;??s?H??H????&?0tH???EH????H??H????2ҍ??ƈ??;?r????O???o?	;??3??D$AA? u*????H??pH????????f?H?[;w|?????H?\$DL?-?*H???צ??IcO H?[????B?)?ˆC?;w|?D?l$T?D?|$H????????
???????D??A??C?d;???3?E???	DH???H;??s?
H??H????'?0tH???cDH????H?PH????2ɍ????H;??sD?H??H????)?0t H???DH???D?H?PH????E2??CD???H;??sD?H?BH????(?0tH????CH???D?H??H????E2??C??D????CƄ??A;??????H???d???H???\?????????|$L?~I?_H??u???eH?%XH??H?-?A?G ??????G???GHc?H???ҡH??H??u	I?G?HcD$PD?d$XH?H?D$xH?3?H?M???H?M?E??H?\$pH?L$pH?E????E???????H?E??]?+]?I?GH???$I?O?w\?L$`I?w?G?t$@D?HA;?u??t	@????D?t$AE??uD?ȋD$\D??D?OI??I?WD?l$0?D$(A?G ?D$ ?:???????E???I??A?A? I?O???????u?D??pE3??fDfD9H?I???fAD?f?A?H??u??D?t$A?b?????tD??rD??pE3?fD9	ufD9Auf9QufD?iH??H??u??g??t`?u'D?D$DE3?АD8H?I??ADňA?H??u??6?T$FD?D$ED?L$D@D8	uD8Au	8Qu?AH??H??u?E3?E?????=???????I?M?W?H??????xu#??f?A?
A?BA?A?JM?RH??u???=??tr??fDA?BE?A?J??tBD??D??A?B3?i??A??A?A??3?A?BAi??A?A??3?D??i??A?A?????A?E?ZI??H??u?? ??@A?
A?BA?A?JM?RH??u?@???>?D$`D??D?wD?w??|?GD??I?I?_?p?0????E????t?????A??;???A????Hc?胞H????A??L??uX????L?@D??f??M?@H?[????????A?@?????A?@?A?H?I??u?I?O?BYM?w???tHL?@D???M?@H?[????????A?@?????A?@?????A?@?A?H?I??u?I?O??XM?w?'?h?eH?%XH??H??$?ZE??t?GI?O?XH??M?o?2?????>H?M??XI?w?*??eH?%XH??H?L(????eH?%XH??H?5(???w??????eH?%XH??H?9'????eH?%XH??H?*'????eH?%XH??H?'?y?h?eH?%XH??H?,'?Z?I?eH?%XH??H??&?;?*?eH?%XH??H??&???eH?%XH??H?W&?????eH?%XH??H?(&????????????????????????eH?%X?
?H??H??????eH?%XH??H??&?|?k?eH?%XH??H?o&?`?G??]?A?eH?%XH??H?m&?6?%?eH?%XH??H?&??	?eH?%XH??H??%?H?3?H???H3??{?L??$?I?[8I?s@I?{HI??A_A^A]A\]???????????H?\$WH?? ?QH?ً???t\;?}HL?QD?YH?I;?r2??	?H??H?????????AÉS?CD?؃?~Ћ?L?[?k+׉S?L?Y???k+׉S?L?YE3ɋʅ?~.?CH?T$0D??@??A??D?H?R???CD?Ѕ??A?Ic?H??}+L?CDH?I;?r2??	?H??H??T0H??H??|??D$0D?D$1?L$3A??D????D$2?A??5??;?t0???eH?%X?H??H?:#H?3?H?\$8H?? _?H?A??H?H;Kv0?\?eH?%X?H??H?#H?3?H?\$8H?? _?H?SI?H;C(vH?????A;???3???t-E?4$?L??A??H???1H?????H??;?|?D+?E????????_E??E???Sf?H???H;??s?0H??H????'?0tH????1H????0H??H????@2?H?tH?G H?O(?Ѕ?t?0?DH???H9???0@??L?D$$A;?D??A?4$H??A?Nj?DG??@0H????E??t\?D$$??D?T$'D??D?\$&D???l$%??A??@A??A?? ????t?E??t@?kE??tD?[??tD?SH??H??u?A??D+?E????????53?E??~.A?,$?L?Ë?H???/H??????H??A;?|?H?D$@I??H??H;D$8H?D$@H?D$P?????H?D$8F???L$,?T$0D?L$(??AЉL$,?T$0A;??~???H?D$H?A???eH?%XH??H??????eH?%XH??H?)?H?3?H??$?H??$?H??$?H?L$xH3????H?ĐA_A^A]A\_?H?\$H?l$H?t$ H?T$WATAUAVAWH?? H??H?Y0E3?L???H????H?t%H?G H?O(?Ѕ?t$?;L???H?????I?H9E??H?T$X??B?<	??H???G?$?E?d$?F?$bL???H???H;??s?H?_0H??H???H?D$X??l????;t(H????.H????H??H???H?D$X??????H?D$X2Ɉ?1???H?\$PA??H?l$`H?t$hH?? A_A^A]A\_??H?\$UVWAVAWH?? H??L?|$XH??H?l$XH???L?t$XLE?M??H???IE?M??H???H???ME?H;?s?9H??H????(?{0tH???+.H????8H?HH????@2??0H??H?4H;??s?H?AH????%?>tH????-H????H??H????2?@??P???B?<????6??D?A?H???H;??s?H??H????%?>tH???s-H????H??H????2ɈL$PH?T$PH???JH?T$PH???m???H?T$PA?H???-H?T$PH???P???H?T$P?EH???H?T$PH???3???=?~%eH?%X?
M??H??H??H?
?2?H?\$`H?? A_A^_^]?H???H???H???H???H?\$`3?H?? A_A^_^]???H?\$H?l$H?t$WAVAWH??0I??M??H??L?IL?AH??H?????????7??E?CA?H??t?C??KD?KD?????E????t?????A??;???D??E??E????E????t?????A??D;???E??t
?????A??;?vA??D??E??t
?????A??;?]A??Hc??]?H??H??tID?CH??D?CH??D?????D?D$pE??t"?SD;?t?CH??D??D$ ?m??H??H??tDH???A???eH?%XH??H?
????eH?%XH??H???H?3?H?\$PH?l$XH?t$`H??0A_A^_???H?\$H?l$H?t$H?|$ ATAVAWH?? L??H?q H???H?k0H?{H?{(tH?H??Ѕ?t?}??H???H9??ssA?< t,	<w]H???H;??s?H??H????&?{0tH???`*H????H??H????2ɺ0A?H??H?s H?,?d???H?s H?{(H?{tH?H??Ѕ?t?{0??H???H9????A??#??H?k0H???f?H?{L??t#H?C H?s H?K(?Ѕ?t%?}?????H???I?H?s H9???????A?<
?????<
?????H???H;s?H??H????&?{0tH???b)H????H??H????2ɺ0A?H??H?,?V???H?\$@H?l$HH?t$PH?|$XH?? A_A^A\???????̉T$SVWAUAVH?? H?H??A?H??E???ʊ??????}1?=?eH?%X?H??H??H?3?H?? A^A]_^[?H???H?l$PH;??r?{0?YH???(H????H??H??????4H???F????C??u6???eH?%XH?l$P?H??H?SH?3?H?? A^A]_^[?H?????????u6?u?eH?%XH?l$P?H??H?'H?3?H?? A^A]_^[?H???H;??s?H??H????&?{0tH???'H????H??H????2??ɍA??????????L?|$hE3??KH??t&H???F@fff?L?x?L?8H?@`I+?u??C?H?H;?t*???eH?%X?H??H?H?3???D??PH?KL?d$`E????GL?=?
H???F?H???H;??s?H??H????&?{0tH????&H????H??H????2??щW??{uA?;?u??PHH???H;??s?H??H????&?{0tH???d&H????H??H????2??ɋ?????ȃ??B???O?A????H???H;??s?H??H????&?{0tH????%H????H??H????2????G???{?KA??I??H??`D;??????E3??|$X?PD?D?KE???	E???t?????A??D;???E??E????????t???????D;????C??~6H???FD????B?H?R`A;?A??D?r?AN?D;?D??DN?I??u?3?D???FB??D???FF?????FD???FA???????3҉??F?C??A?A?????F?{?cH???Ff??O?3?D?G?????A?A??3҉A???C??A?A???G???F???OD???FL?4L?$L?,A??D?G????E???|t?????A??;??iA?ȃ?Hc??؂H?GH???QH??H???H?G??0H???O??D?G???????GH???H;??s?H??H????&?0tH???;H????H??H????2?H?>E3??JE??A??H???H;??s?H??H????&D9o0tH????H????H??H????2?H?>??FA??AD?H???H;??s?H??H????&D9o0tH???H????H??H????2?H?>??IE??DD?H???H;??s?H??H????&D9o0tH???BH????H??H????2?H?>??FA??AD?H???H;??s?H??H????&D9o0tH????H????H??H????2Ʉ?DD??E????H???džHH?b!??l?????????H?>H???H;??s?H??H????&?0tH???cH????H??H????2?H?>E3??AE??A??H???H;??s?H??H????&D9o0tH???H????H??H????2?H?>??dA??AD?H???H;??s?H??H????&D9o0tH???H????H??H????2?H?>??oE??DD?H???H;??s?H??H????&D9o0tH???jH????H??H????2?H?>??bE??ED?H???H;??s?H??H????&D9o0tH???H????H??H????2?H?>??eA??AD?H???H;??s?H??H????&D9o0tH????H????H??H????2Ʉ?DD??E????H?>H???H;??sH??H?????0tH???oH???H??@z??H??8z??H?>H???H;??r?0tH???7H????H??H????2??у???LHH????????Y?eH?%X?H??H??H?3??H??y????t*?"?eH?%X?H??H???H?3??bH??vy????hH??JH??^y??E3?D?x?E???+L?%???H?H???H;??s?H??H????&D9k0tH???0H????H??H????2????????????????D??I??I???H???tH????x?????HH???H;??s?H??H????&D9k0tH???H????H??H????2???B?'H??I?f??F?4H??@|????A??E?D+?E??????E??????eH?%X?H??H???H?3??????eH?%X?H??H?P?H?3???H???w??E3?H??L$ ????fff?H?E??H???H;??s?H??H????&D9k0tH???H????H??H????2?D??E??A??A??A???nA???dH?|$0??H?H???H;??s?H??H????&D9k0tH???0H????H??H????2????D?H??H??u??l$ H?T$0D?|$$E??IiߐH?E??u$H?K?H??H;?|?E????H?L$(L???6I??
H??M?E??ff??fE?*???H??H?\$0H?l$8H?t$@H?|$HH?? A^?H?\$WH?? H?AH?y8D?A4H??H?I(H????H?????u?C0H?C9H????H?\$0H?? _?Hc?H??8H?H???H?\$0H?? _????????????L??E??~3LcD$(L??E??M??~3?fD?
A?H??I;?|?M?H??I??u?I????H???L?ڈL??A??u?AH??H?????RH?\$??H?t$Ic?@?H?<$???A?RH?^?H;?~ML?K?A?yM?BI?Sfff??B?M?@H?R?H?H?B????A?@??B????A?@?I??u?B???H?<$??Lc?B?D?H?t$?@???C?B?H?\$C?DI??H?????????????????H?\$V?H??E?L??Ic?@Aƒ?u?????A?H??H?\$^ÍHH?|$??H??A?H??~SI+?M?HH??M?SDA?	M?RD??A?M?I?@?A?P?PA???A?R??PA?P???A?R?H??u?H?|$?PH?\$?6Hc?I????B?T?^?@VW?M??Ic?H??E3?D?@A?D???uA?@???A?H??_^?H?\$?F?H?ڃ??I+څ??fo-??M?ZH?l$ ??L?t$(W???L????L?|$0I??D??D??@f?B?M?v?~+M?[?~]H?mf`č@f`?A?C?f??fq??f??fo?fo?fs?fo?fA??fq?f??f??fs?f??f??f??f??fo?fa?fi?fq?fq?fg??AF?B?D?D?@A?C?D?I???P???L?|$0L?t$(H?l$ Ic?L???B??@?C?	Hc?A?IE?@A??D?A??D?:Hc?H;?}WN?L+?L?W@?A?	M?RD??B?M?I?@?A?P?PA???A?R??PA?P???A?R?I??u?H?\$?P?6??Hc?H?LjT9?_^??????@SL??L??3?E???oA???e?=Dj?XIc?H??J?J?L;?w	I;??<J?L;?w	I;??*H?l$H?t$H?|$ foq?I?hfo%U?I??fo-??I??Ic?I+?H???I+?H??????I+?f81M?f81T+?f8@?f?у?f??fr?T?fg?fg?f~T/?f81Mf81+H?mf8@?f??H?.f??fr?T?fg?fg?f~T/?f81M?f81T+?f8@?f??f??fr?T?fg?fg?f~T/?f81T+?f81M?f8@?f??f??fr?T?fg?fg?f~T/?H;??-???H?|$ H?t$H?l$Hc?Mc?I;?}9I??J?I+?M+?L+?B?D?H?@A???ID?A??D?D?I??u?I??[??????@SH??H?~??L??H??pHH????H??xHH?D???H???H3ɸ???s*H????I??pHH????I??xHH?????I???HH??[???????????????L?Ʌ?yH???H????H?yt)???A+??;?}I???+?I?I(I???I?aHc?I??????????????????H?\$ L?D$H?T$UVWATAUAVAWH??H???M??H??H;??sD?H??H????%?y0t????H???D?H??H????E2ҹ0H??H?<A?ʉL$hH;??s?H??H?????$??2??t%H???D???H????H??H?????$??Ƅ$?H;??s?H??H????%??tH???????H????H??H????2???H?ˉD$@???qZ??H?ˉD$H?eZ??H????D$XH;??s?H??H????%??tH??????H????H??H????2?H??D???Z??H???	Z??H???Z??H?ˉD$M+?3?I????
M??H???0H??~H??H??H;?wH??H;?HB?H?]H?L$0諒??\$ H?H8H??toH?H?T$ ?PH??H?L$hH??tL?H?D$0H;???A?P H?H?~H?nL??I??H???*?
?;H??H?L$pH3?薚L??$?I?[0I?k8I??A^_^??=j??F?????H?\$H?t$WH??H??IH3?H?D$pH??H?qH??vNH?H?L$0襑?N?L$ H?\$(H?H8H??taH?L?D$ H?T$(?PH?L$hH??tH?H?T$0H;????P ?H?GH?G?H?L$pH3??ԙL??$?I?[I?s I??_??~i??????????@SH?? H??H??(?.???H?KH?? [? ???H?D$0W?H?L$(? .?z???xt)A(?(???U?X?????X??^L??Y?(?xtH\Y?(?(???U?X??ªW??X????Q?.?zt(??\??^???AYA\(?Y?(?(??????U?X??X?W????R?(?(???Y???Y?X

?`?c^/?vo\Y?(?(??ª??U?X??X?W????Q?.?zt>?Y5??\??Y??X?(???(?AYY?Y?Y?Y?Y?Y?Y?Y?A???????????????L??I?[I?sWH???A)s?A){?E)C?E)S?H?bGH3?H?D$`H??$?EW?E)K?I??H???DE.?z?}?t+A	(?(???U?X?????X??^???AY?D(ʀ??H?T$0?m?(T$0W?\Y?(?(???U?X??ª?X????Q?A.?z??D(?K ?E\?S(?(???????(?????D^?E??A(?Y?A(?DY?W???Y???'??E??'W???'????'??#W???'??[?D?E??'DC H?T$@H??蛕H?T$P\\$@A(?H????(?Y?(?(??????U?X??X?W????R?(???Y??M?Y?H?T$0H??X0)t$0?U??=?[/D(?$???H?T$@H???
?(T$@\Y?(?(???U?X??ªW??X????Q?A.?z???\#K (??Y??D(?[???(??Y?D???????X??(?Y?(?Y?W???Y???'????'W???'????'??W???'?A?c????'{ H?L$`H3??H?L??$?I?[I?s A(s?A({?E(C?E(S?I??_????????????????L??I?[I?s WH???A)s?A){?E)C?E)S?H?RDH3?H?D$`I?kEW?A?iI??E)K?I???E	H??E.?z??A?yt6H?T$0?]?(L$0(?(???U?X?????X??^z??AY?D(?@????H?T$0H???K?(T$0W?\Y?(?(???U?X??ª?X????Q?A.?z??D(?K ?E\?S(?(???????(?????D^?E??A(?Y?A(?DY?W???Y???'??E??'W???'????'??#W???'??[?D?E??'DC H?T$@H???y?H?T$P\\$@A(?H????(?Y?(?(??????U?X??X?W????R?(???Y??+?Y?H?T$0H??X0)t$0?3??=?X/H??$?D(?$???H?T$@H????(T$@\Y?(?(???U?X??ªW??X????Q?A.?z???\#K (??Yt?D(?[???(??Y?D???????X??(?Y?(?Y?W???Y???'????'W???'????'??W???'?A?c????'{ H?L$`H3???L??$?I?[ I?s(A(s?A({?E(C?E(S?I??_??????H??H?XH?x UH?h?H?? )p?)x?D)@?D)H?D)P?H?+AH3?H?E?H??D(?H?L$ H???|DH?M?DC CK0A(?A(???D??DD???D?????{(?H?U??ƈH?L$ E?A(?A??????E???E?}?DM???{?\$@H?T$p?D$HH???Dײ?=?V?(?(??Ӫ??UAW?AW??AW??A(???T$P??Y??D$X?X?)T$`貏?\$@(t$p?D$H(??(????Ӫ(???UAW?AW??AW?(?(??(??d$ ???Y??D$(???U?T$0H?T$`(?H????Y??D$8?(???Y?(D$`X?X?X?)D$`?.?H?M?H3???L??$ I?[ I?{(A(s?A({?E(C?E(K?E(S?I??]?????L??I?[UVWH???E)K?H?3?H3?H?D$pH??$??H??$I??H??$M??H??D????????????E)C?L?L$0A)s?L?D$@I??A){??N?????DA(?A???Y2?E???DY
5WA\?(?Y?(?(??????U?X??X?W????R?(???Y?'(????(????Y???????Y?\?(?Y?(?(??????U?X??X?W????R?D(?E??DY??`???d(t$PA(?A???Yt?DE???DY
sVA\?EW?(?Y?(?(??????U?X??X?W????R?(???Y??(????(????Y?(???????Y?\?(?Y?(?(??????U?X?(?Y??X?W???(??R??֪D(??Y?(?E??DY?(???U?X??ɪW??X??\??A_?.?w	W??Q??(??=?(?T
??/
P?vD(???U?^??D^???5'SA(?(?A(?(?????Y?Y?DY?Y?X?D\?????????R(t$`(d$@(l$P??UD(???U??UD?(??(?D?(????(??A(?A?????E???DY?Y?A\?(?Y?(?(??????U?X??X?W????R?(???Y?(?'???Y????Y?\?(?Y?(?(??????U?X??X?W????R???Y??D(D$0(l$0A(??(??(?$?(?$?A???]?_??UA??U???U??]?۪E???A?D(?$??Ҫ?????] H?L$pH3?賋L??$?I?[ E(K?I??_^]????????????3?L??A?A???u???A??BA?Ã?t??u?A??BA?Ã?u???A??BA?Ã?t??u???A??BA?Ã?u????????????*??	t??
t??
tރ?t??u'???????????A?A?B????????A????????H?\$UVWH??$P???H??H?":H3?H???H??H??H?L$(H?T$(3?E?????D$0W?D$8H?D$H	H?D$P?#??D$8???D$@D?D$AW?D$XH?D$hH?D$pH?POSITIONH?D$XD?D$`?t$x?E?E?H?E?H?E??ظ?E??Ըf?E??˸?E?D?E?W?E?H?E?H?E?????E????f?E?D?E??u??E?E?H?E?H?E?H?Input_UVH?E?D?E?E?H?EH?EH?TEXCOORDH?E?D?E?uH?
H?A?L?D$0H???PH?L?
?????PA?H?L$0?ʊ?H?H????H??P??A?????D$0H???H?L$8?C????H???H?L$X?1????t$x?E?H???H?M??????H???H?M??????u??E?H???H?M???????H???H?M???????u?E H???H?M(??????H?`?H?MH?????Eh?EpH?j?H?Mx?????H?1?H????}???Dž?Dž?H?B?H????V????H???H????B???Dž??H?+?H???????H???H??8????DžX??`H??H??h??????H???H????????Dž?H?H?A?L?D$0H???PH?L?
?????PA?H?L$0???????A?@?????A?@???vH?1H?
??????D$0H???H?L$8?V????H???H?L$X?D????t$x?E?H???H?M??)????H???H?M??????u??E?H?7?H?M???????H???H?M???????E?E H??H?M(??????H?S?H?MH?????Eh?EpH???H?Mx?????H?@?H??????????Dž?H?յH????i????H?	?H????U???DžDžH??H???.????H?δH??8????DžXDž`H?ϴH??h??????H???H????????Dž?Dž?H???H????????H?X?H???????Dž???H???H???????H?!?H??(?m???DžH??PH?n?H??X?J????H??H??x?6???Dž?H?H?A?L?D$0H???PH?L?
?????PA?H?L$0?D???u????D$0H?C?H?L$8??????H?A?H?L$X??????t$x?E?H?5?H?M??????H?0?H?M??????u??E?H???H?M??????H??H?M??p????E?E H???H?M(?R????H?ֲH?MH?A????Eh?EpH?|?H?Mx?#????H?òH??????????Dž?H?X?H?????????H???H????????DžH?H?A?L?D$0H???PH?L?
?????PA?H?L$0???H?H??t
H??R?H?3H??H???H3???H??$?H?İ_^]???H??(fn3?fo?L????H[??fnB[??AH?A9u(?(??	b?j(?(???U?Y??̪?Y??A(?????I?Y??A?aHc??u(?(??3??w%H??D???l?$$$?X???$$?	b?j,(?(???U?Y??̪?Y??A@ (?????AH$?Y??A@(?A`,Hc??u(?(??7??w)H??D???l?$$$?X????$$?	b0?j@(?(???U?Y??̪?Y??A@0(?????AH4?Y??A@8?A`??????H??w?? ??¤?X?????????A???A???A???A??HcJ??uW?(?W?(??c??w??ʠ?X(???ʤ???????H??w??ʠ?X
"???ʤ????????A???A???A???A??HcJ??uW?(?W?(??c??w??ʠ?X+???ʤ???????H??w??ʠ?X
]???ʤ????????A???A???A???A??HcJ??uW?(??c??w??ʠ?X
????ʤ???????H??w??ʠ?Xά??ʤ????????A??I???A???A???A??H??(????????H?\$H?l$H?t$H?|$ AVH?? 3?W?I??L??H??H?qH?qI;?uH?A@?1?I+?H????????H;???H??wL??H?yH?A??
@?4?H??H??H;?v)H??H??'H???itH??t}H?p'H???H?F??4?H??H;?HB?H?MH??tH??rH?A'H;?vK??%tH??L??H?3I??H?{H??H?k??
?>H?l$8H??H?\$0H?t$@H?|$HH?? A^???????&????
'????????????H?L$SVWATAUAVAWH?? M??L??H??L?	L??M+?I??H?AI+?H??I????????I;??;L?`H?II+?H??H??H??I??H+?H;??H?
I??I;?HC?I;???H?4?H?L$xH??u	3?H?L$x?=H??r)H?N'H;????sH????H?X'H???H?C??H????rH??H?\$hN?4?I?MI?L?GH?H??M;?uL+??M??L+????
I?NL?GM+?I?????
?H?H??t1H?WH+?H???H??rH??'L?A?I+?H?A?H??w:I???rH?J??H?OH?H?OI??H?? A_A^A]A\_^[??>%????S????*???H?\$H?t$WH?? A?xI??H??H??u&?L?CH??H???????H?˺(H??9r?{t?H?\$0H?t$8H?? _????????????@SVAVAWH??(L?qH????????H??M??I+?H??H;??{H?l$PH?iH?|$XL?d$`M?$I??L?l$ H??H;?wDH??H??H??H+?H;?w3H?)H??H;?HB?H?KH??u3??MH??rH??L?d$`H?|$XH?l$PL?l$ H??(A_A^^[??&???(#????b#????D??@f?H?ɸ????A????????D?E?E*?A??0D?D?…?u?H???H?\$H?L$VWAVH?? L??H??3??AH?ȨH?H?YH?yH?|$PH?H?_?(?oH?H?@H?@f?@H?M??tI?I???PI??H?NH?^H??tH??P?H??H?\$HH?? A^_^??????????????@SH?? H??H?	H??tH??H??PH?H?? [?????????H?IH??t
?(?Eo?????????????H?\$WH?? H?H??H?[?{u+fDL?CH??H??????H?˺(H???n?{t?H??(H?\$0H?? _??n????H??(H?	H??tH??P?H??(?????????@SH?? H??H?	H??t>H?SH+?H???H??rL?A?H??'I+?H?A?H??wI???vn3?H?H?CH?CH?? [?????H???????H??????H??????H??????????H?\$H?l$H?t$WH?? ??H??H?ЦH?H?AH?X?{u'L?CH?WH?O?n???H??H??(??m?{tٺ(H?O??m?H?OH??tH??P?H?R7H?@??t
?(H???mH??H?\$0H?l$8H?t$@H?? _?????H?\$H?t$WH?? ??H??H?E?H?H?[?H?AH??H?I8?+H?K83?H??t
H??PH?s8H?K@H??tH??P?H?K H??tEH?C0H+?H??H??H??rH??'L?A?I+?H?A?H??wEI????lH?s H?s(H?s0H?q6H?C@??t
?PH???lH??H?\$0H?t$8H?? _??J???H?\$H?l$H?t$WH?? ??H??H???H?H??H?AH?I 3?H??t
H??PH?k H?K(H??t
H??PH?k(H??H?K?H?KH??t
H??PH?kH?SHH??tL?CXL+?H?KH?L??H?kHH?kPH?kXH?S0H??tL?C@L+?H?K0?L??H?k0H?k8H?k@H?z5H?C@??t
?`H???kH??H?\$0H?l$8H?t$@H?? _????????????H?\$H?t$WH?? ??H??H???H?H?ˣH?AH??H?IH?KH?KHH??tH??PH?CHH???H?O8H??tH?H;????P H?G8H?{PH?O8H??tH?H;????P H?G8H?K@H??tH??P?H?K8H??tH??P?H??4H?C@??t
??H????jH??H?\$0H?t$8H?? _???????????????H?\$H?t$WH?? ??H??H?%?H?H?;?H?AH??H?I0?[H?K03?H??t
H??PH?s0H?K8H??tH??P?H?KH??tEH?C(H+?H??H??H??rH??'L?A?I+?H?A?H??wEI???jH?sH?s H?s(H??3H?C@??t
?HH????iH??H?\$0H?t$8H?? _??z???H?\$H?l$VWATAVAWH?? L?Y@2?L?1I??I+?3?H??D??H??D??????H????I???A;?
?N?D;?|,G?A;?}
?N?D;?~D;?A;?|?N?D;?}2A;?0M;?tL?wM??D?D$PD?|$TL;_tEH?D$PI??H?G?{D?I??H??I+?H??H??H;??y???A????t"Hc?E|?A???GL?D$PI??H?????????3D?D$PD?|$TL;_tH?L$PI?H?G?L?D$PI??H??????@??H?\$XH?l$`H?? A_A^A\_^??????????????H?\$H?l$H?t$ WATAUAVAWH??@A??D??H??3?H?A8L?pM??u2??H?t$pI?D???A??E??D??H?t$0H?L$pH?L$(?D$ E?L$eA?A??I??????؅?y/I?H?t$0H?L$pH?L$(?t$ E?L$eA?A??I???????H?D$pH?O@H?G@H??tH??P?D???@?Ɖw??????L?\$@I?[8I?k@I?sHI??A_A^A]A\_????????????H?\$H?l$H?t$ WAVAWH??@??H??E3?H?A0H?pH??u2??E??A??	L?|$`H?L???A????L?|$0H?L$`H?L$(?D$ E3?E?FH??A?ҋ؅?y+H?L?|$0H?L$`H?L$(D?|$ E3?E?F??H???????H?D$`H?O8H?G8H??tH??P???????H?\$hH?l$pH?t$xH??@A_A^_???2???????????????H??3?H??H?
H??????????????????H?\$H?l$VWATAVAWH??0M??E??H??H??E3?P??eH??H?D$`H??tT?@L?`H??H?H??H?GL?g L?g(L?g0H?_8L?g@D?gHH??tH?H???H??H?O8??
??I??H?|$`D?w????$?D?oHD??A??H????????uL?&H??tH?OH??P??$H?_H?A??E3?D??I??H???P H??ID?H?H??H?\$hH?l$pH??0A_A^A\_^????????H?\$H?l$H?t$ WAVAWH??0Ic?M??H??H??E3??`??dH??H?D$PH??t]?@H?l?H?H???H?CH?sL?{ L?{(L?{0L?{8L?{@L?{HL?{PL?{XH?KH??tH??H??H?K???I??H?\$PH?K0L??I???;??H?KHLcD$xH?T$p??:??H??????uL??H??tH?KH??P??H?CH??ID?H?H??H?\$XH?l$`H?t$hH??0A_A^_?H?\$WH??0H??3?H?H?|$`H?H??t
H??PH?H??H?\$@H??0_???????H?\$H?l$H?t$ WAVAWH??0I??I??H??L??E3????{cH??H?D$PH?????@L?x?@ ?@$?@(?@,?@0?@4H???H?H???H?CL?{8L?{@L?sHL???L???L???H?KHH??tH??H??H?KH?9??I??H?\$PL??H??H???0??uL??H??tH?KH??P??H?CH??ID?H?H??H?\$XH?l$`H?t$hH??0A_A^_??????????????H?\$H?l$H?t$ WAVAWH??0M??A??H??H??E3??H?KbH??H?D$PH??tT?@H??H?H??H?GL?L? L?(H?_0L?8D?@D?DH??tH?H???H??H?O0?A
??I??H?|$P?o@D?D$pD?GD??H????????uL?>H??tH?OH??P?? H?_H?E3?D??I??H???P H??ID?H?H??H?\$XH?l$`H?t$hH??0A_A^_???????????H?\$H?t$H?|$AVH?? H?AH??H?I L?pH??tH??PH?C H?K(H??tH??PH?C(I?L?C H?S0I???????xI?L?C(H?SHI????P?????2?H?\$0H?t$8H?|$@H?? A^????????H??3?W?H?BH?B?H??H?????????????????H?\$ UVWATAUAVAWH?l$?H??H?}H3?H?EI??H??L??E3??J????????I?EHL?xL?}?E2?D?t$PD?t$T?B?E??B?EL?L$TL?D$PH?U?????D?GE????A????A??u
?2?A??u
?p?rA??u
?q?_A??u
?t?OA???9A??
?/A??	?A???A??
?A????L?UE??yAA??I?ʸ????A??????????D*?A??0E?D?…?u?I??A?-?5fff?I?ʸ????A??????????D*?A??0E?D?…?u?L?L$XL?EI??H?M???????L?E?H?M?H??I+?A?H?5??I;?rwI?@H?E?H?]?H??HG]?H???H;?vJ?H;?wH;?w3??H??H+??I??H?KI??H??裶
L??H??H??蕶
H?;L+?H?VH?M????
H?E??L?t$(H?t$ E3?E3?I??H?M??m???W?E?W??M?E?HM?3?H?XH?@?H?M?H?U?H??H+?H??r!H?AH?E?H?E?H??HGE?f?)H?E??!H?D$ L?
??E3??H?M??i???W?E?W??M?E?HM?H?XH?@?H?U߹?[?H?U?H??v1H??H?M?H??H??rH??'H?I?H+?H???H?????]foZ??E??E?H?U?H??v9H??H?M?H??H??rH??'H?I?H+?H???H?????>]fo??E??E?H?U?H??v1H??H?M?H??H??rH??'H?I?H+?H???H???-??\2?H?MH3??H???ء
M??I??I???ʡ
3?H?mfA?H??rH?O?H??'H+?H?G?H??wNH??H???I?H??艡
M??I??I???{?
3?fA?H?H??L?d$`H?l$XH?\$PL?|$ H??(A^A]_^??#???%?????_??????????????????H?\$H?L$VWATAVAWH?? L??H??H????????H;??#L?aL+!H?IH+H??H??H??H+?H;?v0H?\$XH?&??HH????H?x'H???H?G?H?|$h?PH?
I;?IB?H?\$XH??u	3?H?|$h?2H??rH?K'H?\$XH;????H???[HH??H?D$hH?\$XJ?'M??M+?3???
L?FH?L+?H?????
?H?H??t-H?VH+?H??rH??'L?A?I+?H?A?H??w-I???1HH?>J??H?FH?H?FH?\$`H?? A_A^A\_^?跩??(???????????AH?*?H?W?3?H?AAH?A(H?A0?Af?A8H?A@H?AHH?APH?AXH?A`H?AhH?ApH?AxH???H???H???H???H???H???H???H???H??????H?\$WH?? H?H??H????H?l$03?H?t$8H?qH;?tWf?H?SH??v0H?H??H??rL?A?H??'I+?H?A?H????I????FH?kH?C@?+H??H;?u?L?H??>???H?OI+?H??H??H??H???H?Hi?H??rI?H?H??'L+?I?@?H??w+L??I???FH?t$8H?/H?oH?oH?l$0H?\$@H?? _????H?\$WH?? H?H??H????H?l$03?H?t$8H?qH;?tTf?H?SH??v0H?H??H??rL?A?H??'I+?H?A?H????I????EH?kH?C@?+H??0H;?u?L?H????????*H?OI+?H??H??H??H???H?H?RH??H??rI?H?H??'L+?I?@?H??w+L??I???EH?t$8H?/H?oH?oH?l$0H?\$@H?? _??????H?\$WH?? H?H??H????H?l$03?H?t$8H?qH;?tTf?H?SH??v0H?H??H??rL?A?H??'I+?H?A?H????I????DH?kH?C@?+H??(H;?u?L?H?gfffffffH?OI+?H??H??H??H???H?H??H??H??rI?H?H??'L+?I?@?H??w+L??I???DH?t$8H?/H?oH?oH?l$0H?\$@H?? _??????@SH?? H??H?IH??t;H?S H+?H??rL?A?H??'I+?H?A?H??w:I???)D3?H?CH?CH?C L?H??H??M?@?q???H??0H?? [??C袥??????????H?\$WH?? H??3?H???H??tMH???H+?H???H??rL?A?H??'I+?H?A?H????I???CH???H???H???H???????H?Kx????H?K`?????H?KH?????H?S0H??v-H?KH??H??rL?A?H??'I+?H?A?H??w#I???"CH?{(H?C0@?{H?\$0H?? _?貤??????????H?\$H?t$WH?? L?A(??H??I??v
H?QH???U7??3?H?C(H?C f?CH?\H?@??t
??H???BH?t$8H??H?\$0H?? _????H?\$WH?? ??H????????t
??H???bBH?\$0H??H?? _?????????????H??(H?
?}?????????????????H?\$H?l$H?t$H?|$ ATAVAWH?? H?)L??H?IM??H+?L??H??L;???H?????????L;??jH??H??H??H+?H;?vH???H?
I;?IB?3?H??t@H??H??rH?M?H??'H+?H?E?H???H??H???zAI?>I?~I?~H;???H??H??t=H??r)H?K'H;????AH????H?x'H???H?G??H????@H??I?>H?;I?~J??I?NL??H??I???Ϙ
H?;?[I?vH??H+?H??L;?v4H??L??覘
I?~J?#L+?H??J??L??舘
H?;?J??L???r?
H?+H?\$@H?l$HH?t$PH?|$XI?FH?? A_A^A\??&?????? ???????????????H?\$H?l$H?t$ WAVAWH?? H?)L??H?QI??H+?L??H??L;??L?d$@I????????M;??_H??I??H??H+?H;?vI???H?H;?HB?3?H??tH?SH+?H???H??rL?A?H??'I+?H?A?H??wI???-3?H?H?CH?CH?? [??.???????@SH?? H??H?	H??t>H?SH+?H???H??rL?A?H??'I+?H?A?H??wI???6-3?H?H?CH?CH?? [??Ύ??????H?\$WH?? H??H?$?H?H???L?
?????D????5?H???3?H??t
H??PH???H???H??tMH???H+?H???H??rH??'L?A?I+?H?A?H????	I???,H???H???H???H???H??tMH???H+?H???H??rH??'L?A?I+?H?A?H???H	I???-,H???H???H???H???H??tMH???H+?H???H??rH??'L?A?I+?H?A?H????I????+H???H???H???H??hH??tMH??xH+?H???H??rH??'L?A?I+?H?A?H????I???{+H??hH??pH??xH??PH??tMH??`H+?H???H??rH??'L?A?I+?H?A?H???=I???"+H??PH??XH??`H??8H??tMH??HH+?H???H??rH??'L?A?I+?H?A?H????I????*H??8H??@H??HH?? H??tMH??0H+?H???H??rH??'L?A?I+?H?A?H????I???p*H?? H??(H??0H??H??tMH??H+?H???H??rH??'L?A?I+?H?A?H???2I???*H??H??H??H???H??tMH??H+?H???H??rH??'L?A?I+?H?A?H????I???)H???H???H??H???H??tMH???H+?H???H??rH??'L?A?I+?H?A?H????I???e)H???H???H???H???H??tMH???H+?H???H??rH??'L?A?I+?H?A?H???'I???)H???H???H???H???H??tMH???H+?H???H??rH??'L?A?I+?H?A?H????I???(H???H???H???H???H??tMH???H+?H???H??rH??'L?A?I+?H?A?H???uI???Z(H???H???H???H??xH??tMH???H+?H???H??rH??'L?A?I+?H?A?H???I???(H??xH???H???H??`H??tMH??pH+?H???H??rH??'L?A?I+?H?A?H????I???'H??`H??hH??pH??HH??tMH??XH+?H???H??rH??'L?A?I+?H?A?H???jI???O'H??HH??PH??XH??0H??tMH??@H+?H???H??rH??'L?A?I+?H?A?H???I????&H??0H??8H??@H??H??tMH??(H+?H???H??rH??'L?A?I+?H?A?H????I???&H??H?? H??(H??H??tMH??H+?H???H??rH??'L?A?I+?H?A?H???_I???D&H??H??H??H???H??tMH???H+?H???H??rH??'L?A?I+?H?A?H???I????%H???H???H???H???H??tMH???H+?H???H??rH??'L?A?I+?H?A?H????I???%H???H???H???H???H??tMH???H+?H???H??rH??'L?A?I+?H?A?H???TI???9%H???H???H???H???H??tMH???H+?H???H??rH??'L?A?I+?H?A?H????I????$H???H???H???H???H??tMH???H+?H???H??rH??'L?A?I+?H?A?H????I???$H???H???H???H?KpH??tGH???H+?H???H??rH??'L?A?I+?H?A?H???LI???1$H?{pH?{xH???H?KXH??tAH?ShH+?H???H??rH??'L?A?I+?H?A?H????I????#H?{XH?{`H?{hH?K@H??tAH?SPH+?H???H??rH??'L?A?I+?H?A?H????I???#H?{@H?{HH?{PH?K(H??t=H?S8H+?H???H??rH??'L?A?I+?H?A?H??woI???T#H?{(H?{0H?{8H?KH??t=H?S H+?H???H??rH??'L?A?I+?H?A?H??w)I???#H?{H?{H?{ H???
H?H?\$0H?? _?蘄????????????????H?\$WH?? H??H??H?
H??tH??H?H??t
H??PH?H?H?H??H?\$0H?? _???????????H?\$WH?? ??H???\???@??t&H??@??u蜄H??H?\$0H?? _ú??`???H??H?\$0H?? _???H?\$H?l$H?t$WH?? H??I??H?	I??H??H??t1H?VH+?H???H??rL?A?H??'I+?H?A?H??w6I????!H?.H??H?H??H?H?~H?l$8H?^H?\$0H?t$@H?? _??\?????H?\$H?l$H?t$WH?? H??I??H?	I??H??H??t1H?VH+?H???H??rL?A?H??'I+?H?A?H??w6I???O!H?.H??H?H??H?H?~H?l$8H?^H?\$0H?t$@H?? _??̂????H??(I??H??I??rH?J?I??'H+?H???H??wH??I??H??H??(?? 舂????????????????H??(I??H??I??rH?J?I??'H+?H???H??wH??I??H??H??(? ?8?????????????????H?\$H?t$WH?? H?yH??H??H?H??H+?H??H;?sH??H?H?^H?\$8H?t$@H?? _?vNH?FH+?H??H;?vL?D$0H??H??H?\$8H?t$@H?? _?y???H+?t@H???#H??H??u?H?~H?\$8H?t$@H?? _???????????H?\$H?t$WH?? H?qH??H??H?H??H+?H??H;?sH??H?H?_H?\$8H?t$@H?? _?vLH?GH+?H??H;?vL?D$0H??H??H?\$8H?t$@H?? _????H+?tH??3?L??H???}
H?H?wH?\$8H?t$@H?? _?????????????H?q?H???????@SH?? H?[?H??H???t
???H??H?? [??????H?\$H?t$WH?? H?qH??H?H??H??H+?H;?sH??AvCH?GH+?H;?vL?D$0H??H??H?\$8H?t$@H?? _????H+?3?L??H????|
H?3H?GH?\$8H?t$@H?? _???????????????H?\$H?l$H?t$WAVAWH?? H?1H??H?QM??H+?L??L;???H????????L;??"H??H??H??H+?H;?wH?<I;?IB?3?H??t8H??rH?N?H??'H+?H?F?H????H??H???I?I?_I?_H??t=H??r)H?O'H;????JH????H?X'H???H?C??H???+H??I?H?;I?_M??I?OH??H???u
J?3??H?yH??H+?H??L;?v$L????t
I?_H?/L+?H??M????t
I??	??t
J?6H?\$@H?l$HH?t$PI?GH?? A_A^_??~??b????????????????????3?H?H?AH?AH??????????????????H?i?D?AH?3??AH?A?A ?A$H???Q?A(?????????H?9?H???????@SH?? H?#?H??H???t
?0?FH??H?? [??????HcAD?D;A~3??HAD?A??????̋A????????????̋A?????????????H?\$WH?? H?H??A??Ic??P@L??H??H??H?\$0H?? _?s
???????????????H?L$SH??0M??H??L???T$@?3H??H??0[???????????H?\$WH??0I??L??I??????H??3?@I??B8<u?H??I???l???W?H?{H?{HKH?xH?@@?8H??H?\$@H??0_????@SH?? H?H??H?
u3?H?
H?? [?H??r.H?A'H;?v3H???H??H??t)H??'H???H?H?H?H?? [??H?H?? [??i?????[|???H?\$UVWATAUAVAWH?l$?H???H?M?H3?H?E?M??L?M?L?E?H?U?D?ugH?]oH?uwH??t?,+??uA??E3?A?A%0=0t	H???%H?
?I?MH;?wB?<+0uB?D+,X??LD?H????H?D$0?.f?E??h?H???E?H?U?H????H??I?G@L?xL?}?I?I???P?H?M??Q???L??M??tI?I???PH??H??t
H???E3?H??H?M??O?L?M?H?}?LGM?I?$L?H??I???P8H?M?H?A@H?HH?M?H??P?H?M??oH??H?M?H??tH??PH??H??t
H???H?H?U?H???P(?H?H???P D??H;?tH?H???P??H?E?H?}?HGE??8?}??H;?HD|$0H?u?H?}?HGu??<??f?????H?H??I+?H;???H+?L?E?L;???H?M?H??I+?H??r2I?@H?E?H?]?H??HG]?H?H?KL+?I??H???+p
A?Lj?"D?|$(H?D$ L??E3??H?M??H?F?8HO??<?[???L?e?H?E?H?x(H??~
I;?vI+??3??@%???@??=H?E?)D$0??H??tYH?\$8H??t?H?C@H?8t$H?KX???~?ȉH?K@H?H?BH?D?2A???H?A??H???P???u?D$0H??u?(D$03?H?u?H?}?HGu?)D$0M??M????H?\$8f?D?H??t>H?C@H98t$H?KX???~?ȉH?K@H?H?BH?D?A???H?A??H???P???u?D$0H??I??u??^H?u?H?}?HGu?M??M??t`H?\$8D?H??t?H?C@H?8t$H?KX???~?ȉH?K@H?H?BH?D?A???H?A??H???P???u?D$0H??I??u?(D$0)D$0H??tZH?\$8?H??t?H?C@H?8t$H?KX???~?ȉH?K@H?H?BH?D?2A???H?A??H???P???u?D$0H??u?(D$03??H?u?H?}?HGu?H?E?)D$0M??M??tdH?\$8D?H??t?H?C@H?8t$H?KX???~?ȉH?K@H?H?BH?D?A???H?A??H???P???u?D$0H??I??u?(D$0H?E?H?u?H?}?HGu?I?H?E?)D$0M+?teH?\$8DD?H??t?H?C@H?8t$H?KX???~?ȉH?K@H?H?BH?D?A???H?A??H???P???u?D$0H??I??u?(D$0H?M?H?A()D$0H??tYH?\$8H??t?H?C@H?8t$H?KX???~?ȉH?K@H?H?BH?D?2A???H?A??H???P???u?D$0H??u?(D$0H?]?H?U?H??v1H??H?M?H??H??rH??'H?I?H+?H???H?????LfoN?E??E?H?U?H??v-H??H?M?H??H??rH??'H?I?H+?H???H??w/?H??H?M?H3??MH??$H???A_A^A]A\_^]??u???'??yu?H?\$H?t$WH?? H??H????????|H?@u?H?p?H????H??H??t&H??tL??H??H???Ik
H?\$0H??H?t$8H?? _??U?
?@SVAVAWH??(L?qH????????H??M??I+?H??H;???H?l$XH?iH?|$`L?d$hM?$I??L?l$ H??H;?wDH??H??H??H+?H;?w3H?)H??H;?HB?H?KH??u3??MH??rH??L?d$hH?|$`H?l$XL?l$ H??(A_A^^[??Qs??S?????????????????????@SVAVAWH??(L?qH????????H??M??I+?H??H;???H?l$XH?iH?|$`L?d$hM?$I??L?l$ H??H;?wDH??H??H??H+?H;?w3H?)H??H;?HB?H?KH??u3??MH??rH??L?d$hH?|$`H?l$XL?l$ H??(A_A^^[??q???????????????????????@SVAUAVH??(L?qH????????H??M??I+?H??H;??XH?l$PH?iH?|$XL?d$`L?|$ M?<I??H??H;?wDH??H??H??H+?H;?w3H?)H??H;?HB?H?KH??u3??MH??rH??L?d$`H?|$XH?l$PL?|$ H??(A^A]^[???o????????5????????L??I?????????H??I??I??H??????D?E?E*?A??0D?L??H??u?H???I;?tA?9t	H??I;?u?H?H???????@SUVWAVH?? L??3?H?L$X??
?H?-H?l$`H?=?H??u=3?H?L$P???
H9=?u??????H?H??H?L$P?7?
H?=?I?NH?4?H;ysH?AH?H??ua?3ۀy$t??
H;xs
H?@H?H??u?H??tH???5I??H?L$`?H???t:H?\$`H?\$PH???4?
H?H???RH?8H?L$X??
H??H?? A^_^][?裿?????H?\$H?L$WH?? H??3ɉL$8??tkH?}?H?H???H??????H???H???H???H???H???H???H???H???H???????D$8H?HcHH???H?9H?HcH?Q??T9?H?HcHH?E3?H?W?2?H?HcPH???H?:H?HcPD??x???D?D:??H?O???H??H?\$@H?? _?H?\$H?t$H?|$AVH?? 3?W?H?AL??H?AH??H?zH?rvL?2H????????H;???H??wH?qH?AA?H??H??H;?v,H??H??'H???H??H??trH??'H???H?H??1?H??H;?HB?H?OH??tH??rH?A'H;?v@??
L?FH?I??H?sH??H?{?b
H?t$8H??H?\$0H?|$@H?? A^??ml??o????詽???????????@SH?? 3?W?H?AH??H?AI??????I??B8u?????H??H?? [??????????H?\$H?l$H?t$WATAUAVAWH?? E3?W?L?qH??L?qI??M?xI??M?aI?PI?IH??I+?O?,?[a
H?vH??M??H??H???Ca
L?k??H????????H??I+?I;???I??H??H;?v-H??H??'H????H????L?p'I???I?F??4?H??H;?HB?H?MH??tH??rH?A'H;?vn??L??L?3L?kH?kH?vH??M??H??I???`
H?~vH?6M?D$H??K?>?v`
H?l$XH??H?\$PH?t$`H?? A_A^A]A\_??)j??+?????e????????H?\$H?l$H?t$H?|$ ATAVAWH?? L?t$`3?L?|$pW??H?QM??H?QK?,>H??H??H;?v~H??H?H????????H;?v-H??H??'H???H????H?X'H???H?C??9?H??H;?HB?H?OH??uH???H??rH?A'H;?v`??eH??H?M??H?nI??H?~H???]_
H?T$hJ?3M???L_
H?|$XH??H?t$P?+H?\$@H?l$HH?? A_A^A\???h?????????????????H?\$H?l$H?t$H?|$ AVH?? 3?E??W?H????????H??H??H?yH?yH;???H??w H?QL??A??H?A?Le
@?<?H??H??H;?v)H??H??'H???mH??t}H?x'H???H?G??4?H??H;?HB?H?MH??tH??rH?A'H;?vK??)H??A??H?;L??H?sH??H?k??d
?7H?l$8H??H?\$0H?t$@H?|$HH?? A^???g??Ը?????????????????????H?\$H?l$H?t$WATAUAVAWH?? ??H??H?x?H?L?q3?I?L?{I?H?KH?K H?k(H?ML?c0I?$H?K8H?K@L?kHA?M?KLH?KPH?KX??TH??H??t????
H?G3??3ɋ?H?{`L?sL?{ H?k8L?c@L?kPH?CLH?CXI?I?$?I?H?MA?MH?R?H?H?Kh???у????у?@??Eыʃ?@??Dʋ???@??D??CpH??H?\$PH?l$XH?t$`H?? A_A^A]A\_???????????H?\$H?L$WH?? H??E3?D?D$8??txH?S?H?H?Q?H?AL???L???D???L???L???L???L???L???H???H???L???L???D????D$8H?HcHH???H?9H?HcH?Q?T9?L?GH?HcHH?E3?H?W?*?H?GHcHH?h?H?D9H?GHcH?Q??T9H?HcHH?^?H?9H?HcH?Q??T9?H?HcPH?N?H?:H?HcPD??h???D?D:??H?O?????H??H?\$@H?? _???????????@SH?? H?H??t H?K?eH?K ?eH?K(H?? [?reH?? [?????????????H??(H?m?H??	?
?H??(????????H?A?L??HcPH???H?D
?H?A?HcPD?B?D?D
?H?A?HcHH?Q?J?D	?I?A?HcH?Q?B?T	?I?A?HcHH??J?D	?I?A?HcH?Q?B?T	?????????????????H?A?HcPH???H?D
?H?A?HcPD?B?D?D
????????????H?A?HcPH???H?D
?H?A?HcPD?B?D?D
????????????H?\$H?l$H?t$WAVAWH?? ?ApH?ypH?)?H??H?H?i@tbH?EH?H??tH?CXHcH??H?CPHcH?C8HH?CH?H+?H??r$L?A?H??'I+?H?A?H????I??H?k@H?{p?H?C3?H?H?C8H?H?CP?H?C H?H?EH?H?CX?H?
??'?H?H?KhH?[`H??t/H?KH??tH??PH??tL??H??A??H???0H?\$@H?l$HH?t$PH?? A_A^_???b??????????H?\$WH?? H???N?
H?KXH??t?c3?H?{XH?KHH??t??bH?{HH?K8H??t??bH?{8H?K(H??t??bH?{(H?KH??t??bH?{H?KH??t?bH?{H??H?\$0H?? _?>?
??????????????H?\$WH?? H??H??H;?tbH?QH??v,H?	H??H??rL?A?H??'I+?H?A?H??wBI???H?C3?H?C?OKH?GH?G?H??H?\$0H?? _??a?????̉T$H?L$SVWATAUAVAWH??H??3?????$?H?L$PH?Lc@I?LHH??tH??P?H?HcA?|t2??*H?DPH??tH;?tH??聵??H?HcA?|?????D$X????HcAH?D@L?pL?t$hI?I???P?3?H?L$0?r?
?L?-b?L?l$@L?=F?M??uC3?H??$??J?
L9=+?u?C????;?H?H??H??$???
L?=??N?$?M;~s
I?FI?<H??ugA?~$t??
L;xs
H?@I?<H??uHM??tI???>H?T$`H?L$@?{H????)H?|$@H??$?H????
H?H???PH?=??H?L$0??
?I?I???PH??tH?L??H??A??H?LcHL?A?QXI?AH?D$@H?D$HH?(D$@fD$`??$??L$(?T$ L?D$`H?T$@H???PH??|$@E?$?3??3?H??$???$??H?HcHH?qH?yHE?փ??Q#QuF?+?
??u	H???g????H?HcHH?LHH??tH??P?H??H?ĠA_A^A]A\_^[????????t	H?~?
???H???
H???
HDغH?L$`?P???L??H??H?L$p????H??{H?L$p?w???????????????H?\$WH?? H??H???H?HcPH???H??:x???H?HcPD??x???D??:t???H?O??W???H?HcPH??H??:x???H?HcPD?B?D??:t???H???H?H???8?
?H?\$0H?? _?H?\$H?t$WH?? H??H???H?HcPH???H??2h???H?HcPD??h???D??2d???H?N??????H?HcHH?t?H??1h???H?HcH?Q???1d???H??x???HcHH?1?H??1x???H??x???HcH?Q???1t???H?HcPH???H??2h???H?HcPD?B?D??2d???H???H?H???M?
?H?\$0H?t$8H?? _?HcA?H+??tHcA?H+??HcA?H+??|HcA?H+???HcA?H+???????H?\$WH?? ??H??H?B?H????
???t
?`H?????
H??H?\$0H?? _??H?\$WH?? ??L??H?y?H?Lc@H???I?D?H?Lc@E?H?E?L?H?A?HcHH??J?D?I?B?HcH?Q?B?T?H?HcHH?нJ?D?H?HcH?Q?B?T?H???I?I???.?
???t
??H???7?
H??H?\$0H?? _??H?\$WH?? ??H?y?H?Lc@H?j?I?D?H?Lc@E?H?E?L?H?.?H????
???t
?xH?????
H??H?\$0H?? _??????????????H?\$WH?? ??H?y?H?Lc@H?
?I?D?H?Lc@E?H?E?L?H???H??Z?
???t
?pH???c?
H??H?\$0H?? _??????????????H?\$WH?? H??x?????H???U?????t
??H????
H?\$0H??H?? _??????H?\$H?t$WH?? H?y`H???H???H??H??t/H?OH??tH??PH??tL??H??A??H????
@??t
?hH????
H?t$8H??H?\$0H?? _?????H?\$WH?? ??H????
???t
?HH???G?
H??H?\$0H?? _??H??(H??I?PH??rH?H?H??'H+?H???H??wH??H??H??(??
?X???H?\$H?t$H?|$ UAVAWH?l$?H??L??H??E3?A?߉]gH???5H9?,??q?
H??H?EgH????I?FH??tH?X(H??u
H?X0?H?F?
3?H?M????
?L?}??E?L?}??E?L?}?fD?}L?}fD?}L?}?E'L?}/?E7H????H??H?M???
??D?H?R?H??I??H?>??tH?M??Y?
H?M/H??t?XL?}/H?MH??t?	XL?}H?MH??t??WL?}H?M?H??t??WL?}?H?M?H??t??WL?}?H?M?H??t??WL?}?H?M??T?
??L??$?I?[(I?s0I?{8I??A_A^]?H?
*?
???
?????H?\$UVWAVAWH?l$?H???H??H3?H?E'L??H??E3?A??D?|$ H????H99???0???
H??H?E?H???.I?FH??tH?x(H??u
H?x0?H?=??
3?H?L$(??
?L?}??E?L?}??E?L?}?fD?}?L?}?fD?}?L?}??E?L?}??E?H????H??H?L$(?m?
???|$ D?{H??H????H?M??3?
L?{L?{ L?{(H?]?H?M???
L?E?3?H?
??
?h???H?C?׹??H??H????2???-?f?AH?K ?׹???H??H??????????AH?K(f?C.,?I??H?@????H?L$(??
H?M?H??t??UL?}?H?M?H??t?UL?}?H?M?H??t?UL?}?H?M?H??t?UL?}?H?M?H??t?UL?}?H?M?H??t?mUL?}?H?L$(???
??H?M'H3??}?
H??$ H???A_A^_^]?H?
Ͻ
??
????
????
??????????????H?\$UVWATAUAVAWH?l$?H??H???H3?H?E?M??L?M?L?E?H?U?D?uoH?}wH?uH??t?,+??uA??E3?A?A%=uI?MH;?wB?H??I???P8I?D$@H?HH?M?H??P?H?M??????H??H?M?H??tH??PH??H??t
H???H?H?U?H???P(?H?}?H?}?HG}????<}??H?H???P D???<???????H?H??I+?H;???H+?L?E?L;???H?M?H??I+?H??r2I?@H?E?H?]?H??HG]?H?H?KL+?I??H????H
A?Lj?"D?|$(H?D$ L??E3??H?M??Q???H?G?8HO??<?[???L?e?H?E?H?x(H??~
I;?vI+??3??@%???@??=H?E?)E???H??tVH?]?H??t?H?C@H?8t$H?KX???~?ȉH?K@H?H?BH?D?2A???H?A??H???P???u?E?H??u?(E?3?H?u?H?}?HGu?)E?M??M????H?]??D?H??t>H?C@H98t$H?KX???~?ȉH?K@H?H?BH?D?A???H?A??H???P???u?E?H??I??u??\H?u?H?}?HGu?M??M??t]H?]?D?H??t?H?C@H?8t$H?KX???~?ȉH?K@H?H?BH?D?A???H?A??H???P???u?E?H??I??u?(E?)E?H??t]H?]??H??t?H?C@H?8t$H?KX???~?ȉH?K@H?H?BH?D?2A???H?A??H???P???u?E?H??u?(E?3??H?u?H?}?HGu?H?E?)E?M??M??tcH?]?f?D?H??t?H?C@H?8t$H?KX???~?ȉH?K@H?H?BH?D?A???H?A??H???P???u?E?H??I??u?(E?H?E?H?u?H?}?HGu?I?H?E?)E?M+?t]H?]?D?H??t?H?C@H?8t$H?KX???~?ȉH?K@H?H?BH?D?A???H?A??H???P???u?E?H??I??u?(E?H?E?H?@()E?H??tVH?]?H??t?H?C@H?8t$H?KX???~?ȉH?K@H?H?BH?D?2A???H?A??H???P???u?E?H??u?(E?H?]?H?U?H??v1H??H?M?H??H??rH??'H?I?H+?H???H?????
?
fo?&?E??E?H?U?H??v-H??H?M?H??H??rH??'H?I?H+?H???H??w/???
H??H?M?H3???
H??$?H?İA_A^A]A\_^]??FN????:N??H?l$H?t$H?|$ AVH?? H?|$PI??A??L??H??tYH?\$0I?XH??t=H?C@H?8t#H?KX???~?ȉH?K@H?H?BH???@?*?H???H???P???u?H??u?H?\$0H?l$8I??H?t$@H?|$HAH?? A^???????????????H??(H?
?%?(?
????????????????H?\$H?l$VWAWH?? H?iI??L??H??L;?w!H??H??vH?9H?qH???TC
?7??H????????H;???H??L?t$@H??H;?wEH??H??H??H+?H;?w4H?*H??H;?HB?H?OH??uE3??MH??rH?JH?KhH?K L?1H?K@H?A??H?CX+?Ή?CptI?L?0H?C8L?0H?CP??(H?C8L?KhH?I?H+?I?D+?L?0H?C8H?H?CPD??CptH?KtL??H???5??H?CX?Kp?H?K@H?H?BH?A??D?"??????H?\$XH?l$`H?? A_A^A\_^??\8??^?????????????????H?A8L?M??t@H?AL;v7???tA:P?t?Apu&H?AP?H?A8H????t	H?A8H??3????DЋ?ø???????????????????H??UWAVAWH??HL?yM??I??H??L;??vH?pH??$?L?` M??L+?M;?IB?H;?u$H?yH??vH?H?L??I???-
H???L+?H?\$xH;?sCH?yH??vH?H?L??H??I???{-
H?+H?3M?D$?i-
L+?H??L?L???L?AL?l$@I??L??I+?L+?L;???K?/H?AI??vH?	L?I?1L?D$pI?(I;?vJ?9L;?wI;?w3??H??I+??H??J?*M?D$??,
L?|$pL??I??I????,
H+?J?+I?J?;L???,
H???H?t$0L??L?t$(I??E3?H?l$ ?l???L?l$@H?\$xH??$?L??$?H??HA_A^_]????????3?H?????H?BH?BH??????????H?\$H?l$W?\$0A??I??L????t
?Apt??2???tA?Cpt??2?H?t$??????A?CpI?C8H?tE3??I?C@L?M??t
M9ChsM?ChI?CI?shL?I+??tZ??t????H???I?Ã?<????tH??u	M????H??I+??!????M??u	M????I??I+??3?L?(L;?wtM??t??tH??te??tM??t[K?<??tH??tI?CI?Kh+?L?I?C8H?8I?CP???t)M??t$I?CXHcI?C@HI?C +?L?I?C@H?8I?CX?L??H?????H?t$3?H?\$H?l$ H?BH?BH??_????@SI??L??A??t
?Apt??2?A??tA?Cpt??2?H?t$H?|$L?t$ ????????M?@I?C8LA?CpH?0t3??I?C@H?H??t
I9KhsI?KhM?sI?[hH??I?>H+?L;?wrM??tA??tH??tbA??tH??tWN?A??tH??tI?>A+?I?C8L?I?CP?A??t*H??t%I?CXHcI?C@HI?C A+?H?8I?C@L?I?CX?L??H?????L?t$ 3?H?|$H?t$H?BH?BH??[?????H???????????????3???????????????@SH??PH?S?H3?H?D$HH?L$(D??L?T$EH?م?yGA??@I?ʸ????A??????????D*?A??0E?D?…?u?I??A?-?7@f?I?ʸ????A??????????D*?A??0E?D?…?u?L?L$ I??L?D$EH???[??H??H?L$HH3??1?
H??P[????????????@SH?? H?H???P0???uH?? [?H?CP?H?K8H?H?BH??H?? [??????????L?Q8L??I?
H??tOI?@PHcH?H;?rH??H?I?vH?;I?FH?? A_A^_^[??i????v?????????????????????H?\$H?t$ WATAUAVAWH??H?mH3?H??$?L??H??H?L$0H?3333333H;??!H?IH+I?gfffffffI??H??L??I??I??H???L?H?KH+I??H??H??H??H???H?H??H??H??H+?H;?wH?<I;?IB?H?|$(H?L$P?(?H?H8?????D$ H????H?H?T$ ?PL??H?D$HH??$?H??tH?H?T$PH;????P 3?H??$??3?K??H??I?H?L$@I??I+?L???TH?D$8L?SI??L?M;???I?Q M?F @A??W?A@?I?p?I?0B?A@?J?AH?H?r?H??B?W?A@I?pI?p BA@JAHH?rH?B ?B?B(A?@(H??PM?@PI??PH?RPM;??y???L??H???????H?H??t2L??H?S?????H?KH+I??H??H??L??I???L?H?H????FL?3K??H??I?H?CH??H??I?H?CH??$?H3???
L??$?I?[@I?sHI??A_A^A]A\_???????~?
??????????@SH?? H??H??t_H?? 3?@?W?H?IPCC C0C@H??PA?H?A?H?A??A?A?H?A?H?A??A??A?H??u?H??H???????H??H?? [????????????????@SH??0H??H??D??H?D$ L?
?m???A?輻
H??H??0[????????????H?\$ UVWATAUAVAWH?l$?H??H?-jH3?H?EI??L??H??H?M?H?M?E3??AH??VH?L?qL?qL?y L?}?H?H?D$ L?
N????A?I???#?
?H?~@H?}?L?7L?w?(譲
H?H?@H?@f?@H?M??uA???
I?$I???PI??H?NH?FH??tH??P?H??uI???
H?H???P?H?NH?^H??tH??P??E??E?H?E?H?E?E3?L?m?E3?f?B?L5?M?3?H?}??F?l5??D?m??E?E?E??E??M??E?W?E?E?E??H?E?I?$L?E?H?U?I?????H?E?I?I?H??tH??P?H??H??H??B?L5?u?I??L?m?I??L?m?I??L?}??E???H?E?H?MH3???
H??$H?İA_A^A]A\_^]???????????H??(L?
eX???A??Q?
?H??(????????????????H??(L?
%?A??!?
?H??(????????????????H??(L?
%B???A???
?H??(????????????????@SH?? H??H?I@H??tH??PH?C@H?K8H??tH??PH?C8H?K0H??tH??PH?C0H?? [?????????????H?\$UVWAVAWH??H?&gH3?H?D$pL??H??H;???H?rH?zvL?2L?yI;?w'H??I??vH?H?qL??I??H????
??H????????H;???H??H??H;?wI??H??H??H+?L;?wJ?:H??H;?HB?H?]H?L$0?Ů??\$ H?H8H????H?H?T$ ?PH??H?L$hH??tL?	H?D$0H;???A?Q H?wH?oL??I??H???C
?3I??vM??H?H????@H?H??H?L$pH3?蘶
H??$?H?ĀA_A^_^]??@?
??b????H???;???H??????H???????H??????H???;???H???????H??????H??????????H?\$H?l$H?t$WH?? ??H??H?RH?H?A@H?X?{u'L?CH?W@H?O@??;??H??H??(?f?
?{tٺ(H?O@?R?
?H?O L?
>????A??:?
?H?OH??tH??P?H?OH??tH??P?H??w
H?@??t
?PH?????
H??H?\$0H?l$8H?t$@H?? _?????????H?\$H?t$WH?? ??H??H?eOH?H?sOH?AH??H?I8??<H?K83?H??t
H??PH?s8H?K@H??tH??P?H?K H??tEH?C0H+?H??H??H??rH??'L?A?I+?H?A?H??wEI?????H?D$ L?
?Q???A?H?O 諟
?L?@L?HH?OH??tH????I??H??$?I??H?L$pI?H??t
H?H???H?L$pH??tH??PI?H?D$pL?D$pH??H??????uL?>H??tH?OH??P??H?GH??ID?H?H??H?\$xH??@A_A^_^]????H?\$H?l$ VWAVH??pH??MH3?H?D$hM??H??H??H?T$ 3??h?q?
H??H?D$ H??t~?@H?h?@ ?@$?@(?@,?@0?@4H??8H?H??8H?CH?k8H?k@H?kHH?kPH?kXH?s`H??tH?H???H??H?K`?$??H??H?\$ A?F?D$TA?F?D$X?D$\A??D$L?D$`A?F?D$d?D$P?D$HW??D$0H?l$@L?D$0H?T$HH??????H?T$0H??tL?D$@L+?H?L$0?Dv???@??uH?/H??tH?KH??R??H?CH??HD?H?H??H?L$hH3?軜
L?\$pI?[ I?k8I??A^_^???????H?\$H?l$H?t$ WAVAWH??PMc?I??H??H??E3??H?۔
H??H?D$pH??tE?@H??7H?H??7H?CH?sL?{ L?{(L?{0L?{8L?{@H?KH??tH????I??H?\$@L?|$pL?|$8H?CH?HH?H?T$pH?T$ E3?M??H???P`??x?H?CH?HH?Lc?$?H?T$8H?T$ E3?H??$??Px??y@H?L$pH??tH??PL??H??tH?KH??P?H??L?\$PI?[(I?k0I?s8I??A_A^_?H?D$pH?K8H?C8H??tH??P?H?D$8H?K@H?C@H??tH??P?H?K M??H???fj??H?CH??ID?H????????@USVWATAUAVAWH?l$?H??H?pJH3?H?EI??H??H?U?L??H?M?H?U?L?mL?m?E3?I?I?@H+?H???H???|I?AI+H???H???gW?E?L?}?H?E?D?}??E?L?}?L?M?L?E?H??\
H?	?U???H??H?E?H?M?H??t5H?U?H+?H???H??H??rH??'H?I?H+?H???H???0?ؒ
W??E?L?}?H?L?M?L?E?H??\
H?	????H??H?E?H?M?H??t5H?U?H+?H???H??H??rH??'H?I?H+?H???H?????m?
H????H????H?}?vH?U?莏I?L???H?H???P L??H?H???PL??H?H???P H??H?H???PD?|$(L?t$ D??L??H?u?H??H?M?A?ԐH?H???P?H?H???P?H?U?H??v1H??H?M?H??H??rH??'H?I?H+?H???H????衑
3?H?]?H?E??]?I?MH????H??PI?]?H?U?讎L?>H??t
H?H???P?H??t
H?H???P?H?U?H??v-H??H?M?H??H??rH??'H?I?H+?H???H??w`??
L?}?H?E??E?I?MH??tH??P?L?:I?MH??tH??R?M?}H??H?MH3???
H?ĨA_A^A]A\_^[]??^?
??X?
??R?
??????????H?\$H?l$H?t$ WAVAWH??0I??M??H??H??E3??h?+?
H??H?D$PH??t~?@L?x?@ ?@$?@(?@,?@0?@4H?N2H?H?\2H?CL?{8L?{@L?{HL?{PL?{XH?s`H??tH?H???H??H?K`?G??I??H?\$PL??I??H??????uL??H??tH?KH??P??H?CH??ID?H?H??H?\$XH?l$`H?t$hH??0A_A^_????????????H?\$UVWATAUAVAWH??pH?%FH3?H?D$hM??Ic?H??H??H?T$(E3??H???
H??H?D$(H??tQ?@H?1H?H?1H?GH?oL?o L?o(L?o0L?o8D?o@H?OH??tH??H??H?O?D??I??H?|$H?\$PD?l$TH?D$XL?l$`L?|$8L?l$@H?GH?HH?L?D$8M??MD?L?L$(H?T$P?P????H?D$(H?O H?G H??tH??P?H??L?g0H?W(I??H+?H;?sH??5v7H?G8H+?H;?vL?D$ H??H?O(?????H+?L??3?I????I?H?G0M??tL??I??H?O(?d????G@H?OH??ID?H??L?.H??tH?OH??P?H??H?L$hH3??!?
H??$?H??pA_A^A]A\_^]??????????H?\$H?l$H?t$ WAVAWH??0M??A??H??H??E3??H?;?
H??H?D$PH??tT?@H??.H?H??.H?CL?{L?{ L?{(H?s0L?{8D?{@D?{DH??tH?H???H??H?K0???I??H?\$P?k@D?L$pD?KDD??I??H????????uL??H??tH?KH??P??H?CH??ID?H?H??H?\$XH?l$`H?t$hH??0A_A^_?????????H?\$H?l$H?t$WATAUAVAWH??0Ic?M??H??3??0?;?
H??H?D$(H??t8W?@@ ?@H??.H?H??.H?FH?~H?~ H?~(?H??H?t$(L??L?N L?VI??I+?I?gfffffffI??H??L??I??I??H???L?I;?s H??H??I?L?FI??H???????H?^ ?HvFH?N(I+?I??H??H??H??H???H?L;?I??vL?D$xH?N??????I+?L?FI???7???H?F M??~FI?}(I??????M+?I?A???L>??IcI?A??M?AI?YA?A??E?P fn?fn??Afn??HcȍR[?[?[??^??^??X??X??AX$B?D ???B\$F?T ?Bd$Hc?B?D ???Bd$D?EE;??d???I?M0I??H+?I??H??H???H?H??H??H???H??H?L;??????W???NI?@E3?L?a(E??H?I0I?@I+?H?????????H??H?H??H??H???H??H??D?EA??)t$@)|$0W?D)D$ ?D??@fff?HcCE??L;????k?X?E???nA??\?I?y??Lc?@f?IcA??A?D4I?D?CA?A??fn???fAn?M?A[?I?yE?P fn??[?HcȍR[??^??^??Y??Y??X??X??AX$B?D ???B\$F?T ?Bd$Hc?B?D ???Bd$D?EE;??_????A?4+C?k??H??X?L;???E????A?A(?I?y?\???Lc??SI?A?D4A+4???A??A??M?AE?P A?A??fn?Icfn???[?I?yfn??[?HcȍR[??^??^??Y??Y??X??X??AX$B?D ???B\$F?T ?Bd$Hc?B?D ???Bd$D?EE;??V??????s?X?E????A??\?I?y??Lc?@f?IcI?fAn?M?AfAn?A??[ۍI?yE?P HcȍR[?fAn?[??^??^??Y??Y??X??X??AX$B?D ???B\$F?T ?Bd$Hc?B?D ???Bd$D?EE;??p???I?M0H?????????I+M(I??H??H???H?H??H??H???H??H?L;??4???D(D$ (|$0(t$@L?\$PI?[0I?k8I?s@I??A_A^A]A\_???????L?D$H?L$SUVWATAUAVAWH??(H?z0M??L??????I?@E3?H?q(H?I0I?@H+?H?????????L?L$xH??E??H?H??H??H???H??H??~E?UA??W?A??E????IcI?SL??Lk?H?,?L?4@L?<@??H?L?؋>A???L>??D?J A?????fn?fn??A[?[?fn?[??^??^??X??X??J$A?D ??AL$B?D? ??BL?$?D* ???L*$F?LB ?BTB$B?D2 ??BT2$B?Dz ??BTz$B?D" ???BT"$I?E?UA;??@???L??$?L?D$xI?SH?D$pI??H???L?D$xH?H0H?????????H+?H??H?H??H??H???H??H?L;???????$???L?Q(E3?I?@E??H?I0I?@I+?H?????????L??$?H??L?T$xH?H??H??H???H??H???E?EE??)t$W??5V?fDHcGL;???_E???X?E???<Ic?\?I?KH??L?d$xLk?H??H?4@H?,@??H?L??A??D?GC?D4D?I A?A??fAn?[?fn???[?fn?[??^??^??Y??Y??X??X??I$?D ??L$?D? ??L?$?D ???L$D?LQ ?TQ$?D ??T$?Di ??Ti$A?D ???AT$I?E?EE;??B???L??$?L??$?I?K?6C?2+G?_??H??X?L;??.A??E???Ic(?M?S?\?H??Lk?H?,?L?<@??H?L?[H?$??WH?L$xB?D1B+1E?J ???A??A?????fn?[?fn???[?fn?[??^??^??Y??Y??X??X??AJ$A?D ??AL$A?D? ??AL?$A?D* ???AL*$E?LZ ?ATZ$C?D: ??CT:$C?DZ ??CTZ$C?D" ???CT"$L$E?EA;??)???L??$?L??$?M?SL?????gA???X?E????Ic?\?H??Hk?L??H?@H?4@??Lc?I?CD?H fAn?fn???[?[?fn?[??^??^??Y??Y??X??X??H$?D ??L$?D? ??L?$B?D ???BL$D?LH ?TH$?D ??T$?Dp ??Tp$?D( ???T($I?E?EA;??V???I?CL?T$xH?D$pI??I???L??$?H?H0H+H(H?????????H??H?H??H??H???H??H?L;??T???(t$H??(A_A^A]A\_^][???????????????H?\$H?l$VWATAUAVH??`H?Z0M??)t$PH??)|$@L??D)D$0????rI?@I?????????L?Y(3?H?I0I?@I+?I??H??H?H??H??H???H??H???D?EE3?@f??Ctd3??Cll?C|h?GDpE????A??X?I?y??Lc??C?A??C?L??IcI?A??M?AI?y????Apfn?fn??A[?fn??[?HcȍR[??^??^??AY??AY??X??X??AX?Bl?B\?Bt?BdHc??Bl?BdD?EA;??Z???I?M0I??I+?H??H??I???H?H??H??H???H??H?H;???????v???mI?@I?????????H?y(E3?H?I0I?@H+?I??H??H?H??H??H???H??H??-D?EE3?L??$?D)L$ HcCE3??FDd?Btl?B|h?BlpL;????Yk?X?E????A??AX?I?q?\???Lc?@?IcA??B?DI?D?CA?A??fn???fAn?M?A[?I?qfn???E@[?HcȍR[??^??^??Y??Y??X??X??AX?Bt?B\?FD?BdHc??Bt?BdD?EE;??_?????B?D(?+C??H?L;????DYK?X??DX?E????A??AX?I?q?A\???Lc??SI?B?DB+???A??A??M?A?E@A?A??fn?Icfn???[?I?qfn??[?HcȍR[??^??^??Y??Y??AX??AX??AX?Bt?B\?FD?BdHc??Bt?BdD?EE;??T??????DYK?Yk?DX??X?E????A??AX?I?q?A\???Lc?fff?IcI?fAn?M?AfAn?A??[ۍI?qHcȍR?E@[?fAn?[??^??^??Y??Y??AX??AX??AX?Bt?B\?FD?BdHc??Bt?BdD?EE;??n???I?M0I??I+M(I??H??I???H?H??H??H???H??H?L;??????D(L$ L??$?(t$PL?\$`I?[8I?k@E(C?(|$@I??A^A]A\_^????L?D$H?L$SUVWATAUAVAWH??8H?z0M??)t$ L??)|$D)$?????I?@E3?L?Q(H?I0I?@I+?H?????????H??H?H??H??H???H??H???A?_E3??D??fD?Cl
d3??Cd
l?Ct
h?C|
p???Ic(?I?S?X?L???AY?H?4?H?,@L?4@Lk??Xݍ?H?L??@C?
??C?L
???j?????fn?[?fn??A[?fn?[??^??^??Y??Y??X??X??J?A\?AL?B\??BL??d?L?BlB?BTB?\*?T*?B\r?BTr?Ad?ATI?A?_;??D???L??$?I?SH??$?I??I???H?H0H?????????I+?H??H?H??H??H???H??H?L;???????b???YI?@E3?H?q(H?I0I?@H+?H?????????L??$?H??H?H??H??H???H??H??E?GE3??DΗf?HcG?Bld?Bdl?Bth?B\pL;???Y_E3??X?E???xIc?\?I?K(?H???AY?H??H?,@L?4@Lk??X??X??H?L???A??D?GB?D?iA?A??fAn?[?fn???[?fn?[??^??^??Y??Y??X??X??I?|?L?|??L??d?L?lQ?TQ?|)?T)?B|q?BTq?Ad?ATI?E?GE;??J???L??$?I?K?oB?(?+G??H?L;??I?Y?X?3??X?E???@Ic?\?M?KH??(??X?Lk??AY?L?4?L?$@??H??X?H??$?L?[fff??WB?DB+?Ai???A??A?????fn?[?fn???[?fn?[??^??^??Y??Y??X??X??AI?At?AL?At??AL??Cd1?CL1?AlY?ATY?Ct!?CT!?CtY?CTY?Cd)?CT)L?$?E?GA;??2???L??$?L??$?M?K??Y3??Y_?X??X?E????Ic?\?(?H??Lk?(??AY??X??X?L??H?@H?,@??Lc??X?I?C@f??hfAn?fn???[?[?fn?[??^??^??Y??Y??X??X??H?t?L?t??L??Bd?BL?lH?TH?t?T?th?Th?Ad?ATI?E?GA;??^???I?CH??$?I??I???L??$?H?H0H+H(H?????????H??H?H??H??H???H??H?L;??????(t$ (|$D($H??8A_A^A]A\_^][???????????????H?\$H?l$VWATAUAVH??`H?Z0M??)t$PH??)|$@L??D)D$0????rI?@I?????????L?Y(3?H?I0I?@I+?I??H??H?H??H??H???H??H???D?EE3?@f??Ctd3??Cll?C|h?GDpE????A??X?I?y??Lc??C?A??C?L??IcI?A??M?AI?y????Apfn?fn??A[?fn??[?HcȍR[??^??^??AY??AY??X??X??AX?Bl?B\?Bt?BdHc??Bl?BdD?EA;??Z???I?M0I??I+?H??H??I???H?H??H??H???H??H?H;???????v???mI?@I?????????H?y(E3?H?I0I?@H+?I??H??H?H??H??H???H??H??-D?EE3?L??$?D)L$ HcCE3??FDd?Btl?B|h?BlpL;????Yk?X?E????A??AX?I?q?\???Lc?@?IcA??B?DI?D?CA?A??fn???fAn?M?A[?I?qfn???E@[?HcȍR[??^??^??Y??Y??X??X??AX?Bt?B\?FD?BdHc??Bt?BdD?EE;??_?????B?D(?+C??H?L;????DYK?X??DX?E????A??AX?I?q?A\???Lc??SI?B?DB+???A??A??M?A?E@A?A??fn?Icfn???[?I?qfn??[?HcȍR[??^??^??Y??Y??AX??AX??AX?Bt?B\?FD?BdHc??Bt?BdD?EE;??T??????DYK?Yk?DX??X?E????A??AX?I?q?A\???Lc?fff?IcI?fAn?M?AfAn?A??[ۍI?qHcȍR?E@[?fAn?[??^??^??Y??Y??AX??AX??AX?Bt?B\?FD?BdHc??Bt?BdD?EE;??n???I?M0I??I+M(I??H??I???H?H??H??H???H??H?L;??????D(L$ L??$?(t$PL?\$`I?[8I?k@E(C?(|$@I??A^A]A\_^????L?D$H?L$SUVWATAUAVAWH??8H?z0M??)t$ L??)|$D)$?????I?@E3?L?Q(H?I0I?@I+?H?????????H??H?H??H??H???H??H???A?_E3??DfD?Cl
d3??Cd
l?Ct
h?C|
p???Ic(?I?S?X?L???AY?H?4?H?,@L?4@Lk??Xݍ?H?L??@C?
??C?L
???j?????fn?[?fn??A[?fn?[??^??^??Y??Y??X??X??J?A\?AL?B\??BL??d?L?BlB?BTB?\*?T*?B\r?BTr?Ad?ATI?A?_;??D???L??$?I?SH??$?I??I???H?H0H?????????I+?H??H?H??H??H???H??H?L;???????b???YI?@E3?H?q(H?I0I?@H+?H?????????L??$?H??H?H??H??H???H??H??E?GE3??D?f?HcG?Bld?Bdl?Bth?B\pL;???Y_E3??X?E???xIc?\?I?K(?H???AY?H??H?,@L?4@Lk??X??X??H?L???A??D?GB?D?iA?A??fAn?[?fn???[?fn?[??^??^??Y??Y??X??X??I?|?L?|??L??d?L?lQ?TQ?|)?T)?B|q?BTq?Ad?ATI?E?GE;??J???L??$?I?K?oB?(?+G??H?L;??I?Y?X?3??X?E???@Ic?\?M?KH??(??X?Lk??AY?L?4?L?$@??H??X?H??$?L?[fff??WB?DB+?Ai???A??A?????fn?[?fn???[?fn?[??^??^??Y??Y??X??X??AI?At?AL?At??AL??Cd1?CL1?AlY?ATY?Ct!?CT!?CtY?CTY?Cd)?CT)L?$?E?GA;??2???L??$?L??$?M?K??Y3??Y_?X??X?E????Ic?\?(?H??Lk?(??AY??X??X?L??H?@H?,@??Lc??X?I?C@f??hfAn?fn???[?[?fn?[??^??^??Y??Y??X??X??H?t?L?t??L??Bd?BL?lH?TH?t?T?th?Th?Ad?ATI?E?GA;??^???I?CH??$?I??I???L??$?H?H0H+H(H?????????H??H?H??H??H???H??H?L;??????(t$ (|$D($H??8A_A^A]A\_^][???????????????H?\$H?t$WH??0H?3?H??H??tH?H???H??H?C?H?\$@HD?H?t$HH?H??H??0_????????????H?\$VWAVH??@H?qH3?H?D$0H??3?H?I@I?????????H????H?AH??H?l$h?PiCP`??Hc?I??H??H??H???…?~z???f??f?T$$f?T$(?J?Bf?L$ f?L$&f??H?K@f?T$*H???f?D$"??m???L$(???D$ ??HiCP`Hc?I??H??H??H????;?|?H?K@H??H??PH?l$hH?KHH????H?AH???PiCP`Hc?I??H??H??H???…?~~DD??fA??fD?D$ fD?D$(A?HA?Pf?L$$f?L$*A?@H?KHf?T$"H??f?T$,?f?D$&f?D$.?m??D$ ??iCP`Hc?I??H??H??H????;?|?H?KHH??H??PH?L$0H3???	H?\$pH??@A^_^???????????????H?\$H?l$ VWAWH??PH?'oH3?H?D$@H??3?H?I@I?????????H????H?AH??L?t$x?PiCP`D??Hc?I??H??H??H???…?~}?@f??G??|$$?O?D$(?L$ ??L$,H?K@?D$0H???G?D$4?
l??D$ A?ƃ??L$0?HiCP`Hc?I??H??H??H????D;?|?H?K@H??H??PL?t$xH?KHH????H?AH???PiCP`Hc?I??H??H??H???…?~{???W??|$(?O??T$$?L$ ?G?L$0H?KH?T$8H????D$,?|$4?D$??H?L$PH?H??t
H?H???H?L$PH??tH??PH?H?D$PH?D$PH?D$(A?H?????????GH???H?H??H?GH?o H?o(H?o0H?o8H?o@H?oH?_PH?oXH?o`H?ohH?opH?oxH???H???H???H???H?L$P?%???Ƈ?H??H??H??H??H?? HLJ(H??0H?D$PH??t
H?H???H?D$PH?O H??tH??PH?o H?D$PH?G H?L$PH??tH??P??H??H?>H??H?\$XH?l$`H??0A^_^??????????H?\$ UVWATAUAVAWH?l$?H?? H??kH3?H?EM??L??L??H?L$ E3??@?w?	H??H?D$xH???H?D$@H?E?W??D$@L?t$PI?OI+H?%I?$I?$IH??H??H??H??H???H???H??$I?$I?H;???H?M??L?H?H8k?8?D$ H????H?H?T$ ?PH??H?M?H??tH?H?U?H;????P H?\$@H?\$HHk?8H?H?D$PH?D$@H?D$ M?wI??H?\$XH?\$`H?D$@H?D$hI;?t=H??(?G؉H?KH?W??+M??C(?G?C,?G?C0H??8H?\$`H?8H?G?I;?u?H?\$HE3?W??D$(L?t$8I?}I+}H??H????H????????H;??H?M??M?H?H8?????D$ H????H?H?T$ ?PH??H?MH??tH?H?U?H;????P H?\$(H?\$0H??H?H?|$8H?D$(H?D$ M?uI?}H?\$XH?\$`H?D$(H?D$hI;?tH??H???4LH?? H?\$`H?? I;?u?H?\$0E3??FH?\?H?H?T$8L?t$8H?L$0L?t$0H?D$(L?t$(H?FH?NH?V H?T$PL?t$PH?L$HL?t$HH?D$@L?t$@H?F(H?N0H?V8H?\$(H??tHH?|$0H;?t?H?????H?? H;?u?H?\$(L?D$8L+?I??H??H?L$(???W??D$(L?t$8H?\$@H??tRH?|$HH;?tH?K???H??8H;?u?H?\$@H?L$PH+?H?%I?$I?$IH??H??L??I???L?H??H?L$@?????I??I?4$I??H?MH3??ϸ	H??$xH?? A_A^A]A\_^]??s?	??ّ????g?	??͑???????????????L??USWATAUI??????H??@H??gH3?H???L??I??L?A0H?????????L+A(H??I??H?\$hL??I?H??H??H???H???I?s E3?A?|$M?s?A)s?A){?E)C?E)?H????D-?}E)?(????D=??M?{?E)K?E)?x???E)?h???E)?X???E)?8????H??@? ?I?????M?M(H??I?M0E3?I+?H??H?H??H??H???H???fDo5?3?A?|$?AL1TA?)M ?AT1XA?)UPAD1AL1 )E`AD10)Mp)????A?|$8t?A?1?H?M`H???%??L?M0L???H?U@H?M`?ݴI?MH?U?A?\$I?|$ H????H??H????2?I?MH?U?H????H??H?????H????\$0H?|$(L???L?E@H?D$ H?U0H???????(U H?U?(]@W?I?M(?D(??D(??Y?E??UE??U??W???)U (UP?Y?????)UPH????H??H?U??ƝH??H????g?A(?A(?A?(?Y?(?(???U?X?????X?W????T$@?R?A(?A?(????A(?Y?A?(????Y?A?????Y?\?(?Y?(?(???U?X?????X?W????T$@?R?D(?E??DY?(u0D(?D?ΪA(?A(?A???Y?(?A???Y?A(?A????UAW?\?(?Y?(?(???U?X????W??X?W????T$@A(??R?A??UEW?AW?E?A?(?D???Y?(?D(???U?A(?D?Ǫ?A(??(?(?A??A????D?????????(M (?(?????UAY?Y??ɪY?X?X?X?(MP(???UAY???A?|$8u?A?1?H?M`H???%"??I?MH?T$pA?\$I?|$ H????H??H????Y?I?MH?U?H????H??H????9?L?ψ\$ L???H???H?M`???(}`W?(??(??}p?(??upD(???D(????(M ????????(??????(???UY?Y??ɪY?X?X?X?(MP(???UY?(?)U ??H?U Y?I?M@?ɪY?X?X?X?)]P??H?UPI????ڿM?M(H?????????M?E0I??H?\$hM+?I??H???I?H??H??H???H?L;??K???I?M@??I?????E3?I?u H?????????A???M??M?u(I?M0I+Ή|$@H??}?H?H?u?H??H??H?u?H???L?L$pH???M??@f?A?T$A?ɉL$L????@?G?D7D?D$TE??u	?D$H??t?D$HC?7??fn?fn‰D$P[?[?(??^?????fAn?I?M@[?H??`?X??O?H?M?H???3?I???(?H??p??U(??ت???^fCnL7?E?fAnD$[?[??^??]??X?(????H?M?H???ΘH?L$d(?Hc?(???U?Ъ(???3?T3G?D7LC?T7D?U??E??[?(ߋ?NH?L$`G?D7PC?T7H?????L3?bC?D7T?H?FC?D7D?FC??7??FPC??7??FTC?D7XHcω1H?D1C?D7H?D1C??7??D1PC??7??D1TA?|$??A?|$8CD7CL7 )E`CD70)Mp)??t?C?7?H?M`H?T$h?H??L???L???H???H?M`?
?I?MH?U?A?\$I?|$ H????H??H??@?_?I?MH?U?H????H??H??P???H??@?\$0H?|$(L??PL???H?D$ H???H????	??A?|$??(??H???D(?(??YHc|$@(?H?>D(????YE??U??U?I?MD)E)}E??UH????H??H????ٖH??H?? ?z?A(?(?A?A?(?Y?(?(??????U?X??X?W???(??R?A?(????A(?Y?A??(????Y????Y?\?(?Y?(?(??????U?X??X?W????R?D(?E??DY?A(?A(?A???A???Y?Y?\?(?Y?(?D(??H?M0??U(?????X?E(?E(?E(?E??A(?E??UH??E?ƪ?X?A??UW????R?D(?E??DY?E(?A(?E??A??U?A????H?M??MW??EDW??DW?W?A?A(?E?D?A(??E(??E?D?A(?A??(M0(?D?È??(?AY???U???D???X?AY?D?ڈ?ɪAY?X?X?趔(?H?M0??U(??(??֪H????V?U??E??s?(M0(???H?M?AY?(???UAY?X??ɪAY?X?X??O??D-?r(???U(??(??֪??S?U??E??A?|$??A?|$8CD7CL7 )E`CD70)Mp)??u?C?7?H?M`H?T$h?]??I?MH?UPA?\$I?|$ H????H??H???蒨I?MH?U H????H??H????r?L?ψ\$ L???H???H?M`????H??H?M@?H?(]@H?M?(}`EW?(??(??mpD(??}p?(?(?A??D??(???Y?(?A?????U???X????Y?????۪Y?X?X???Hc|$@H?M@(?(???U(???֪H?>?H???V?U??E?蜧(}`(??(??mpD(?(]@(??}p?(?A??D??A?????H?M?Y?(?(??????U???X?Y?????۪Y?X?X??@?(?(???U(???֪??S?U??E???|$@D?D$H?T$TD?L$PE????A;?????VHc?^ Hc?f0n@?FP1T1\1 d10l1@?D1P0T0\0 d00l0@?D0P?Hcȍ?1T1\1 d10l1@?D1PHc?H?H?u????Hc?H?H?u?E??uA?EA;?t?L$LA?T$???L$L;??????L?D$pE3?M?u(I??I?M0H?????????I+?L?D$pH??I???H?H??H??H???H?L;??#???}?L?? I???u?I??)? ??0??p??L?E?)}?I???u?I????4??L?E?)}?I???u?I???@??L?E?)}?I???u?I???L??L?E?)}?I???u?I???yX??L?E?)}?I???u?I???ad??M?M0I?????????M?](I??Mct$I+?Ic??I??I?] 3?H??EW?H?H??H??H???H??H?I??H???T?D
n?D???5???M+?I??I??Ic?I?H??H??H???H??H?H??H?L$pH??uu?Hc?L?;H?H?U ??H??H????m?D(??A(?AY?(?(???U????X??X??+?/?wW????R???DY?fAo???A(?H;????Lc?H?UP??L?Hc?H?腏H??H?????D(?????A(?AY?(?(???U?X?????X?/?vA(??W????R???AY?D(?X?^=??(?(?Y?(?(???U?X?????X?/?wW????R?(???Y?H?;L??H????ЎH??H????1?(???-?(?Y?(?(???U?X?????X?/?wW????R???Y?(?f?????(????(?Y???????Y?\?(?Y?(?(???U?X?????X?/?v?D-?k(???5??W????R???Y?(?A?|$D(?)U?D(?)U?(?)??D(?)U0D(?)U@(?)U?(?(?)U?)U?)U?)??ug?
o?(??D???UW??ҪW?W??A??(?)e@(?)e0(?)??(?)e?D(?)e?D(?(?D(?D(??(U?H???5?}@??AX?W???U(??D$c???U?AX??AX??D$g??AY??AX?(??AY??AY??AX??AX??AY??AX??Y??Y??AX??]??Y??Y??_?(??]??,?W??_??D$`(??]??,?W??_??D$a(??,?(??۪?AXňD$b?AX??AY??AY??AX??AX??Y??Y??]?W??_?(??]??,?W??_??D$d(??]??,?W??D$e?_??,??D$f?D$`?L$d?C?K?D;???L;?H;t$p??D?]0U?AX?Dƥ???EX?(??D$O???U?EX?(??D$S??AY??AX??EY??AX??EY??EX??AY??EX??Y??DY??AX??]??DY?W??Y??_?(??A]??,?W??_??D$L(??A]??,?W??_??D$M(??,?(??۪?AXňD$N?AX??AY??AY??AX??AX??Y??Y??]?W??_?(??]??,?W??_??D$P(??]??,?W??D$Q?_??,??D$R?D$L?L$P?C?K?D;???L;?^D?u?U?AX?D?}??EX?W??D$W?(??D$C???U?EX??AY??AXՍ??EY?Hc??AX??EY??EX??AY??EX??Y??DY??AX?)M(??]M?DY??Y??_?(??A]??,?W??_??D$T(??A]??,?W??_??D$U(??,?(??۪?AXňD$V?AX??AY??AY??AX??AX??Y??Y??]?W??_?(??]??,?W??_??D$@(??]??,?W??D$A?_??,??D$B?D$T?L$@?C?K?D;?L;?D?L?Lc?A?D??A?LM?M0I?????????M?](I??Mct$I+?H?H??H?I??H??H?H??H??H???H??H?I??H??H;??????A???I??D(?$?M??D(?$?E??D(?$?I?????????D(?$?D(?$?D(?$?D(?$?D(?$(?$(?$ ?I?] M+?A???3?I?ljL$@I??H??(H?t$pI?H??H??H???H??H???3?H?D$hff?E3?E??E??~OI?4Lc?f?Mc??H???I??H????I?H??u?E?D$A??E;?|?H?D$hH?t$pM?U(H?I?}0H??H?D$hH??I+?H?t$pI?????????M??I??E??H??HыL$@H??H??H???H??H?H;?H?D$h?I???A????I?E I+?Ic??H??(E???E3?D?\$@L?L$pH??I??H??H?H??H??H???H??H???3?H?D$hE3?E??~aI?4Mc?fff??fff?Mc??H???I??H???v?I?H??u?E?D$A??E;?|?H?D$hL?L$pD?\$@M?U(H?I?M0I??H?D$hI+?H?????????L?L$pH??H?H??H??H???H??H?L;?H?D$h?J???L??$0H??$?L??$8H???H3??]?	H??@A]A\_[]???????????????L??UWATAUAVI??????H?? H??MH3?H??`L?I0L??L?Q(I??L?D$`I?????????M??I??M+?L??I??I?H??H??H???H???)A?|$LI?[ I?s?M?{?A)s?A){?E)K??D
i?E)?h????DXcE)?X????D%CcE)?H???EW?E)?8???E)?(???E)C?E)?x????`3?H???~?D??@Hi??H??uI?JH?H?????H???\M+?H?? ???I??I?I??I?H??H??H???H??H?H;?uH???ЛI?M(H???H???H???賛H??PI?M(H??H?H??薛?D??0\3(?Y?(?(???U?X?????X?D/?wW??T$H???R???Y?I?MH?U?H????H??H??@識(?@(????(?(??????????Y?Y?\?(?Y?(?(???U?X?????X?D/?v(??W??\$H???R???Y?(?(???????H??pY?H?M`Y?(?(?)U`)??\?)Mp詤0)u`x)}p(?D@ ??UA(?(?A?Ъ?X?D)??@0)???X?A/?vp?AX?W?.?w	W??Q??(???
(?(??AY??Ϫ(??ުA(?A??U?A\??\???U?\?(??AY?(??^??^?(?(??^??u/???/?v~(?W??\??\??AX?.?w	W??Q??(??R
(?(??AY???U(??Ϫ?X????A(?A??U?AX??\?(??AY?(??^??^??^??????/?W?vo?\??\??AX?.?w	W??Q??(???
(?(??AY??Ϫ(??ުA(?A??U?A\??X???U?X?(??AY??^??^??^????x?\??\??AX?.?w	W??Q??(??c
(?(??AY??ߪA(?A??U(???U?X??\????(??DX??AY?(??^??D^??^?(?A(????(?Y?(?(?(???U?ê????X??X?W??X?.?w	W??Q??(???
?5{?H??I?E@?X?H?H????^?f(?H?M???U(??֪(???E??E`?U??Uh?
f???H?M???(?AY?(??ת(???U?X??U??U??E??E???eH?\$p(???U(?(??֪??E??U?L??????H??????H?M`??eH??H?? ?`z?-D? (?Y?(?(???U?X?????X?/?v(??W??? ???R?(???Y?(?0(?(???????(???????Y?Y?\?(?Y?(?(???U?X?????X?/?v(??W??? ???R???Y?(?A?|$(?)?0D(?(?)T$p(?)? (?u2??UAW??Ҫ(?AW?AW??A??(?)?0D(?(??=5??AX?Ƶ0?(???U?AX?A??U?AX??AX??Es??AY?A(??E???AY?A(?ƅ???AY??X??X??AY??X??AY??AY??X??]??AY??AY??_?A(??]??D,?A(??_?D?EpA(?D?E??]?D????,?A(??_??UqA(ΈUሕ??,?(??۪?AXÈMr?AXۈM∍??AY??AY??X??X??AY??AY??]?A(??_?A(??]??,?A(??_??D$PA(??]??,?A(??_??D$Q?,?E`?D$R?D$P?Et?E䉅?L?D$hE???`MpO??G ??O0??G@????OPH????U?C??M??P?l$`A?AL?ET? A\?0Ad?@?Al?PBBLFT B\0Bd@?BlP???????????B7BT7B\7 Bd70Bl7@?BD7P?hC??Hc?H?H;???U?M??P?l$`A?AL?ET? A\?0Ad?@?Al?PBBLFT B\0Bd@?BlP???????????B7BT7B\7 Bd70Bl7@?BD7PH???}?AD(????YE??U??U?I?MD)E?)}E??UH????H??H????0RH??H????fA(?(?A?A?(?Y?(?(??????U?X??X?W???(??R?A?(????A(?Y?A??(????Y????Y?\?(?Y?(?(??????U?X??X?W????R?D(?E??DY?A(?A(?A???A???Y?Y?\?(?Y?(?D(??H?????U(?????X?E(?E(?E(?E??A(?E??UH??E?ƪ?X?A??UW????R?D(?E??DY?E(?A(?E??A??U?e?݊H?M??MW??E?DW??DW?W?A?A(?E?D?A(??E(??E?D?A(?A??(??(?D?È??(?AY???U???D???X?AY?D?ڈ?ɪAY?X?X??P(?H?????U(??(??֪H????V?U??E???d(??(???H?M?AY?(???UAY?X??ɪAY?X?X??O(?(???U(???֪??S?U??E???A?|$??A?|$8CD7CL7 )E@CD70)MP)E`u?C?7?H?M@H?T$P????I?MH?U0A?\$I?|$ H????H??H??P??cI?MH?U H????H??H?????cL?ψ\$ L??PH???H?M@?+???H??H?Mp?c(]pH?M?(}@EW?(e`(??mPD(??}P?(?(?A??D??(???Y?(?A?????U???X????Y?????۪Y?X?X??BNHc|$XH?Mp(?(???U(???֪H?>?H???V?U??E???b(}@(e`(??mPD(?(]p(??}P?(?A??D??A?????H?M?Y?(?(??????U???X?Y?????۪Y?X?X??M(?(???U(???֪??S?U??E???|$XD?D$@?U?D?M?E????A;?????VHc?^ Hc?f0?F@1T1\1 d10?D1@0T0\0 d00?D0@?Hcȍ?1T1\1 d10?D1@Hc?H?H?t$h???Hc?H?H?t$hE??uA?EA;?t ?L$HA?T$???D
?*?L$H;??????L?E?E3?M?u(I??I?M0H??????????D
?*I+?H??I???L?E?H?H??H??H???H?L;??3???D(?$?I?????????|$`L??I???t$pI??)??? ??s??L?D$`)|$`I???t$pI????7??L?D$`)|$`I???t$pI???C??L?D$`)|$`I???t$pI???O??L?D$`)|$`I???t$pI???x[??L?D$`)|$`I???t$pI???]g??A???D(?$?D(?$?D(?$?D(?$?D(?$?D(?$?D(?$(?$(?$ ??M?E(E3?I?M0I??I?] I+?E???H??(H??D?T$HH?L?M?H??H??H???H??H???3?H?D$PE3?E9|$~QJ?4Mc?ff?Mc??H???I??H??薳I?H??u?A??E;|$|?H?D$PL?M?D?T$HM?E(H?I?M0I??H?D$PI+?I?????????L?M?I??H??H?H??H??H???H??H?L;?H?D$P?V???A?????I?E E3?Ic??M?E(H??
E???D?T$HL?M?H??I?M0I+?I??H??H?H??H??H???H??H???3?H?D$PE3?E9|$~QJ?4Mc?ff?Mc??H???I??H??膲I?H??u?A??E;|$|?H?D$PL?M?D?T$HM?E(H?I?M0I??H?D$PI+?H?????????L?M?H??H?H??H??H???H??H?L;?H?D$P?Y???H??$8H??$?L??$0H???H3??ra	H??@A_A]A\[]???L??UWAUAVAWI??X???H??H??H3?H???L?I0L??L?Q(I??L?D$hI?????????M??I??M+?L??I??I?H??H??H???H???$A?}LI?[ I?s?M?c?A)s?A){?E)K??D
?&E)?x????Du&E)?H???E)?8???EW?E)?(????D=T?E)C?E)?h???E)?X????P3?H?????Dف?D=??Hi??H??uI?JH?H??`?-_H????\M+?H?? ???I??I?I??I?H??H??H???H??H?H;?uH?????^I?N(H???H???H?????^H???I?N(H??H?H???^0\3(?Y?(?(???U?X?????X?D/?wW??T$H???R???Y?I?NH?U?H????H??H????[(?(????(?(??????????Y?Y?\?(?Y?(?(???U?X?????X?D/?v(??W??\$H???R???Y?(?(???????H???Y?H?MPY?(?(?)UP)ep\?)M`??g0)uPx)}`(?D@ ??UA(?(?A?Ъ?X?D)Ep@0)???X?A/?vl?AX?W?.?w	W??Q??(???	(?(??AY??Ϫ(??ުA(?A??U?A\??\???U?\?(??AY?(??^??^?(?(??x/???/??~(?W??\??\??AX?.?w	W??Q??(??}?	(?(??AY???U(??Ϫ?X????A(?A??U?AX??\?(??AY?(??^??^??^??????/?W?vr?\??\??AX?.?w	W??Q??(????	(?(??AY??Ϫ(??ުA(?A??U?A\??X???U?X?(??AY??^??^??^????x?\??\??AX?.?w	W??Q??(???	(?(??AY??ϪA(?A??U(???U?X??\?????DX?(??AY?(??^??D^?(?A(??^????(?Y?(?(?(???U?ê????X??X?W??X?.?w	W??Q??(????	?5?}H??I?F@?X?H?H????^??	?D
E??AY?^?X?)???5?zI?FXH??<I??I?N0H??I+N(H??H?H??H??H???H??H?H;??????H?|$hA?}?zI?Np?iM?N(H?????????I?N0E3?I+?H??H?H??H??H???H??,3??A?}HW?)?BD)? BL )?0BD0)?@u?B??H?? H??????I?NH?U?A?]I?} H????H??H????TI?NH?U?H????H??H????TL?ψ\$ L??H???H?? ????H??`H?? ?WH??I?Np)???dM?N(H?????????M?F0I??H?|$hM+?I??H???I?H??H??H???H?L;??????I?Np?eI?????????A??$I??M?f M?F0I?v(I?ȉU?H+Ή? H??L??(H?L??0H??H??H?D$PH???H????=?xE3?A??A?}?D$p??A?}HAD7AL7 )??AD70)??)??u?A?7?H???H?T$h?????L???L?EPH??H????TI?NH?U?A?]I?} H????H??H???
SI?NH?U?H????H??H??P??RH???\$0H?|$(L??PL??H?D$ H???H?MP躼??A?|7?\$p??u	?D$@??t?D$@A?7(?A?M?At7\??D?@??+?D?D$H???fn?A??A?M[?;?A?D7Lfn?A?L7@[??^?fn??X?[????A\t7X+?A?L7Afn?[??Y??Y??AXt7X?X?A(??]??_?(??,?fn?[??D$XA?D7M+?A?L7Bfn?[??Y??X?A(??]??_?(??,?fn?[??D$YA?D7N+?A?L7Cfn?[??Y??X?A(??]??_?(??,?fn?[??D$ZA?D7O+?A?L7Dfn?[??Y??X?A(??]??_?(??,?fn??D$[A?D7P+?A?L7E[?fn?[??Y??X?A(??]??_??,?fn??D$\A?D7Q+?[?fn?[??Y??X?A?L7F(?A(??]??_?(??,?fn?[??D$]A?D7R+?A?L7Gfn?[??Y??X?A(??]??_?(??,?fn?[??D$^A?D7S+?A?L7Hfn?[??Y??X?A(??]??_?(??,?fn?[??D$_A?D7T+?A?L7Ifn?[??Y??X?A(??]??_?(??,?fn?[??D$`A?D7U+?A?L7Jfn?[??Y??X?A(??]??_?(??,?fn??D$aA?D7V[?+?fn?[??Y??X?A(??]??_??,?A?L7K?D$bA?D7W+?fn?[??Y???A\t7`+??A\?A?L7AA(?fn?[??\??Y??Y??X?A(??AXt7`?]??_?(??,?fn?[??D$XA?D7M+?A?L7Bfn?[??Y??X?A(??]??_?(??,?fn??D$YA?D7N+?A?L7C[?fn?[??Y??X?A(??]??_?(??,?fn??D$ZA?D7O+?A?L7D[?fn?[??Y??X?A(??]??_?(??,?fn??D$[A?D7P+?A?L7E[?fn?[??Y??X?A(??]??_??,??D$\A?D7Q+?fn?[??Y?(?fn?A?L7F[??X?A(??]??_?(??,?fn?[??D$]A?D7R+?A?L7Gfn?[??Y??X?A(??]??_?(??,?fn?[??D$^A?D7S+?A?L7Hfn?[??Y??X?A(??]??_?(??,?fn?[??D$_A?D7T+?A?L7Ifn?[??Y??X?A(??]??_?(??,?fn??D$`A?D7U+?A?L7J[?fn?[??Y??X?A(??]??_?(??,?fn??D$aA?D7V+?[?fn?[??Y??X??]?A?L7KA(??_??,??D$bA?D7W+?fn?[??Y?fn?(?[?H????X?A(??]??_??,??D$c??7H??(??7H??p?7(?(ƋD$XAWlj???D$\?AY‰?4?D$`?AY?|A?E?Y?HDž??Y?HDž(?A?7?????A?7??? ??h?????p??$??l???Dž0HDžt??~`fAnL7I?Npfn?H??`[?fn?[?[??^??X???^H?M?H???6?\$p(?(???U?Ъ??E??U??+H?M??6(??(?(??Ъ??U??E??U??|$@??(????0A$??AL$?AD$ ?AL$0?? ?AD$@?(?8?H?X??h??LcE?C B??CT Hc?C??C\  Cd 0?CD @?(?8?H?X??hB!BT!B\! Bd!0?BD!@?p?????????Hc?C?B!BT!B\! Bd!0?BD!@Hc?L?L??(;|$H???;|$H?LcE?C B??CT Hc?C??C\  Cd 0?CD @?(?8?H?X??hB!BT!B\! Bd!0?BD!@?p?????????Hc?C?@?B!BT!B\! Bd!0?BD!@???????? Hc?Ak?B!BT!B\! Bd!0?BD!@?(Hc?C???8??H?X??hB!BT!B\! Bd!0?BD!@?(Hc??8?H?X??hB!BT!B\! Bd!0?BD!@?p?????????Ak?Hc?B??B!BT!B\! Bd!0?BD!@Hc?L?A?FL??(?É\$pA;]?R?????HcU?B"??BT"Hcȍ?B\" Bd"0?BD"@?(?8?H?X??hB!BT!B\! Bd!0?BD!@?p?????????HcȍR?H?B!BT!B\! Bd!0?BD!@L?A?FL??(H?D$PM?F0H??I?v(I??H?D$PH+?H?????????I???H??H?H??H??H???H?H?D$PH;?? ???I?????????McUI??Mc?$H+?I?~ 3?I??H?\$PH??EW?H?H??H??H???H??H?I??H????
B??M??Hc?C??Lc?H?L$h@L+?H?????????I??Ic?I?H??H??H???H??H?H??H????C?IHc?M?CH?U`I????.CM?N(H?????????M?F0I??H?]?M+?I??H???I?H??H??H???H?L;??.???I?N@?eCI????YCE3?I?v H?????????A???M??M?~(I?N0I+ω|$@H??}?H?H?u?H??H??H?u?H???L?L$hH???M??f?A?UA?ɉL$L???1@f?G?D<D?D$TE??u	?D$H??t?D$HC?D(???YE??U??U?I?ND)E )}0E??UH????H??H????hH??H??@?	/A(?(?A?A?(?Y?(?(??????U?X??X?W???(??R?A?(????A(?Y?A??(????Y????Y?\?(?Y?(?(??????U?X??X?W????R?D(?E??DY?A(?A(?A???A???Y?Y?\?(?Y?(?D(??H?M@??U(?????X?E(?E(?E(?E??A(?E??UH??E?ƪ?X?A??UW????R?D(?E??DY?E(?A(?E??A??U??-?SH?M??M0W??E DW??DW?W?A?A(?E?D?A(??E(??E?D?A(?A??(M@(?D?È??(?AY???U???D???X?AY?D?ڈ?ɪAY?X?X??E(?H?M@??U(??(??֪H????V?U??E??-(M@(???H?M?AY?(???UAY?X??ɪAY?X?X????D5?(???U(??(??֪??S?U??E?? A?}?A?}8CD<CL< )??CD<0)??)??u?C??H???V?U??E??+(??(??(?ƭ?D(?(]P(?ƽ??(?A??D??A?????H?M?Y?(?(??????U???X?Y?????۪Y?X?X??(?(???U(???֪??S?U??E???|$@D?D$H?T$TD?L$PE??u`A;?t[??VHc??F Hc?1T1?D1 0T0?D0 ?Hcȍ?1T1?D1 Hc?H?H?u????Hc?H?H?u?E??uA?FA;?t?L$LA?U???L$L;??????L?D$hE3?M?~(I??I?N0H?????????I+?L?D$hH??I???H?H??H??H???H?L;??{???EW?}?L??@I???u?I??)?@??P?-S??L?E?)}?I???u?I???H??M?N0I?????????M?^(I??Mc}I+?Ic??I??I?^ 3?H??EW?H?H??H??H???H??H?I??H???R?D
3??D?M?5?MfDM+?I??I??Ic?I?H??H??H???H??H?H??H?L$hH??uu?Hc?L?;H?H?Up?H??H????}(D(??A(?AY?(?(???U????X??X??;M/?wW????R???DY?fAo???H;?u	A(????E(?Lc?H?U`??L?Hc?H??H??H????'D(???LA(?AY?A(?(?(???U?X?????X?/?wW????R???DY?A(?AX?^=?L(?(?Y?(?(???U?X?????X?/?wW????R?(???Y?H?;L??H?????H??H????='(???-L(?Y?(?(???U?X?????X?/?wW????R???Y?(?f?????(????(?Y???????Y?\?(?Y?(?(???U?X?????X?/?wW????R???Y?A?}D(?)U?D(?)U?D(?)U?(?)??(?)U(?)U(?)U@)UP)U?)U?)U?)??u_?
?K(???UEW??ҪW?W?W??A??(?)eP(?)e@(?)eD(?)eD(?)e?(?)e?D(?(??(U?(??H???<?mPU?AX??}@??AX?(??D$c???U?AX?(??D$g??AY??AX??AY?A(??AY??AX??AX??AY??AX??Y??Y??AX??]??Y??Y??_?(??]??,?A(??_??D$`(??]??,?A(??_??D$a(??,?(??۪?AXƈD$b?AX??AY??AY??AX??AX??Y??Y??]?A(??_?(??]??,?A(??_??D$d(??]??,?A(ňD$e?_??,??D$f?D$`?L$d?C?K?D;???L;?H;t$h?GD?]U?AX?D?e??EX?(??D$O???U?EX?A(??D$S??AY??AX??EY??AX??EY??EX??AY??EX??Y??DY??AX?)M (??]M ?DY??Y??_?(??A]??,?A(??_??D$L(??A]??,?A(??_??D$M(??,?(??۪?AXƈD$N?AX??AY??AY??AX??AX??Y??Y??]?A(??_?(??]??,?A(??_??D$P(??]??,?A(ňD$Q?_??,??D$R?D$L?L$P?C?K?D;???L;?\?U???AX?D?}?U?AX??EX??D$W?(??D$C????AY?Hc??AY??AX??EY??AX??EX??Y??Y??]??DY?A(??_?(??A]??,?A(??_??D$T(??]?(???U?AX??,?A(??AYшD$U?_?(??AX??,?(??۪?AX??YֈD$V?AX??AY??AY??AX??AX??Y??Y??]?A(??_?(??]??,?A(??_??D$@(??]??,?A(ňD$A?_??,??D$B?D$T?L$@?C?K?D;?L;?D?L?Lc?A?DA?L??M?N0I?????????M?^(I??Mc}I+?H?H??H?I??H??H?H??H??H???H??H?I??H??H;??????A???I??D(?$?M??D(?$?E??D(?$?I?????????D(?$?D(?$?D(?$?D(?$D(?$(?$ (?$0??I?^ M+?A???3?I?ĉL$@I??H??(H?t$hI?H??H??H???H??H???3?H?E?f?E3?E??E??~MI?4Lc??f?Mc??H???I??H???tI?H??u?E?EA??E;?|?H?E?H?t$hM?V(H?I?~0H??H?E?H??I+?H?t$hI?????????M??I??E??H??HыL$@H??H??H???H??H?H;?H?E??M???A?????I?F I+?Ic??H??(E???E3?D?\$@L?L$hH??I??H??H?H??H??H???H??H???3?H?E?E3?E??~TI?4Mc??fff?Mc??H???I??H???sI?H??u?E?EA??E;?|?H?E?L?L$hD?\$@M?V(H?I?N0I??H?E?I+?H?????????L?L$hH??H?H??H??H???H??H?L;?H?E??Y???L??$HH??$?L??$@H???H3??"	H??PA^A]_[]???L??UVWATAUI??8???H??H???H3?H???L?I0L??L?Q(I??L?D$XI?????????M??I??M+?H??I??I?H??H??H???H???#A?}LI?[ M?s?M?{?A)s?A){?E)?h????D?CE)?X????D%??E)?H???E)?8????D5~?E)?(???E)C?E)K?E)?x????[3?EW?H???z?D
?BfDLi??H??uI?JI?H???Q H??0?VM+?I?? ???I??I?I??I?H??H??H???H??H?H;?uH?? ? H?N(H??H???H?U`??H?UPH?N(H??I?H?????D?B0\3(?Y?(?(???U?X?????X?D/?wW??T$`???R???Y?H?NH?U?H????H??H?M@??(e@(????(?(??????????Y?Y?\?(?Y?(?(???U?X?????X?D/?v(??W??\$`???R???Y?(?(???????H???Y?H?MpY?(?(?)Up)??\?)????(0)upx)??(?D@ ??UA(?(?A?Ъ?X?D)??@0)???X?A/?vp?AX?W?.?w	W??Q??(??!?	(?(??AY??Ϫ(??ުA(?A??U?A\??\???U?\?(??AY?(??^??^?(?(??^??u/???/?v~(?W??\??\??AX?.?w	W??Q??(?蘈	(?(??AY???U(??Ϫ?X????A(?A??U?AX??\?(??AY?(??^??^??^??????/?W?vo?\??\??AX?.?w	W??Q??(???	(?(??AY??Ϫ(??ުA(?A??U?A\??X???U?X?(??AY??^??^??^????x?\??\??AX?.?w	W??Q??(?詇	(?(??AY??ߪA(?A??U(???U?X??\????(??DX??AY?(??^??D^??^?(?A(????(?Y?(?(?(???U?ê????X??X?W??X?.?w	W??Q??(???	?5?>H??H?F@?X?H?H????^?H?F@A?H?FXH?FH@?H?F`@?I??H?N0H+N(H??H?H??H??H???H??H?L;??v?D-!>??D=>?H?F@DL?H?<DDA(?AY?(?(???U(??X??ʪ????X??X?D/?vXA(?L?E@A??UH?W?A(?H?MPA?ЪA(?A???AW?EW?AW?A(?AW????)]@A(??????D(EP?UA(??]??xw	(?/?vE(?D)MP?5?AY??~	(?(????|~	DY???AY?D^?^?DX?D)EPH?F@A(?DAY?(?(???U(??X??ʪ????X??X?D/?vaA(?L?E@A??UH?UPA(?H???A?ѪA(?A???AW?EW?AW?A(?AW????)]@A(?????D(???A(??]??v	?5b<D(?A/?v?D%??D)???b?}	(?A(??AY????{}	(??EY???AY?A(?^??_}	?D%b???AY?D(?^?DX?D)???5?;H?FXI??DI??H?N0H??H+N(H??H?H??H??H???H??H?L;??????H?|$XA?}?BH?Np?*L?N(I??H?N0E3?I+?H??H?H??H??H???H??E3??A?}HW?)E`CD1)EpCL1 )??CD10)??u?C?1?H?MpH???ȇ??H?NH?U?A?]I?} H????H??H?M@?H?NH?U?H????H??H?MP??L?ψ\$ L?E@H?UPH?Mp?M???H??H?Mp?=H?U`H?Np)E`?&L?N(I??L?F0I??H?|$XM+?I??I???I?H??H??H???H?L;??????H?Np?V&??$I??L?v L?F0L?~(I???D=U:I+ωT$h?U?H??L?u?H?L?u?H??H??H?E0H???H??@E3?A??fff?A?}?D$D??
A?}HCD'CL' )EpCD'0)??)??u?C?'?H?MpH?T$X?J???L?MPL???H?U`H?Mp?H?NH?U?A?]I?} H????H??H?M@?lH?NH?U?H????H??H????LH?E@?\$0H?|$(L???L?E`H?D$ H?UPH????~??C?|'?\$D??u	?D$@??t?D$@C?'A(?A?U???Ct'\??D?@?A??D?D$`?fn?C?L'@fn™[?+???;?C?D'L[??^?fn??X?[????C\t'X+?C?L'Afn?[??Y??Y??CXt'X?X?W??]??_?A(??,?fn?[??D$HC?D'M+?C?L'Bfn?[??Y??X?W??]??_?A(??,?fn?[??D$IC?D'N+?C?L'Cfn?[??Y??X?W??]??_?A(??,?fn?[??D$JC?D'O+?C?L'Dfn?[??Y??X?W??]??_?A(??,?fn??D$KC?D'P+?C?L'E[?fn?[??Y??X?W??]??_??,?fn??D$LC?D'Q+?[?fn?[??Y??X?C?L'FW?A(??]??_?A(??,?fn?[??D$MC?D'R+?C?L'Gfn?[??Y??X?W??]??_?A(??,?fn?[??D$NC?D'S+?C?L'Hfn?[??Y??X?W??]??_?A(??,?fn?[??D$OC?D'T+?C?L'Ifn?[??Y??X?W??]??_?A(??,?fn?[??D$PC?D'U+?C?L'Jfn?[??Y??X?W??]??_?A(??,?fn??D$QC?D'V[?+?fn?[??Y??X?W??]??_??,?C?L'K?D$RC?D'W+?fn?[??Y???C\t'`+??A\?C?L'AA(?fn?[??\??Y??Y??X?W??CXt'`?]??_?A(??,?fn?[??D$HC?D'M+?C?L'Bfn?[??Y??X?W??]??_?A(??,?fn??D$IC?D'N+?C?L'C[?fn?[??Y??X?W??]??_?A(??,?fn??D$JC?D'O+?C?L'D[?fn?[??Y??X?W??]??_?A(??,?fn??D$KC?D'P+?C?L'E[?fn?[??Y??X?W??]??_??,??D$LC?D'Q+?fn?[??Y?A(?fn?C?L'F[??X?W??]??_?A(??,?fn?[??D$MC?D'R+?C?L'Gfn?[??Y??X?W??]??_?A(??,?fn?[??D$NC?D'S+?C?L'Hfn?[??Y??X?W??]??_?A(??,?fn?[??D$OC?D'T+?C?L'Ifn?[??Y??X?W??]??_?A(??,?fn??D$PC?D'U+?C?L'J[?fn?[??Y??X?W??]??_?A(??,?fn??D$QC?D'V+?[?fn?[??Y??X??]?C?L'KW??_??,??D$RC?D'W+?fn?[??Y?fn?A(?[?H??`?X?W??]??_??,??D$S?=?H????1?H????%??D$H(?(M`AWÉ?l?D$L????D$P?AYĉ??A?E?AY?HDžd?Y?HDž??Y?Dž???`HDž??????~cfCnL'H?Npfn?H??[?fn?[?[??^??X?? H?L$pH???i??\$D(?(???U?Ъ??D$p?T$x?*H?L$|?9?(EP(?(??Ъ??U??D$|?U??|$@????`???A?pAN????AF ?????????LcD$hC0B??CT0Hc?C???CD0 ???????B1BT1?BD1 ???????Hc?C?B1BT1?BD1 Hc?L?L?u?;|$`???Y;|$`?dLcD$hC0B??CT0Hc?C???CD0 ???????B1BT1?BD1 ???????Hc?C?@?B1BT1?BD1 ?`?p???Hc?Ak?B1BT1?BD1 ??Hc?C????????B1BT1?BD1 ??Hc??????B1BT1?BD1 ???????Ak?Hc?B??B1BT1?BD1 Hc?L?FL?u??É\$DA;]??????HcT$hB2??BT2Hcȍ??BD2 ???????B1BT1?BD1 ???????HcȍR?H?B1BT1?BD1 L??FL?u?H?E0L?F0H??L?~(I??H?E0I+?H?????????I???H??H?H??H??H???H?H?E0H;??????I?????????McMI??Lc?$I+?H?~ 3?I??H?]0H??EW?H?H??H??H???H??H?I??H???%B???D$G?Hc?EW?C??H?L$XLc?ff?M+?H?????????I??Ic?I?H??H??H???H??H?H??H?L$hH????C?vM??Hc?N?7H?H?U???H??H????D(?A(?AY?(?(???U????X??X???-/?vA(?E(?A(?E(?fEo???W??T$`???R???AY?D(?(?D(?(?D(?fDo??A(?H;?uE(?E(?A(?E(??Ak?H?U?Lc?C??Hc?L?H????H??H?? ?2D(? A(?E(?AY?(?(???U????X??X???,/?wW??T$`???R???DY?E(?DX?D^5-A(?D(?(?D(?M??J??H??H?M@?A?}LEOM?G ?E C?DS ??B'Mp??BL'?DT$`???BD' ?????H?]0H;\$huH?F`D@??bMcE??L?NX?A??3?fAn?H?H??H??H??H?M0H?[?F$	D)?0A(?AM?N(H?????????M?F0I??H?]?M+?I??H???I?H??H??H???H?L;??.???I?N@?uI????iE3?I?v H?????????A???M??M?~(I?N0I+ω|$@H??}H?H?uH??H??H?uH???L?L$hH???M??f?A?UA?ɉL$L???1@f?G?D<D?D$TE??u	?D$H??t?D$HC?D(???YE??U??U?I?ND)E )}0E??UH????H??H????x?H??H??@??A(?(?A?A?(?Y?(?(??????U?X??X?W???(??R?A?(????A(?Y?A??(????Y????Y?\?(?Y?(?(??????U?X??X?W????R?D(?E??DY?A(?A(?A???A???Y?Y?\?(?Y?(?D(??H?M@??U(?????X?E(?E(?E(?E??A(?E??UH??E?ƪ?X?A??UW????R?D(?E??DY?E(?A(?E??A??U????(H?M??M0W??E DW??DW?W?A?A(?E?D?A(??E(??E?D?A(?A??(M@(?D?È??(?AY???U???D???X?AY?D?ڈ?ɪAY?X?X??U?(?H?M@??U(??(??֪H????V?U??E???(M@(???H?M?AY?(???UAY?X??ɪAY?X?X?????D5%?(???U(??(??֪??S?U??E?? A?}?A?}8CD<CL< )??CD<0)??)??u?C??H???V?U??E??+?(??(??(?ƭ?D(?(]P(?ƽ??(?A??D??A?????H?M?Y?(?(??????U???X?Y?????۪Y?X?X????(?(???U(???֪??S?U??E???|$@D?D$H?T$TD?L$PE??u`A;?t[??VHc??F Hc?1T1?D1 0T0?D0 ?Hcȍ?1T1?D1 Hc?H?H?u???Hc?H?H?uE??uA?FA;?t?L$LA?U???L$L;??????L?D$hE3?M?~(I??I?N0H?????????I+?L?D$hH??I???H?H??H??H???H?L;??{???EW?EL??@I???MI??)?@??P?=??M?N0I?????????M?^(I??Mc}I+?Ic??I??I?^ 3?H??EW?H?H??H??H???H??H?I??H???Z?D
[??D??5@ff?M+?I??I??Ic?I?H??H??H???H??H?H??H?L$hH??uu?Hc?L?;H?H?Up?D(????YE??U??U?I?ND)E?)}?E??UH????H??H?????H??H??膳A(?(?A?A?(?Y?(?(??????U?X??X?W???(??R?A?(????A(?Y?A??(????Y????Y?\?(?Y?(?(??????U?X??X?W????R?D(?E??DY?A(?A(?A???A???Y?Y?\?(?Y?(?D(??H?Mp??U(?????X?E(?E(?E(?E??A(?E??UH??E?ƪ?X?A??UW????R?D(?E??DY?E(?A(?E??A??U?M????H?M??M?W??E?DW??DW?W?A?A(?E?D?A(??E(??E?D?A(?A??(Mp(?D?È??(?AY???U???D???X?AY?D?ڈ?ɪAY?X?X??œ(?H?Mp??U(??(??֪H????V?U??E???(Mp(???H?M?AY?(???UAY?X??ɪAY?X?X??[?(?(???U(???֪??S?U??E???A?}??A?}8CD<CL< )E0CD<0)M@)EPu?C??H???V?U??E?軯(}0(eP(??m@D(?(]`(??}@?(?A??D??A?????H?M?Y?(?(??????U???X?Y?????۪Y?X?X??b?(?(???U(???֪??S?U??E???|$XD?D$@?T$pD?L$tE??uMA;?tH???FHc?Hc?1?D10?D0?Hcȍ?1?D1Hc?H?H?u????Hc?H?H?u?E??uA?FA;?t?L$HA?U???D
?w?L$H;??*???L?D$`E3?M?~(I??I?N0H??????????D
?wI+?H??I???L?D$`H?H??H??H???H?L;??????D(?$?I?????????E?L??I???M?I??)???????A???D(?$?D(?$?D(?$?D(?$?D(?$?D(?$?D(?$?(?$(?$??M?F(E3?I?N0I??I?^ I+?E???H??(H??D?T$HH?L?L$`H??H??H???H??H???3?H?D$PE3?E9e~RJ?4Mc??fff?Mc??H???I??H???&I?H??u?A??E;e|?H?D$PL?L$`D?T$HM?F(H?I?N0I??H?D$PI+?I?????????L?L$`I??H??H?H??H??H???H??H?L;?H?D$P?U???A?????I?F E3?Ic??M?F(H??
E???D?T$HL?L$`H??I?N0I+?I??H??H?H??H??H???H??H???3?H?D$PE3?E9e~PJ?4Mc??f?Mc??H???I??H???I?H??u?A??E;e|?H?D$PL?L$`D?T$HM?F(H?I?N0I??H?D$PI+?H?????????L?L$`H??H?H??H??H???H??H?L;?H?D$P?Z???H??$(H??$xL??$ H??pH3???H??0A^A]A\[]??L??UVWAUAWI??????H?? H?A^H3?H??`L?I0L??L?Q(I??L?D$PI?????????M??I??M+?H??I??I?H??H??H???H??vA?}LM?c?M?s?E)?x????D&tE)?h????DtE)?H???E)?8????D5??I?[ A)s?A){?E)C?E)K?E)?X???EW?E)?(????F3?H???o?D
j??D5I?Li??H??uI?JI?H???辬H???VM+?I?? ???I??I?I??I?H??H??H???H??H?H;?uH????}?H?N(H???H???H?U0?c?H?U H?N(H??I?H???I?0\3(?Y?(?(???U?X?????X?D/?wW??U???R???Y?H?NH?U?H????H??H?M?m?(e(????(?(??????????Y?Y?\?(?Y?(?(???U?X?????X?D/?v(??W??]???R???Y?(?(???????H???Y?H?M@Y?(?(?)U@)e`\?)MP?p?0)u@x)}P(?D@ ??UA(?(?A?Ъ?X?D)E`@0)Ep?X?A/?vl?AX?W?.?w	W??Q??(??	(?(??AY??Ϫ(??ުA(?A??U?A\??\???U?\?(??AY?(??^??^?(?(??x/???/??~(?W??\??\??AX?.?w	W??Q??(??	(?(??AY???U(??Ϫ?X????A(?A??U?AX??\?(??AY?(??^??^??^??????/?W?vr?\??\??AX?.?w	W??Q??(??	(?(??AY??Ϫ(??ުA(?A??U?A\??X???U?X?(??AY??^??^??^????x?\??\??AX?.?w	W??Q??(??-	(?(??AY??ϪA(?A??U(???U?X??\?????DX?(??AY?(??^??D^?(?A(??^????(?Y?(?(?(???U?ê????X??X?W??X?.?w	W??Q??(??	?5E?H??H?F@?X?H?H????^???H?NH?U?A?]I?} H????H??H?M?x?H?NH?U?H????H??H?M ?[?L?ψ\$ L?EH?U H?M@????H???H?M@賤H?U0H?Np)E0菲L?N(H?????????L?F0I??H?|$PM+?I??I???I?H??H??H???H?L;??????H?Np?Ų??$H?????????L?v L?F0L?~(I?ȉT$hI+ωU?H??L?u?H?L?u?H??H??H?D$XH???H???
?D??E3?A??f?A?}?D$`?
A?}HCD<CL< )E@CD<0)MP)E`u?C??AY??AY??X8??X0??AY??AY??]?W??_?A(??]??,?W??E??_??۪(??AX???UA(??AX??,?W??AYވE??AY??XЙ?Xș?AY??AY??]??_?A(??,?(????AX??E??AX??AY??AY??X???X%???AY??AY??]?W??_?A(??]?(???U?AX??,?W??AYֈE??_?A(??]??%4??X??,?W??AYՈE??_?A(??,?(?????AX??E??AX??AY??AY??X??X??AY??AY??]?W??_?A(??]??,?W??_??E?A(??]??,?W??E??_?L?m?C?d?,?Lc?B??Lc?C?$Lc?C???M?Lc?(?(??AX??E???UA(?????AX??AX??AY??AY??X??AY??X??X??AY??AY??]??AY?W??_?A(??]??,?W??_??E?A(??]??,?W??E??_??M??,??E,?E??X??E?A?EC?D,C?L.C?L+C?D*C?D)C?d?Lc?Ak?C?L(HcЋE?B?L*?M?A?MC?L,C?D.C?D+C?L*C?L)C?D(B?D*3?A?E$?AM ?CL, C?D,$??CD. C?D.$?CD+ ?\$LD???d$PD??(??D??(? H???C?D+$??CL* C?D*$??CL) ?L$HC?D)$???CD( ?M`?M?C?D($??M??M??BD* B?D*$??L??H????E??E??L$\?M??]??]??d$X(??D)??D(?@fD]@D(?0?D$TL?m?D)Mp?????H?]?L?k8????????~HD?u?I?}(E??~?Lc?fff?Lc??H???I??H???&?
I?I??u݋??L?k8D?u????~EHc??H?L?U?A(??\$DA(??DM?A(??DE??}??DX??d$H?m??X??Xl$PA?ժA??U??L$t?E?Ak??U?Hc??B?D$T?BT?T$@B?|?DX??FT?Bt?u??AR?X??AB?D$X?AZ ?AB$M???Ab(L?E?H?U??D$\?AB,?AJ0?D$`?AB4?D$P?AB8?L$|?AJ?CD>D??D???|???A???I?M8H?}??H?L$PA?????~HD?t$XH?Y(E??~?Lc?f?Mc??H???I??H???`
I?I??u?A???I?M8D?t$XA???~BIc??H??
H??E??~.L???Lc?A??f?Mc??I??I??H???_
I?H??u?GE????AE@Ic?IE8H???H3??
L??$?A(s?A({?E(C?E(K?E(S?E([?E(c?E(?x???E(?h???E(?X???I??A_A^A]A\_^[]????????L??USVWAVI??8???H??H??H3?H?E@H?Y M??H??H??H???lHcIDA@P??AHTE3??KD?CA?F4?CAF`??ANd?LD?DA?F8?D?	AFpM?c?L?cM?k?Lc?M?{?A??M?H?]??B+?ANt?BL+F?D+A?FI??H?T$ A??H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?I??A?H??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?H?T$ A?H??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?H??H?T$ I??A?f?H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?I??A?I??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?H?T$ A?I??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?I??I??????L??????L??????H??????M;???I??I;??=H??H?T$ A?fDH???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?H??A?I??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?H?T$ A?I??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?H??H?T$ I??A?f?H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?I??A?H??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?H?T$ A?H??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u??b???I??H?T$ A?@H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?I??A?H??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?H?T$ A?H??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?I??????L?.H??H?NH??8A]A\_^][??L??I?SI?KSUVWATAUH??8H??M?{?A??M??M??H??L+?I?yxxxxxxxI??I??I??$????I??H??H+?L??I???I?D??H??Li?H??L?H??H??H???H?H??(??I?KH?BH??M?sLi? Hi?M?H?H???z???I??N?.H+?D??I???d???I??$????D??H+?I??$????H??M??$????I+??:???D??L??I??H???(???H??$xH??$pL??$??M??$????I??H???????L??$0I??I;?s-?AE?I???????/?w?AE/?wL??(?H;?r?I;?s ?AM?/?w/?wH??I;?r?L??I??M;???I??I+?HH=@?	I?? ??AE?A/??X/??_L??I;??<H??H?T$ A?DH???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?I???H???H???A?H?I?@?A?H?I?@?A?H?I?@?A?H?I?H??u?I?úH?L$ f?H???IH???@?A?H?I?@?A?H?I?@?A?H?I?@?H?H??u?I???AEH???????/??f/??-
L??H;??JH??L?D$ A?M???JH???A@?B?AH?J?A@?B?AH?J?A@?B?AH?J?A@?AH?I??u?H??AA?DH???H???A?J?I?B?A?J?I?B?A?J?I?B?A?J?I?I??u??H?L$ @f?H???IH???@?A?H?I?@?A?H?I?@?A?H?I?@?H?H??u?I???AE?/??]/???L??H;??AH??H?T$ A?ff?H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?H???H???H???A?H?I?@?A?H?I?@?A?H?I?@?A?H?I?H??u?H?úH?L$ f?H???IH???@?A?H?I?@?A?H?I?@?A?H?I?@?H?H??u?I???AEH???/??f/??=L??H;??JH??L?D$ A?M???JH???A@?B?AH?J?A@?B?AH?J?A@?B?AH?J?A@?AH?I??u?H??AA?DH???H???A?J?I?B?A?J?I?B?A?J?I?B?A?J?I?I??u??H?L$ @f?H???IH???@?A?H?I?@?A?H?I?@?A?H?I?@?H?H??u?I??I??@I??$????H??@L;?????M;??x?AE?A/??T/??[L??I;??8H??H?T$ A??H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?I???H???H???A?H?I?@?A?H?I?@?A?H?I?@?A?H?I?H??u?I?úH?L$ f?H???IH???@?A?H?I?@?A?H?I?@?A?H?I?@?H?H??u?I??I??M;??????H;???L??????@?A?AM/??U/??cI??M;??<I??H?T$ A?DH???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?I??A?I??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?H?T$ A?I??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?H??I??H;??????H;???M;???I;??>I??H?T$ A??H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?I??A?H??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?H?T$ A?H??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?H??H?T$ I??A?f?H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?I??A?I??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?H?T$ A?I??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?I??I??????L??????L??????H??????M;???I??I;??=H??H?T$ A?fDH???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?H??A?I??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?H?T$ A?I??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?H??H?T$ I??A?f?H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?I??A?H??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?H?T$ A?H??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u??c???I??H?T$ A?@H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?I??A?H??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?H?T$ A?H??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?I??????L?.H??H?NH??8A]A\_^][??L??I?SI?KSUVWATAUH??XH??M?{?A??M??M??H??L+?I??k(???I??I??I??$????I??H??H+?L??I???I?D??H??Li?0H??L?H??H??H???H?H??(??I?KH?BH??M?sLi?`Hi?0M?H?H??????I??N?.H+?D??I???t???I??$????D??H+?I??$????H??M??$????I+??J???D??L??I??H???8???H??$?H??$?L??$??M??$????I??H??????L??$PI??0I;?s-?AE?I???????/?w?AE/?wL??(?H;?r?I;?s ?AM?/?w/?wH??0I;?r?L??I??M;???I??I+?H/H=???I??`??AE?A/???/??OL??0I;??lH??H?T$ A?DH???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?H@ I??JB ?H???H???A?H?I?@?A?H?I?@?A?H?I?@?A?H?I?H??u??HI@ I??A H?L$ f?H???IH???@?A?H?I?@?A?H?I?@?A?H?I?@?H?H??u?IA H@ I???AEH???????/???/??}L??0H;??zH??L?D$ A?M???JH???A@?B?AH?J?A@?B?AH?J?A@?B?AH?J?A@?AH?I??u?JAB H??AHA@ A?H???H???A?J?I?B?A?J?I?B?A?J?I?B?A?J?I?I??u?JIB ?A H?L$ @f?H???IH???@?A?H?I?@?A?H?I?@?A?H?I?@?H?H??u?IA H@ I???AE?/???/???	L??0H;??qH??H?T$ A?ff?H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?H@ H??JB ?H???H???A?H?I?@?A?H?I?@?A?H?I?@?A?H?I?H??u??HI@ H??A H?L$ f?H???IH???@?A?H?I?@?A?H?I?@?A?H?I?@?H?H??u?IA H@ I???AEH??0?/???/??-L??0H;??zH??L?D$ A?M???JH???A@?B?AH?J?A@?B?AH?J?A@?B?AH?J?A@?AH?I??u?JAB H??AHA@ A?H???H???A?J?I?B?A?J?I?B?A?J?I?B?A?J?I?I??u?JIB ?A H?L$ @f?H???IH???@?A?H?I?@?A?H?I?@?A?H?I?@?H?H??u?IA H@ I??I???I??$p???H???L;??E???M;????AE?A/???/???L??0I;??hH??H?T$ A??H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?H@ I??JB ?H???H???A?H?I?@?A?H?I?@?A?H?I?@?A?H?I?H??u??HI@ I??A H?L$ f?H???IH???@?A?H?I?@?A?H?I?@?A?H?I?@?H?H??u?IA H@ I??I??0M;??X???H;???L??????@?A?AM/???/???I??0M;??lI??H?T$ A?DH???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?A?H@ I??JB I??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?A?JHB H?T$ @ I??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?JB H@ H??0I??0H;??P???H;??M;???I;??nI??H?T$ A??H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?A?H@ I??JB H??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?A?JHB H?T$ @ H??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?JB H@ H??0H?T$ I??A?f?H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?A?H@ I??JB I??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?A?JHB H?T$ @ I??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?I??0JI??0B H@ ????L???(???L??? ???H??????M;???I??0I;??mH??H?T$ A?fDH???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?A?H@ H??JB I??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?A?JHB H?T$ @ I??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?JB H@ H??0H?T$ I??A?f?H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?A?H@ I??JB H??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?A?JHB H?T$ @ H??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?JB H@ ????I??H?T$ A?@H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?A?H@ I??JB H??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?A?JHB H?T$ @ H??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?I??0JB H@ ????L?.H??H?NH??XA]A\_^][??L??I?SI?KSUVWATAUH??XH??M?{?A??M??M??H??L+?I??k(???I??I??I??$????I??H??H+?L??I???I?D??H??Li?0H??L?H??H??H???H?H??(??I?KH?BH??M?sLi?`Hi?0M?H?H??????I??N?.H+?D??I??????I??$????D??H+?I??$????H??M??$????I+??????D??L??I??H???????H??$?H??$?L??$??M??$????I??H??????L??$PI??0I;?s)?AM?I???????/?wA/EwL??(?H;?r?I;?s#?AM?/?w/?wH??0I;?r?L??I??M;???I??I+?H/H=???I??`??AE?A/???/??OL??0I;??lH??H?T$ A?DH???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?H@ I??JB ?H???H???A?H?I?@?A?H?I?@?A?H?I?@?A?H?I?H??u??HI@ I??A H?L$ f?H???IH???@?A?H?I?@?A?H?I?@?A?H?I?@?H?H??u?IA H@ I???AEH???????/???/??}L??0H;??zH??L?D$ A?M???JH???A@?B?AH?J?A@?B?AH?J?A@?B?AH?J?A@?AH?I??u?JAB H??AHA@ A?H???H???A?J?I?B?A?J?I?B?A?J?I?B?A?J?I?I??u?JIB ?A H?L$ @f?H???IH???@?A?H?I?@?A?H?I?@?A?H?I?@?H?H??u?IA H@ I???AE?/???/???	L??0H;??qH??H?T$ A?ff?H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?H@ H??JB ?H???H???A?H?I?@?A?H?I?@?A?H?I?@?A?H?I?H??u??HI@ H??A H?L$ f?H???IH???@?A?H?I?@?A?H?I?@?A?H?I?@?H?H??u?IA H@ I???AEH??0?/???/??-L??0H;??zH??L?D$ A?M???JH???A@?B?AH?J?A@?B?AH?J?A@?B?AH?J?A@?AH?I??u?JAB H??AHA@ A?H???H???A?J?I?B?A?J?I?B?A?J?I?B?A?J?I?I??u?JIB ?A H?L$ @f?H???IH???@?A?H?I?@?A?H?I?@?A?H?I?@?H?H??u?IA H@ I??I???I??$p???H???L;??E???M;????AE?A/???/???L??0I;??hH??H?T$ A??H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?H@ I??JB ?H???H???A?H?I?@?A?H?I?@?A?H?I?@?A?H?I?H??u??HI@ I??A H?L$ f?H???IH???@?A?H?I?@?A?H?I?@?A?H?I?@?H?H??u?IA H@ I??I??0M;??X???H;???L??????@?A?AM/???/???I??0M;??lI??H?T$ A?DH???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?A?H@ I??JB I??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?A?JHB H?T$ @ I??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?JB H@ H??0I??0H;??P???H;??M;???I;??nI??H?T$ A??H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?A?H@ I??JB H??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?A?JHB H?T$ @ H??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?JB H@ H??0H?T$ I??A?f?H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?A?H@ I??JB I??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?A?JHB H?T$ @ I??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?I??0JI??0B H@ ????L???(???L??? ???H??????M;???I??0I;??mH??H?T$ A?fDH???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?A?H@ H??JB I??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?A?JHB H?T$ @ I??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?JB H@ H??0H?T$ I??A?f?H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?A?H@ I??JB H??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?A?JHB H?T$ @ H??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?JB H@ ????I??H?T$ A?@H???HH???B?@?J?H?B?@?J?H?B?@?J?H?B?J?I??u?A?H@ I??JB H??H???H???@?J?H?B?@?J?H?B?@?J?H?B?@?J?H?I??u?A?JHB H?T$ @ H??@H???JH???@?B?H?J?@?B?H?J?@?B?H?J?@?H?I??u?I??0JB H@ ????L?.H??H?NH??XA]A\_^][??H?\$H?l$H?t$H?|$ I?x?L??H??H??L?һH;???K?E3?Hi??B?B/? A??H??L?H??Hi?Ii?I?I?H???H???B?H?J?@?B?H?J?@?B?H?J?@?B?H?J?H??u?I??L;??Y???L;???A????Ii?Hi?H????H??I?I??H???H???B?H?J?@?B?H?J?@?B?H?J?@?B?H?J?H??u?I?P?H;???ff??AL?B?I??Ii?I?/vzHi?H??I??H???H???B?I?J?A?B?I?J?A?B?I?J?A?B?I?J?H??u?I??I;??k???Hi?IːH???AM???A?AI?I?AA?A?AI?I?AA?A?AI?I?AA?A?AI?I?H??u?AH?\$H?l$H?t$H?|$ ??????????H?\$H?l$H?t$H?|$ I?x?L??H??H??L?һH;???K?E3?Hi??B? B/?A??H??L?H??Hi?Ii?I?I?H???H???B?H?J?@?B?H?J?@?B?H?J?@?B?H?J?H??u?I??L;??Y???L;???A????Ii?Hi?H????H??I?I??H???H???B?H?J?@?B?H?J?@?B?H?J?@?B?H?J?H??u?I?P?H;???ff?L?B?I??Ii?I??A/vzHi?H??I??H???H???B?I?J?A?B?I?J?A?B?I?J?A?B?I?J?H??u?I??I;??k???Hi?IːH???AM???A?AI?I?AA?A?AI?I?AA?A?AI?I?AA?A?AI?I?H??u?AH?\$H?l$H?t$H?|$ ??????????H?\$H?l$H?t$H?|$ I?x?L??H??H??L?һH;???K?E3?Hi?0?B?`B/?0A??H??L?H??Hi?0Ii?0I?I?H???H???B?H?J?@?B?H?J?@?B?H?J?@?B?H?J?H??u?HJ@ B I??L;??I???L;???A????Ii?0Hi?0H????H??I?I??H???H???B?H?J?@?B?H?J?@?B?H?J?@?B?H?J?H??u?HJ@ B I?P?H;???ff?L?B?I??Ii?0I??A/??Hi?0H??I?@H???H???B?I?J?A?B?I?J?A?B?I?J?A?B?I?J?H??u?IJA B I??I;??[???Hi?0IːH???AM???A?AI?I?AA?A?AI?I?AA?A?AI?I?AA?A?AI?I?H??u?AH?\$H?l$H?t$H?|$ AIIAA A ????????H?\$H?l$H?t$H?|$ I?x?L??H??H??L?һH;???K?E3?Hi?0?B?0B/?`A??H??L?H??Hi?0Ii?0I?I?H???H???B?H?J?@?B?H?J?@?B?H?J?@?B?H?J?H??u?HJ@ B I??L;??I???L;???A????Ii?0Hi?0H????H??I?I??H???H???B?H?J?@?B?H?J?@?B?H?J?@?B?H?J?H??u?HJ@ B I?P?H;???ff??AL?B?I??Ii?0I?/??Hi?0H??I?@H???H???B?I?J?A?B?I?J?A?B?I?J?A?B?I?J?H??u?IJA B I??I;??[???Hi?0IːH???AM???A?AI?I?AA?A?AI?I?AA?A?AI?I?AA?A?AI?I?H??u?AH?\$H?l$H?t$H?|$ AIIAA A ????????H?\$ H?T$H?L$VWAVH?? L??H??L?AL+H?yxxxxxxxI??H??H??H??H???H?I???v???H??H?D$PL?CH?L+?H???,?	?M?L??H??H??H?\$XH?? A^_^?-??????????????H?\$ H?T$H?L$VWAVH?? L??H??L?AL+H??k(???I??H??H??H??H???H?I???V???H??H?D$PL?CH?L+?H????	?M?L??H??H??H?\$XH?? A^_^?]??????????????H?\$H?t$H?T$WATAUAVAWH??`L??L??I????????I;???L?|$ H?YH+H??H?II+H??H??H??I??H+?H;???H?
I;?s
I??H??$??H??$?I;??zL?,?M??u3?D???GI??r)I?M'I;??P衂H???NL?p'I???I?F??I??肂L??L??$?3?L?t$8I?????D$@?G?D$0?G?D$1L?W0A?JxA?R|E???E???A??A?Bt?D$D?L$H?T$LD?D$PD?L$TD$X?A???D$hA????D$l?A???D$p?A???L$t?A???D$xA????D$|A????D$}A????D$~A????D$?A???E?A????E??G?E?A?:?D$2?AB$?D$4A??E?H?O@H??tH??H??H??tH??PH?G@H??L????E?L?O0L?GH?SH?L$0?`????H?CL??L?CPH?KH??Px;?L??sHD??D?C@H?C L?KDH?D$ H?T$0I????H???3??{H?C(H;C0tH?C0H??H??t
H??PH??L?
?????D??H??p?B?H??`H??tH??P?H??H3???@H??$`H?? A_A^_^]????????H?\$WH?? H??H??H???/H???H?\$0H?? _???????H?\$H?t$WH??@A????H??E????H?L$0???H?\$0H??uH?H??H?\$PH?t$XH??@_?H?D$(H?H???H?L$(H??tH??PH?\$(D?L$pD??H?T$(H???,?H?H???P?H??H?\$PH?t$XH??@_???????????????H?\$D?D$H?T$UVWAVAWH??@A??H??H??E3?H?2H??uL?9H?
?sH?H???H?t$0L?D$0H??$?H?L$(襁???L?t$(I?????tI?????@??yL?7H?H???P??L??M??t
I?I???P?H?H???P?H?H??t	H??PL?;H??H?\$pH??@A_A^_^]?????H?\$H?t$H?T$WH??0H??H??3??p?f7H?D$HH??tH??H???U?H???H??H?AH??HD?H?H??H?\$@H?t$PH??0_?????????????H?\$H?l$H?t$WH??0A?؋?H??3??p??6H?D$XH??tD?Ë?H???/vH???H??H?\$XH??????uH?/H??t
H?H???P??H?H??H?\$@H?l$HH?t$PH??0_????????L?D$H?T$H?L$SUVWAVAWH??HI??L??H??E3?H?H??tH?H???H?\$(?8?F6H??H?D$0H????H??$?H?D$8I??H??$?H?H??tH?H???H??$?H??tH??PH?H??$?I??H??$?H??tH?H???H??$?H??tH??PH??$?A?L??$?H??$?H???u
?I??H?H??t
H?H???P?I?H??t	H??PM?>H?H??t	H??PL?>H??H??HA_A^_^][?????????????L?D$H?T$SUVWAVH??0I??H??H??E3??8?"5H??H?D$xH????H?D$hH?D$(A??H?L$hH?H??t
H?H???H?L$hH??tH??PH?H?D$hI??H?L$`H?U H??t
H?H???H?L$`H??tH??PH?E H?D$`A?L?D$hH?T$`H???d	?I??H?H?H??t	H??PL?7H??H??0A^_^][??????????????L?D$H?T$SUVWAVH??@I??H??H??E3?? ?24H??H?D$(H????H?D$xH?D$0A??H?L$xH?H??t
H?H???H?L$xH??tH??PH?H?D$xI??H??$?H?v H??tH?H???H??$?H??tH??PH??$?L?D$xH??$?H????y???I??H?H?H??t	H??PL?7H??H??@A^_^][?????????H?\$H?t$H?T$WH??0H??3?H??H?L$H???H?3H?8H?0H?H??t	H??PH?3H?;H?L$HH??tH??P?H??H?\$@H?t$PH??0_?????????H?\$H?t$WH??0H??H?????3??j?H?D$HH???i?@H?
.H?H?xH?pH?p H?p(H?p0H?p8H?p@H?pHH?pPH?pXH?p`H?phH?ppH?pxH???H???H???H???H???H???H???H???H???H???H???H???H???H???H???H???H??H??H??H??H?? H??(H??0H??8H??@H??HH??PH??XH??`H??hH??pH??xH???H???H???H???H???H???H?H??H?\$@H?t$PH??0_?H?3H??H?\$@H?t$PH??0_??????????????H?\$H?t$WH??0H??H?????3?誓H?D$HH??tV?@H?
?H?H?pH?pH?p H?x(?p0H?p8H?p@H???H??????H?H??H?\$@H?t$PH??0_?H?3H??H?\$@H?t$PH??0_?????H?\$UVWH??0H??H??3???X?
?H??H?D$hH?????@H??H?H?s?kH?k H?k(H?k0H?k8H?k@H?kH?kPH?KH??PxLc?L?D$`H?K8H+K(H??k(???H??H??H??H???H?L;?vH?Cy
?5??L;?w'H?T$`H?K(??????H??H?H??H?\$PH??0_^]????????H?\$H?l$ H?T$H?L$VWAVH??@A??E??H??H??H?H??tH?H???H?\$`H??$?H?D$ D??E??H??H???C??H??t
H?H???P?H?H??t
H??PH?H??H?\$pH?l$xH??@A^_^?????????L?D$H?T$SVWH??0I??H??H??H?D$XH?D$h3?H?L$XI?H??t
H?H???H?L$XH??tH??PH?H?D$X3?H?L$PH?[ H??t
H?H???H?L$PH??tH??PH?\$PE3?L?D$XH?T$PH??????H?H??t
H??PH?H??H??0_^[???????????H?\$H?t$WH??0H??H????03??ʐH?D$HH?????@H?
H?H?xH?pH?p H?p(H?p0H?p8H?p@H?pHH?pPH?pXH?p`H?phH?ppH?pxH???H???H???H???H???H???H???H???H???H???H???H???H???H???H???H???H??H??H??H??H?? H??(H?H??H?\$@H?t$PH??0_?H?3H??H?\$@H?t$PH??0_??????????????H?\$WH?? H?AA??H????@H?A?DH???@??u??H?H????@??u??E3?A????4?	H?\$0H?? _??????????H?\$H?t$WH??0H?AA??A??A??H????@H?A?DH???@??u??H?H????@??u??E3ɉ|$ A?????H?\$@H?t$HH??0_??????H?AH????yP?1???????????H?\$WH??H???H3?H??$?H?y8H??H??tC?y@u
H?B0?xt3H?I(H?T$`H????H??H?L$ ?E9H?S(L?L$ L??H???QH??$?H3??3H??$?H?İ_?H?y tL??H?Q??????????????@SH?? H??H????K0?&???t3????????H?t$0H?|$8L?t$@?????t????{?3?L????????????A???
??	H??M?vH??r?L?t$@???H?t$0?????@8??t??	??"?	?D@8??t???	???	?q@8??t???	????	H?H???????u??
@8??t???	????	??????	??????	??????	D???D???????????????w?????????????????????H?H???H?E?H?L$8H?L$`3?H?L$8H???H??t
H?H???H?L$8H??tH??PH?t$8(??fD$PH?D$PH?D$pH?D$`H?D$x(D$pfD$pL?D$0H?T$pH?M?辨???(EfE?H?E?H?EH?E?H?E(EfEL?D$0H?UH?M?艨???H?D$8H?D$ L?M?L?E?H?U?H???U??H?U?H???S???H?M?H??tH??PH?E?H?M??nC?H?M??dC3?H?D$@H?}?H??tH?OH??H?D$@H??t
H?HH??PH?|$@L??H?T$@I?O ??I?G`H??ulW??W???A?H???H??覣???H????D
?L??I??vH??H?????2??D$0?9	L?E H?? H??p??W???M? I?H???H?E?H?L$8H?L$`3?H?L$8H??pH??t
H?H???H?L$8H??tH??PH?|$8(EpfEH?EH?EpH?E H?Ex(EpfEpL?D$0H?UpH?M??????(?fD$PH?D$PH??H?D$`H??(?f?L?D$0H??H?M?薦???H?D$8H?D$ L?M?L?E?H?U?I???UАH?U?H???Q???H?M?H??tH??PH?E?H?M??{A?H?M??qA3?H?D$@L?}?M??tI?OH??H?D$@H??t
H?HH??PL?|$@L?0?H?T$@H?M???H?M?H?AhH??ulW??W???A?H???H??诡???H????M?L??I??vH??H?????2??D$0?H?U?H???葝??A?H??H?L$@?>????H???H????O???H?L$@H??tH??PH?D$@H?E?H?@pH?E?3?H?D$8L???M??tI?OH??H?D$8H??t
H?HH??PL?|$8H?T$8H?M??H?U?H????????E3?H??H?M?覆???H???H???fO???H?M?H??tH??PH?E?H?E?H?@XH?D$@3?H?D$8L???M??tI?OH??H?D$8H??t
H?HH??PL?|$8H?T$8H?L$@?H?E?H?HpH???H?HXH???L???@?I?MH??H????PI?MH??H?? ?PI??H???L;?u?H?U?H?M??????A?H??H?L$8誅???L?(M??tI?EI???I?E??3?H?D$@H?E?H?L$8H??L???tH??PH?D$8H?U?H???藛??A?H??H?M??E????H?H?M?H??tH??H?E?H????3?H?E?H?D$pH?M?H??tH??PH?E?H?E?H???H?E?3?H?D$8H?L$@H??tH??H??H?D$8H??t
H?HH??PH?D$@H?D$8H?T$8H?M??H?E?H?@`H?E?3?H?D$8H?M?H??tH??H??H?D$8H??t
H?HH??PH?E?H?D$8H?T$8H?M??RH?E?H???H???H?H`H???L???@ff?I?$H??H????PI?$H??H????PI??H???L;?u?H?E?H?@xH?E?3?H?D$8H?L$@H??L???tH??H??H?D$8H??t
H?HH??PH?D$@H?D$8H?T$8H?M??H?E?H?@hH?E?3?H?D$8H?M?H??tH??H??H?D$8H??t
H?HH??PH?E?H?D$8H?T$8H?M??AH?E?H?HxH???H?HhH???L???I?H??H?M?H????PH?M?H?? ?PI??H???L;?u?H?E?H?L????PPH??A?йX?H??H?D$8H?D$PH??L?????H?F?H?H?AH?D$`3?H?H?PH?PH?Q(H?Q0H?Q8H?Q@H?QH?QPH?E?H?AH???v???Hc?`H?H?E?H?H(H??H?H??H??P0H?L$8?A(H?AH?E?H???;???Hc?`H?H?E?H?@(H??H?	H??H??P0Hc?H?U?H?L$`H?AH+H;?vH????????H;???H?U??????	H?D$8H?E?H?L$8H???H?H???????tH?E?H?H????????D$0u?D$0H?M??????L$0??IH?M??{???H?U?H???=??H?E?H?H???????tH?E?H?H???????uIH?E?H?HXƁ?H?H`Ɓ?H?HhƁ?H?HpƁ?H?HxƁ?H???Ɓ?H??t1H??H?\$`3?H?]`H??tH???J?H?L$`?E3????????t?M??u??Uܹ???(??U???????D$0H?E?H??tH?HH??P?H?D$@H??tH?HH??P?M??tI?OH??P?H???H??tH?HH??P?L?}?M??tI?OH??P?H??t
H?H???P?H?}?H??tH?OH??P?H??t
H?H???P?H????t$0H?E?H??tH?HH??P?M??t
I?I???P?L?u@M??tI?NH??P?M??tI?$I???P?L?u8L??PM??tI?NH??P?M??tI?EI???P?E3?M??tI?L$H??P?H??t
H?H???P?I?%I?$I?$IH?}HH??tUL?uPI;?tH?O?o??H??8I;?u?H?}HH?MXH+?I??H??H??L??I???L?H??H?MH??:W??EHL?mXH?} H??tWL?u(I;?tDH?O?7o??H??8I;?u?H?} H?M0H+?I??H??H??L??I???L?H??H?M ?c:W??E L?m0H???H??tSL???I;?tH????n??H?? I;?u?H???L???L+?I??H??H?????V??L???W????H??XH??tSL??`I;?tH???xn??H?? I;?u?H??XL??hL+?I??H??H??X?kV??L??XW???`H???H??tTL???I;?t?H???n??H?? I;?u?H???L??L+?I??H??H????V??L???W????H??H??tTL??I;?t?H???m??H?? I;?u?H??L??L+?I??H??H???U??L??W???H?? H??tTL??(I;?t?H???Xm??H?? I;?u?H?? L??0L+?I??H??H?? ?KU??L?? W???(H??8H??tTL??@I;?t?H????l??H?? I;?u?H??8L??HL+?I??H??H??8??T??L??8W???@H??tH???F?H????@??H?? H3???L??$0I?[8I?s@I?{HI??A_A^A]A\]???????(a??"a??a?????????????????H?I H???S????@SH?? H??H?I H??t?Y???(??u
H??H?? [??D????u
H??H?? [?F??H?? [??????????H??(H?????????A??uH??tH???P3?H??(ËA?H??(??H?????????????????????@SVWH??H?^?H3?H??$?H??H??H?IH?T$`I??H????H??H?L$ ??L?L$ L??H??H???8H??$?H3??H?İ_^[??????????????@SVWH???H?޴H3?H??$?H?y8I??H??H???"H?I(H??Px?V?O@?Q;??H?O(H??$pH????H??H?L$ ?"H?F0?xuxH?G(L??H??L???I?A@L?L$ ??0?????u
H??苼????A???w
H???vv?????u
H????????A?H?σ?w
?O????m?????cH?OH?yxxxxxxxH+OH??H??H??H???H?HcGDH;??3H??$??H??$??H??$??yH??$?lH??$?_H??$(?R?H?D$p??fDH???KH???@?C?H?K?@?C?H?K?@?C?H?K?@?H?H??u?H?WH;W thH?D$`H???H???B?H?J?@?B?H?J?@?B?H?J?@?B?H?J?H??u?H?G?L?D$`H?O???H??$?H3??H???_^[???@SVWH??H?n?H3?H??$?H?y I??H??H??tAH?IH??Px9Ct2H?KH?T$`H????H??H?L$ ??L?L$ L??H??H????H??$?H3??H?İ_^[????????L??AVH??H?ݱH3?H??$PL?Q@H?	? ? ?L?I8M??M+?L??I??I?H??	H??H???H??I?[I?s ????I?{?M?k?E3?A??M;?t$A???;?M?A??;?N?I???M;?u?I?^+?H??????L?L$@??L?D$HHc?`H?C(H?H??H?H??L?l$@D?l$HH?XID?H?L?PI?F8??????L$ H??A?҄??H?L$@Hc?IVLc?L??$`??Q	H?H???P I?F@M?~8H?D$@L;???H??$?L??$p@I?NH?T$PH????A?? ??u1A??A?A??,?(I??0H?xptYA??Q??u?(???????A???w
H??艈?????u
H????????A?H?΃?w
??????h????H?I0H??k(???H+N(H??H??H??H???H?HcFHH;??ZH??$@??H??$P?	?H??$`???H??$p???H??$????H??$?????H??$???fDH???OH???@?G?H?O?@?G?H?O?@?G?H?O?@?H?H??u?H?V0OHH;V8t{H??$?H???H???B?H?J?@?B?H?J?@?B?H?J?@?B?H?J?H??u?HJ@ B H?F00?L??$?H?N(????H??$?H3??y?H??$H???_^]???????H??USVWATAUAVAWH??8???H??)p?)x?D)@?D)?x???D)?h???D)?X???D)?H???D)?8???D)?(???D)????H?g?H3?H???D?L$`M??L??H??H???????tG??uCA?H?IH???H??H??tH?H?V?P???LH?NH????H?8?5?E2?H??@H?!???H?D$(H?E???H?D$ A?E??H??????E3?E??tPH?NH????L??Hc??H?H??tH??H??݀H??tH??PL??݀I?H??݀??L?l$Xfo??	D$@EW?H?D$PH?N?????L?D$@H?T$XH???-???????H?|$Xt0?GXA.?ziug?G\A.?z\uZ?G`A.?zOuM?? tDH?N????E3?H?U?H???/???L?0L?(H?L$XH??tH??PL?t$XH?M?H??tH??P?Lc??H?L$XH??tH??J????H??tH??PH?D$XJ?????G?D$0?? ??u>L??0A?}5t*??u&H?NH????H?8?9H??0L?hp??M?m`?H?N????L??2?M???
H?NH????W??L???2??2??G?2?$2?A??GA?F?GA?F??tA?FH?^I???=?L???3?D??8E??~23?fD???A?D???A?D,??H?ID??8A;?|?L???I??H?N??H?NH???P?D-Q
?D%??	??u
E(?E(??E(?E(?H?NH???`??uA(??A(?E(??D$8?Du??D}??E??Dm??? ?JEAGAW AO0E(?D??DD???(???D???A(????D???A(???D???H??0?q??0D?@?PD?`E$AD$AT$ AL$0E(?D??DD???(???D???A(????D???A(???D???H?M???}?DE?u?DM?H?NH?H?T$p???H??H??p???(?p???(???U????ɪ???Dž???H?NH???p?D$p?Gd?D$tH?N?B?????xuE(??whH?FH???H??H??P ?0?@H?P@ ?`H0H?FH???H??H??P E?@@M?HPE?@`M?HpH?FH???H??H??P DE?D??H?FH???H??H??P |$p????A???'????9|$p??H?FH???H??H??P ??????E3?D9pvEE3?ff?H?FH???H??H??P H??Hc?AD>t??I??M?vHcGpL;?r?E3?D9?t??E3?DH?FH???H??H??P H??Hc?H?H??xI?HJ@ B H0J0@@B@HPJP@`B`H??HpJ?????J??B ??J0??B@???I??I???Hc?tL;??@???H?FH???H??H??P(DH?FH???H??H??P(xH?FH???H??H??P(p ?t$@?|$DD$H?H?FH???H??H??P(??????????????@0H?FH???H??H??P(?@@H?NH?H?T$p?PHH??H?? ?x?(? (?Y?(???U(?????X??X?W????R???Y?)\$pf? (???UD(?D?êDž???H?NH??PX???fDn?E[??5
?D^???????fDn?E[??D^΋?????fDn?E[??D^???fDn?E[??D^?H?NH??Ph???fn?[??^?)E???????fDn?E[??D^??????fDn?E[??D^???fDn?E[??D^?H?FH???H??H??P(??(L$p???????????A????@PH?FH???H??H??P(E????E?E????E?E??'?E?E??9Dx`H?FH???H??H??P((E?????A?????A???'?A???9@p??H??0H?xpto??ufH?NH?H??????H?FH???H??H??P(????????????????E3?D9pvEE3?ff?H?FH???H??H??P(H??Hc?AD>t??I??M?vHcGpL;?r?E3?D9?t??E3?DH?FH???H??H??P(H??Hc?H?H??xI?HJ@ B H0J0@@B@HPJP@`B`H??HpJ?????J??B ??J0??B@???I??I???Hc?tL;??@????\$0I?MH??P0H?FH???H????PH?^H??????Hc?`H?H?C(H??H?	???й????H?^H?H????@???L?sH?H?M?l???f?H?MP?]?EAGAW AO0E(?D??DD???(???D???A(????D???A(???D???H?M???}DE u0DM@E$EEGA(?A??UAY?A A(?A?ʪY?Aw0A(?A???Y?E??EY?DX?DX?DX?Al$(???UAY?(??ͪY?(????Y???AY?X?X?X?Ad$ (???UAY?(??̪Y?(????Y???AY?X?X?X?A\$0(???UAY?(??˪Y?(????Y???AY?X?X?X?E(?D??DD???(???D???A(????D???A(???D???H?M????}PDE`upD???D???D??fnG[????fnO[????fnG [????fnO$[????G(??H?FH???H??H??P H??H?EHI@ A H0I0@@A@HPIP@`A`@pAp????????????3?A? H????B	fD~?fD~?;?uW????HDž?Dž?H?N?Z?????xtA(??A(????Dž0H?NH?H?T$p?PHH?T$pH?L$p???D$p?L$t?T$xDž???????????????????????H?NH??PXfo5B
fnW?f`?fa?[?^????H?NH??PhfnW?f`?fa?[?^????fnG[????fnO[?????G8???O@???D??D?fnG<[????OD??`?GO?D$ D?OND?GM?WLH?M????fnW?f`?fa?[?^???p?GH????OP????Wd?o`?g\?_X(??Y????(??Y????(??Y????A.?zuA.?z
uA.?ztE(??D???D$@????L$D???D$H???D$8????D??H?FH???H??H??P(H????f?IHA @ I0H0A@@@IPHPA`@`H???IpH?H???H??u?IH???????H?MP??EAGAW AO0E(?D??DD???(???D???A(????D???A(???D???H?M??^?}DE u0DM@E$EEGA(?A??UAY?A A(?A?ʪY?Aw0A(?A???Y?E??EY?DX?DX?DX?Al$(???UAY?(??ͪY?(????Y???AY?X?X?X?Ad$ (???UAY?(??̪Y?(????Y???AY?X?X?X?A\$0(???UAY?(??˪Y?(????Y???AY?X?X?X?E(?D??DD???(???D???A(????D???A(???D???H?M???}PDE`upD???D???D??HDž?fnG[????fnO[????fnG [????fnO$[????G(??H?FH???H??H??P H??H?EHI@ A H0I0@@A@HPIP@`A`@pAp?????????????\$0???A?G?E??D$8?E??Dm?fnG[??E?fnO[??M??G8?E??O@?M??Du??D}?fnG<[??E??Wd?o`?g\?_X(??Y??E?(??Y??M?(??Y??E?A.?zuA.?z
uA.?ztE(??t$@?|$DD$HEH?FH???H??H??P(E?M?HE?@ M?H0E?@@M??ɓ?A???9HPE???????????@`E@p?????fD~?fD~?;?uW????HDž?Dž?H?N?e?????xtA(??A(????Dž0fnG[????fnO[?????G8???O@???D??D?fnG<[????OD??`?GO?D$ D?OND?GM?WLH?M???fnW?f`?fa?[?^
??p?GH????OP????Wd?o`?g\?_X(??Y????(??Y????(??Y????A.?zuA.?z
uA.?ztE(??D???D$@????L$D???D$H???D$8????D??H?FH???H??H??P(H?????IHA @ I0H0A@@@IPHPA`@`H???IpH?H???H??u?IH????L?s@A?V8???蹗A?F0??,I?????H?N????H??H???H??tH??H??PH??tH??RHǃPH???H??PH???H?N?Ϸ??H??XH?^?D$`????Lc????????????????H?K??@H?S???D?A???,DE?H?H????@??u%I??H??Hc?,H??L?IMɍҹ?3H?H????@??u+M??I??Hc?,L??I?????E?????	H?FHǀ?I????3ҹ???Y?3ҹ???M?I????H?NH?????????H?L$XH??tH??PH?D$XL?
????D??H???????H???H3??@?L??$?A(s?A({?E(C?E(K?E(S?E([?E(c?E(?x???E(?h???E(?X???I??A_A^A]A\_^[]??????????????H?\$ VWAVH?? H?y M??I??H??H????Ic????H?CH?l$@L?d$HL?|$PL???I?B@??0?????uqE?xD?a?E??u9?~LuH??H?KX?X??HcH?K@?L??HcH?k(H???}	??3?H???s
???H?k(H??H?????E;??M??H??H??蛼????B???wH??H???cz??????unE?xD?a?E??u9?~LuH??H?KX??
??HcH?K@?
??HcH?k(H??????3?H????	???H?k(H??H???$??E;???M??H??H???-}???}?B???w
H??H???????hE?xD?a?E??u9?~LuH??H?KX?G
??HcH?K@?;
??HcH?k(H???l??3?H???b	???H?k(H??H?????E;?uM??H??H???/??L?d$HH?l$@L?|$PH?\$XH?? A^_^??@SH?? H??H????=??H???????H????H?H?? [H?`??????????????@USVWAVH?l$?H???H??H3?H?E'??H??E3?D?t$0H??H??ufL?u?H?E?H?D$ E??D??H?T$0H?N ?6?H?8L?0H??H??tH??PH??H?L$0H??tH??PL?t$0H?M?H??t1H?U??H???L?uL?M???Z?H?MH??tH?U?H;?H????P ??t+H??H??tH??H??H?E?H?M??H?]??I??H?]?L?u?H?M??I?Ɖ|$0L?1H?D$8H?T$8H???v????@??t????|$0H?M?H??tH??P?@??t????|$0H??t
H?H???P?@??tH?M?H??tH??P?H?M'H3??*?H???A^_^[]?????????????H?\$WH?? H??H??H??H??t
H???H??H?\$0H?? _?????????@SH?? H?H?ٹ H??H?PHDѹ????X?ǃ,H?? [?????????H????????????H?\$H?t$WH?? H???H??H??Ic?Ic?H??P(L??H??H?H?\$0H?t$8H?? _?+	????????̈????????????H??SUVWATAUAVAWH??h??L??3??p?pH?P????ɚ	H??$???????	A?_PI?O@H??tH???PI?w@I?O(I?W0H;?tM?G(?????I?G(I?G0I???̰????`I??辰??ǀdAi_P`??$??(???H??H?D$0H??t0W??@?@H???H?GH?wH?wH?w ?H??H?wH?t$PH?|$XHc?L?fH?I??H+?H;?sH??7v9H?FH+?H;?vL??$?H??H???A???H+?L??3?I????0	I?H?FAiGP`Hc?H?????????H??H??H??H???R?E??(E3?I?O ??I?G@?????H????AiOP`Hc?H??H??H??H????E??(E3?I?O ?աI?GHH????A??(??u
I???t???
??uI???E??E3?I???:???D9?d?TH?5n?fD??R?H??H?D$0H??t!W??@?@H?0H?@?3?H?sH?t$@H?\$HW??D$0H??t	??GH?t$@H?D$PH?D$0H?|$8H?D$0H?D$ A?D??$?A??I?O ?0?H?H?H??tH???PH?>??I?W0I;W8t%3?H?H?BH??t	??CH?t$@H?2H?ZI?G0?L?D$@I?O(?c????H?L$HH??t0????A??u$H?\$HH?H???????C??uH?L$HH??PA??I???????D;?dH?5'????????$?????H???$?????7??H??t'????G??uH?H?????o??u	H?H???PH??hA_A^A]A\_^][?H??t?????C??u?H?H???????C??u?H?H???P??????????H?\$D?L$ L?D$H?L$UVWATAUAVAWH??0Ic?L??L??D??H??H?~L?H??H??I+?H??E3?H;?sJH?,?fDI??$???5??L?|(PA??H?mH?~L?H??I+?H??Ic?H;?r?M??$?L??H??I+?H??H;?s>I?,?H??H;?t,fDH?H??t
H??PH?H??H;?u?M??$H?n?9v7H?FI+?H??H;?vL?D$ H??H???K???H+?L??H??H???g??H?F3?9?$???H??$?A?PL+?3?H?H??t?X0?????3??ӹ?
???	H?D$pH???J?,&L??L+?$?H?>t9?4??H?(I?H?H??tH??J?3H??tH??PJ?3H?J?3?'?w4??H?(I?J?3H??tH??PJ?3??I??????t??I???}??ȋ?贍??H??;?$??&??????H?\$xH??0A_A^A]A\_^]?S????H??H??H?PHDѹ????a??H?\$H?t$WH?? H???H??H??Ic?Ic?H??P L??H??H?H?\$0H?t$8H?? _??$	?????????H?\$H?l$H?t$WH?? H??I??H?	I??H??H??tOL?SH?yxxxxxxxL+?I??H??H??H???H?Hi?H??rL?A?H??'I+?H?A?H??wL?vH?nH?l$PH?? A_A^^???H??tH??H?`???????????????H?IH??tH??H?`???????????@SH?? H?YH?H??tL?CL+?H?????3?H?H?CH?CH?? [?????????????H?\$H?t$WH?? H??H?H??tUH?yH;?tH?K?d7??H??8H;?u?H?NH+H?%I?$I?$IH??H??L??I???L?H?H???3?H?H?FH?FH?\$0H?t$8H?? _??H?\$H?t$WH??H?׀H3?H?D$pH??H?1H??t^H?YH+?H?L$0??????\$ H?t$(H?H8H??tZH?L?D$ H?T$(?PH?L$hH??tH?H?T$0H;????P 3?H?H?GH?GH?L$pH3????L??$?I?[I?s I??_?蓠???????????????H?\$H?t$WH?? H??H?H??t=H?yH;?tH???%6??H?? H;?u?H?L?FL+?I??H???&??3?H?H?FH?FH?\$0H?t$8H?? _??????????H?\$WH??H??H3?H?D$pI??H??H?L$0???i?0?L$ H?|$(H?H8H??tJH?L?D$ H?T$(?P?H?L$hH??tH?H?T$0H;????P H?L$pH3????H??$?H?Ā_?耟????????????H?\$WH??H?H3?H?D$pI??H??H?L$0?t??i???L$ H?|$(H?H8H??tJH?L?D$ H?T$(?P?H?L$hH??tH?H?T$0H;????P H?L$pH3??2?H??$?H?Ā_????????????????H?\$WH??H?l~H3?H?D$pI??H??H?L$0?T??k?8?L$ H?|$(H?H8H??tJH?L?D$ H?T$(?P?H?L$hH??tH?H?T$0H;????P H?L$pH3???H??$?H?Ā_??C????????????????H??(H??Ii?H??rH?H?H??'H+?H???H??wH??H??H??(????(????????????????H?\$H?l$ VWATH??@I??H??H??E3?H??????H??D8$u?H?OM?@H??I+?H;???L?t$`I?H?GL??L?|$hH??vL?7H?I;?vK?H;?wL;?wM???M??L+??L??I??I?I???	M??H??I????	L??I?M+?K?>H???	L?|$hL?t$`?H?\$(E3?E3?H?t$ H??H????S??H??H?\$pW?EL?eH??L?eEOMH?l$xL?gH?GD?'H??@A\_^???????@SH??H?P|H3?H?D$pH?H?L$0?{?????L$ H?H8H??tCH?H?T$ ?PH??H?L$hH??tL?H?D$0H;???A?P H??H?L$pH3??|?H?Ā[??2???????????????H?\$H?t$ WATAUAVAWH??H??{H3?H??$?M??L??H??H?L$8H?M??L+?I??H?AH+?H??H?????????H;??*L?xH?IH+?H??H??H??H??H+?H;?wH?<
I;?IB?H?|$(H?L$@?q?????L$ H?H8H????H?H?T$ ?PH??H?D$0H?L$xH??tH?L?B H?D$@H;???A??H?D$xN?4?A?EA?L?CH?H??M;?uL+??M??L+???	I?NL?CM+?I???	?H?H??tL?CL+?I??H???RH?3J??H?KH??H?KI??H??$?H3????L??$?I?[@I?sHI??A_A^A]A\_???????芚??????H?\$ H?T$H?L$VWAVH?? L??H??H?qH+1H??????H??H?D$PL?CH?L+?H????	?M?6H?H??tL?CL+?I??H????QH?;H??H?CJ??H?CH?\$XH?? A^_^??????????H?\$H?t$ WAVAWH??H??yH3?H??$?H??H??H?L$8H????????H;???L?yL+9I??H?IH+H??H??H??H??H+?H;?wH?
H;?HB?H?\$0H?L$P?Y???????L$ H?H8H???LH?H?T$ ?PL??H?D$HH??$?H??t!H?L?B H?D$PH;???A??3?H??$??3?I??H??I?H?D$@H?D$(H??I+?t'W?H?PH?@?H?? H?D$(H??u?L?GI??H?I;?tE@f?W?H?QH?QHIH?PH?@?H?I H?? I;?u?H?H??t"L??H?W?T???H?L?GL+?I??H???>??L?7H??I?H?wH??I?H?_H??$?H3??e?L??$?I?[0I?s8I??A_A^_??w???????H?\$H?L$UVWATAUAVAWH??H??PA????L??E3??AH???H?H?YH?]XL?+L?k?(?Z?H?H?@H?@f?@H?A?v M?nHE?nPI?^XH?]XL?+L?k?(?!?H?H?@H?@f?@H?A?Fh@?׋??qW??uA?Fh?F??????uI?V$??1H?UX????:?	?uXH?;H?GH?E?D?m?H?πxu.?H?E??x}
D?m?H?@?
?E?H??H??xt?H?fffffff?yu?y~LH9C??H?]?L?mع(?S??L?hH?8H?xH?xf?@E?)E?L??H?U?H???o??H?ȉq H?UX????}?	?uXH?;H?GH?E?D?m?H?πxu'H?E??x}
D?m?H?@?
?E?H??H??xtـyu?y~ZH?fffffffH9C?H?]?L?mع(蝾?H?@H?8H?xH?xf?@E?)E?L??H?U?H????n??H?ȉq H?UX????Å	?uXH?;H?GH?E?D?m?H?πxu'H?E??x}
D?m?H?@?
?E?H??H??xtـyu?y~ZH?fffffffH9C?dH?]?L?mع(???H?@H?8H?xH?xf?@E?)E?L??H?U?H???6n??H?ȉq H?UX?L??	?	?uXH?;H?GH?E?D?m?H?πxu-fDH?E??x}
D?m?H?@?
?E?H??H??xtـyu?y~ZH?fffffffH9C??H?]?L?mع(?#??H?@H?8H?xH?xf?@E?)E?L??H?U?H???vm??H?ȉq H?UX?r??I?	?uXH?;H?GH?E?D?m?H?πxu-fDH?E??x}
D?m?H?@?
?E?H??H??xtـyu?y~ZH?fffffffH9C??H?]?L?mع(?c??H?@H?8H?xH?xf?@E?)E?L??H?U?H???l??H?ȉq I?VP??B{?
y??tW???H??H?EXH??t'D?(D?h??x??tH?ӹ?F{????C?I??I?VHI?^HH??t
I?NH???I??H??$?H??PA_A^A]A\_^]??Bo????3?9k tH?S ??1q?k H?K@H??t
H??PH?k@H?K(H??t9H?S8H+?H??rH??'L?A?I+?H?A?H??wJI?????H?k(H?k0H?k8H??|	H?C@??t
?PH???òH??H?\$0H?l$8H?t$@H?? _??V??????????????H?\$H?l$H?t$WH?? ??H??H?Q`3?H??t L?ApL+?I??H??`?(AH?k`H?khH?kpH?KXH??t
H??PH?kXH?KPH??t
H??PH?kPH?KHH??t
H??PH?kHH??{	H?C@??t
?xH?????H??H?\$0H?l$8H?t$@H?? _??????????????H?\$H?t$WH?? ??H??H???H?H???H?A?yvH?Q??o?CH?K H??tH??PH?C H?KPH??tH??PH?CPH?K(L?
cX???A??O??H??z	H?C@??t
?XH???,?H??H?\$0H?t$8H?? _??H?\$WH?? ??H?????????t
??H????H?\$0H??H?? _?????????????H?\$H?t$WH?? ??H??H???H?H???H?AH???H??tH??P?/?{8vH?S8???w	?C8H?S?C@H?kHH?kPH?kXH?k`H?khH?kp?H??H?\$XH??H??????uH?/H??tH?KH??P??H?CH??HD?H?H??H?\$@H?l$HH?t$PH??0_???????H?\$UVWAVAWH??@M??I??H??H??E3??X?ӢH??H?D$pH??te?@H???H?H?ʍH?GD?H?_ H??I??H?D$ L?
?\???A?H?O(?ת?L?HL?PH?O H??tH????I??H??$?I??H?L$pI?H??t
H?H???H?L$pH??tH??PI?H?D$pL?D$pH??H???J??uL?>H??tH?OH??P??H?GH??ID?H?H??H?\$xH??@A_A^_^]????????????????H?\$H?l$ VWAVH??pH??XH3?H?D$hI??H??H??H?T$ E3???萡H??H?D$ H??tr?@L?p?@ ?@$?@(?@,?@0H?@4H?J?H?H?X?H?CD?sH??H?\$XH?l$`H?t$hH??0A_A^_??H?\$H?l$H?t$ WAVAWH??0E??A??H??H??E3?????H??H?D$PH??tr?@L?x?@ ?@$?@(?@,?@0H?@4H???H?H???H?CD?{H??tH?OH??P?? H?_H?E3?D??I??H???P H??ID?H?H??H?\$XH?l$`H?t$hH??0A_A^_???????????H?\$H?l$H?t$H?|$ AVH??0A??I??H??E3??0謚H??H?D$(H??t8W?@@ ?@H?DŽH?H?ՄH?CL?sL?s L?s(?I??H?\$(D??H??H???E ??uL?7H??tH?KH??P??H?CH??ID?H?H??H?\$@H?l$HH?t$PH?|$XH??0A^?H?\$WH?? H?3?H?AH??H+?H??H??t"????x?XH?H??H?GH+?H??H;?r?H?\$0H?? _??H?\$UVWATAUAVAWH?l$?H???H??PH3?H?EL??H?U?L??H?M?3?H9:?H9z?H?rH?u?H????L?v@I?^P?XH?E?M??HD?H9;???}??)V??tH?U??????`	I?OH?	?VI?$H?P?H??HDы????;VI?D$H?PA? H??ID׋????VI?NM??IDϋ	?GYH?H?HH+HH??A9L$(ALL$(D??Hc?H?E?????H??I?FX?`M??HD?H?E?A?8H?u?ff?H??????`A???XM?t?0I?F?M??HD?H????A?????EUI?F0M??ID?I?N8?@HDʋ?	??_	I?FM???HD?E?A9???uA?&?x?'DE?A?&?HM?A?&E??A?/?A9|?p?)DE??F ?Ⱥ(?????tF??
??^	E?Ǻ(??
??^	E?ƺ(??
??^	E?ƺ(??
?}^	?S?L?$?bWE?Ǻ(L?}?A?L?$?LWE?ƺ(A?L?$?:WE?ƺ(A?L?$?(WA?T?$A???{TI??A?8A??H??H;]?H?E??~???H?u?M?l$ M??tI?EI???I????L??L?m?M?|$M??tI?I???I????L??L?}?H?^@H??tH?H???L?S?L?U?H?CPH?E?L?Kp?L??H?}?A?x?XL?M?L?U?H??L?I?H0I+H(H?%I?$I?$IH??H??H??H???H???L??H?u?I?%I?$I?$Iff?I?P(I?I?????xP???uI?????u@I??H??t8D?B(E??uLcB0L@?R,?.V?A??uLcJ0LHE3??R,?#VL?M?H??I??8L?I?H0I+H(I??H??H??H??H???H?H;??p???H?u?L?e?L?U?M??tI?JH??P?M??tI?OH??P?M??tI?MH??P?H?NHH??tH??H?^HH?]?H??tH?H???L?s??L??L?u?H?VXH?M????M??tI?NH??P??}?H?U??F?\\	?F?}?	u-??u?D?Q\	??5??u?D?:\	????t??t΃?u?D?*\	??7\	?~4u?~5u
?q?\	??q??[	?~4tB?E??E??E??E??E??E??E??E?HcN8?L??????[	?N5??[	???~???y[	?E???E?
??E???E???E???}??E?fo???E??E?E?E?EHcF0?T??HcF,?L???6QHcF(D?L??HcF$D?D??HcF ?T??HcF?L???Q???Z	D??D?Nj׋F??u
?A????u
?D???
??uD?׺??I?D$D?HA??u
?A??E??u?A?A??$?E??$?A??$?Lc?A??A?ʃ?~?D$ ?Q??HZ	H?NXH?F`H+?H??H??t'@????x?TQH??H?NXH?F`H+?H??H;?r??xO??t	?M???O?H??t
H?H???P?H?MH3???H??$ H???A_A^A]A\_^]??????H?T$H?L$AWH??`H?L??E3?L??L?HL?@ H?gfffffffM+?I??L??I??I??H???L???H??$?H?l$XH?t$PH?|$HL?d$@L?l$8L?t$0A?3??J???v(??t$??u????u????u???D?I??PI??u?E3?D??$?E3?ff?I?3?3?@2?L?pI?B?4?C?.??u??K??u
?@???B(?A@H?J0H??tH??H?OHH??t
H??PH?oHH?C0H?GHH?K8H??tH??H?OPH??t
H??PH?oPH?C8H?GPH?K@H??tH??H?OXH??t
H??PH?oXH?C@H?GXH?_HH??tH?H???L?s?H??LD?L??$?H?_PH??tH?H???L?k?H??LD?L?l$ W??D$(H??H?l$8DŽ$?L??M?EI?M I+?H?gfffffffH??H??H??H???H?H?\$0??L??H?gfffffffI?PI?H?zvH?A?N ?TL??$?H;?t
?H??H?\$0?L??$?H??H?L$(?????H?t$8H?\$0I??I??PM?EI?M I+?H??H??H??H??H???H?L;?r?H??$?H??`H?D$(H;?t1H?H??tL?GL+?I??H???@?H?D$(H?H?_H?wH???H?l$(H??tH+?H??L??H??H?L$(?	?M??tI?MH??P?M??tI?NH??P??H??HA_A^A]A\_^][??????H?\$ UVWATAUAVAWH?l$?H???H??BH3?H?EI??H??L??L?E?E3?A??L?C M??tAA???H????H??H???]@ E??@?????H??Hc?I;?r?H?H????H?@H?? ???????W?E?W??M׹0??H?E?fox?E??w
?wH??w?@ ?@(H?Uǹ?K??H?U?H??v2H??H?M?H??H??rH??'H?I?H+?H???H?????NJ???H?M?? ???H??L?@H?HH??I+?H????I?@H?FL??H??vL?>H?wA?H??vI;?vK?H;?wL;?wM???M??L+??M??I?OI??I????M??H??I???
?K?'M+?H?SI?M??????+A?L?t$(H?svH?\$ E3?E3?A??H??????H??W?E?W??M?E?NM?L?nH?F?H?M?H?U?H??H+?H??r7H?AH?E?H?]?H??HG]?H?A?H?vH???\??CH?E??!H?D$ L?
?uE3??H?M???#??W?E?W??M?E?HM?L?hH?@?H?Uǹ?f??H?U?H??v1H??H?M?H??H??rH??'H?I?H+?H???H??????fo??	?E??E?H?U?H??v9H??H?M?H??H??rH??'H?I?H+?H???H????薈fof?	?E??E?H?U?H??v2H??H?M?H??H??rH??'H?I?H+?H???H???J?J????H?M?裶??H??L?@H?HH??I+?H????I?@H?FL??H??vL?>H??tA?H?`tI;?vK?H;?wL;?wM???M??L+??M??I?OI??I????M??H??I????K?'M+?H?SI?M???z??+A?L?t$(H??sH?\$ E3?E3?A??H???`??H??W?E?W??M?E?NM?L?nH?F?H?M?H?U?H??H+?H??r7H?AH?E?H?]?H??HG]?H?A?H?_sH??????CH?E??!H?D$ L?
=sE3??H?M??D!??W?E?W??M?E?HM?L?hH?@?H?Uǹ???H?U?H??v1H??H?M?H??H??rH??'H?I?H+?H???H???k?e?fo5?	?E??E?H?U?H??v9H??H?M?H??H??rH??'H?I?H+?H???H???%??fo?	?E??E?H?U?H??v2H??H?M?H??H??rH??'H?I?H+?H???H?????ͅ??HH??I?O(?&???H?H??tH??I?OPH??t
H??PM?oPH?I?GPI?W??qDA?uH?H??t	H??PL?/2?? H?U??????L	A?W?@??eBE??L9s vXI???8@H???H??L?H0H??LD?A????D?l$ E?	?@?A??
??CA??H??Ic?H;C ?8r?L?M??tD?l$ E?I0???@?A??
?CH??I?O(?"???H?H??tH??I?OPH??t
H??PM?oPH?I?GP?E???E??E??E?H?U?K ??B?U??@??vA?H?H??t	H??PL?/?H?MH3?薋H??$H???A_A^A]A\_^]???????A?????????????????????????????????@SUVWATAUAVAWH??XH??:H3?H?D$@I??M??L??H??I?	H??tH??H?KX3?H??t
H??PH?sXH?H?CXI?VI+H??H???2I?EI+EH??H???H?K(?WH??H?K(H?C0H+?H??H??tPL??H??ff?I?H?I??????f?I??B84u?I??H??H??I?? H?K(H?C0H+?H??H;?r?I?UI+UH??H?K@??H?K@H?CHH+?H??H??tHL??H???I?EH?I???????I??B?<u?I??H??H??I?? H?K@H?CHH+?H??H;?r??K ??t?@H?C`H;ChtH?ChH?CxH;??tH???H???Y????W?D$ W??L$0? ???H?D$ fo?n?D$0Gn?Ln?@?
In?H@?pH?T$ ??3?H?T$8H??v.H??H?L$ H??H??rH??'H?I?H+?H???H??w%豁2?H?L$@H3????H??XA_A^A]A\_^][??H?S?H?O?H;?tH?;vH?L?C???H?O(H?SH;?tH?{ vH?L?C??C(H??P?GHH??u?L?|$@H?\$H?H?? A^_^Ã9????????????@SH?? H?YH??{ubH?K H??H?C?xt"H?C?xuH;Xu
H??H?@?xt?H???'H?H?؀yu@?H?H??H?Ȁxt?{t?H?? [??????@SH?? ?y H?Y tH?ӹ?S6?H?? [????????@SH?? H?ًI ??t?K6H?C`H;ChtH?ChH?CxH;??tH???H?? [????@SH?? ?yH?YtH?ӹ??5?H?? [????????D?AH?Q?4???????????????????????D?AD?Q@????????H?\$H?t$WH??PH??H?yH?7H?FH?D$03҉T$8H??8Pu(H?D$0H9X s
?T$8H?@??D$8H??H?8Pt?8QuH;Y sTH?fffffffH9GtTH?|$ H?T$(?(??v?H?X H?0H?pH?pf?@D$0)D$ L??H?T$ H???9'??H?\$`H?t$hH??P_??D*??????@SH?? H?YH??{ubH?K H??PH?C?xt"H?C?xuH;Xu
H??H?@?xt?H???&H?H?؀yufff?H?H??H?Ȁxt?{t?H?? [??????A??E??D?L$(??D??A??H?%=	??????H?\$H?l$H?t$ ATAVAWH?? L?H??I?%I?$I?$I3?E??I??L??I?CXL?P0L+P(I??I??H??H??H???H???H?|$@??@ff?I?CXH?P(I?Cx????xV???uH?????uEH??H?H??t:D?D(E??uLcD0L@?T,?5?A??uLcL0E??LH?T,?5M?H??H??8I?CXH?H0H+H(I??H??H??H??H???H?H;??d???H?|$@H?\$HH?l$PH?t$XH?? A_A^A\??????H??8L?QL?YM??I?BH?Ȁxu-@L?I L;?sH?I?A?xtI;?LB?L??H?	?yt?A?xuI??xu?H;P sL??H??H?@?xt?L?T$ H?T$ L?D$(I??(D$ fD$ ???H??8??E??tnSH?? H??H??t\Ic?HK Mc???H?T$@?D$@????_;	?S????*1L?C ????S(A??A+??1?T$@????1H?? [?????????????E????H?l$VWAVH?? Mc?H??Ic?H??H????H?\$@?K0H?T$P?D$P???????:	?V????0??I??H?\$@L??t-H??A?"????!3L??H??H???3?????3?3HNH?????~<??L?FA???V DE?A+й???0?T$P????0H?l$HH?? A^_^?????????H?t$WH?? H?:Ic?H??u
2?H?t$8H?? _?H?\$0H?OIc?H???*H?T$PH??tH??L??HO??H?\$0?H?t$8H?? _????????????????H?\$ UVWAVAWH??H?6)H3?H?D$pM??L??H??H?iL;?w"H??H??vH?L?qH????A??H????????L;???I??H??H;?wH??H??H??H+?H;?wH?*H??H;?HB?H?^H?L$0??p??\$ H?H8H????H?H?T$ ?PH??H?L$hH??tL?	H?D$0H;???A?Q L?wH?wM??I??H???l?B?3H??vL??H?H?????H?H??H?L$pH3???xH??$?H?ĀA_A^_^]??hH??>$????????????????H?\$WH??H??'H3?H?D$pI??H??H?L$0??o????L$ H?|$(H?H8H??tJH?L?D$ H?T$(?P?H?L$hH??tH?H?T$0H;????P H?L$pH3??xH??$?H?Ā_??G???????????H?\$H?t$WH?? H?qH??H?H??H??H+?H;?sH??AvCH?GH+?H;?vL?D$0H??H??H?\$8H?t$@H?? _閽??H+?3?L??H????H?3H?GH?\$8H?t$@H?? _???????????????H?\$WH?? H?AH??L?H??I+?H??H??H;?s$H??H??I?L??H????o??H?_H?\$8H?? _?vVH?II+?H??H;?vL?D$0H??H??H?\$8H?? _麬??H+?t#3?W?H?HH?@?H?? H??u?H?GH?\$8H?? _????H?\$H?L$WH?? H??H???V????H?F\H?H??PƇXH?H???????tH??PH??????uH??\??.?D$8H?T$8?F?6	?|$8	uƇXH??H?\$@H?? _????????????????H?\$WH?? ??H??H??[H?H??PH??????tH??PH??????uH??\??,H???d????@??t
??H???8nH??H?\$0H?? _???@WAUAVH??PH??D????????G0$:?u??t?ɹqt?05	??85	????G0?????$:?uE??t?5	???9G8uE??tZ??Xt-??u?D??4	??5??u?D??4	????t??t΃?u?D??4	???4	???E3?9G4u	E???????y4	?????u!?????*?3?D??D???????u!???b*?E3?D?ɋѹ????D*?????u1H??P?MJ???A?D???D8?yDDɹ?E??u+H??P?J???E??D?ɋѹD8?yA?????uE3?A?3ɺ??)H??PH?\$xH??$?H??$?H?L?d$HL?|$@??????0H??PH???????H??PH??H+?H?????l???H???L?=????f?L??K?<4?????(HcE?(??
H??F??;hy?s2	K?4?(??
?x(t
F??;Xy?F??;`y?G2	???0(HcE?(??
H??pyF?;? 2	F?;?(??
?2	H??P??H??I??H????@{??H+?H??;??+????vH??PH??H+?H?????UH??????H??\H+?H???H?D$pL?=q????H??H?H?<+????p???9?????uE??u
H???H9EtjA??????'Hc?p????(?L?$?G??H?M??Š???H?й??N?H?M????????bH?
?A??	H??FH??uXW?E?W??M?A?H?AH?M???????L?E?H?r>H?M??Q????H?й?SN?H?M??i??????H?
LA?	H?wFH??uXW?E?W??M?A?H?AH?M??U????L?E?H?>H?M???????H?й??M?H?M????????H?
?@??	H?FH??uXW?E?W??M?A?
H??@H?M???????L?E?H??=H?M??o????H?й?qM?H?M???????H?
?@?4	H??EH??uXW?E?W??M?A?H?d@H?M??s????L?E?H?=H?M???????H?й?M?H?M???????H?
9@??	H???	H??CH??ujW?E?W??M?A?H??>H?M??>????L?E?H??:H?M??Ɇ???H?й??J?H?M???????L?E?I??v
H?U?H?M??)V??H?
j>?|	H?
CH??ujW?E?W??M?A?H?<>H?M??????L?E?H?g:H?M??F????H?й?HJ?H?M??^????L?E?I??v
H?U?H?M??U??H?
?=??	H??BH??ujW?E?W??M?A?H??=H?M??8????L?E?H??9H?M??Å???H?й??I?H?M???????L?E?I??v
H?U?H?M??#U??H?
?=?v	H?'BH??ujW?E?W??M?A?H?f=H?M??????L?E?H?a9H?M??@????H?й?BI?H?M??X????L?E?I??v
H?U?H?M??T??H?
)=??	H??AH??ujW?E?W??M?A? H??<H?M??2????L?E?H??8H?M?轄???H?й?H?H?M???????L?E?I??v
H?U?H?M??T??H?
?<?p	H?1AH??uXW?E?W??M?A?
H??<H?M??????L?E?H?[8H?M??:????H?й?????L?E?H??7H?M??Ƀ???H?й??G?H?M????????lH?
<??	H?b@H??uqW?E?W??M?A?H??;H?M???????L?E?H?|7H?M??[????H?й?]G?H?M??s????L?E?I??v
H?U?H?M??R??2???H?=4?tH?=2?tH?=0?t??2??@H?
S?H?=C?t	H??t??2????H?= ?t	H??t??2????H?
6;??	H?y?H????H?
);??	H?\?H??ujW?E?W??M?A?H??:H?M???????L?E?H?n6H?M??M????H?й?OF?H?M??e????L?E?I??v
H?U?H?M??Q??H?
?:?	H??>H????H?
?:??	H??>H??ujW?E?W??M?A?H??:H?M??"????L?E?H??5H?M?譁???H?й?E?H?M???????L?E?I??v
H?U?H?M??
Q??H?
>:?`	H?I>H????H?
1:?C	H?,>H??ujW?E?W??M?A?H?:H?M??????L?E?H?.5H?M??
????H?й?E?H?M??%????L?E?I??v
H?U?H?M??mP??H?
?9??	H??=H????H?
?9??	H??=H??ujW?E?W??M?A?
H??9H?M???????L?E?H??4H?M??m????H?й?oD?H?M??????L?E?I??v
H?U?H?M???O??H?
>9? 	H?=H????H?
99?	H??<H??ujW?E?W??M?A?H?9H?M??B????L?E?H??3H?M??????H?й??C?H?M???????L?E?I??v
H?U?H?M??-O??H?
?8??
	H??<H????H?
?8?c
	H?d<H??ujW?E?W??M?A?H??8H?M??????L?E?H?N3H?M??-???H?й?/C?H?M??E????L?E?I??v
H?U?H?M??N??H?
^8??	H??;H????H?
Y8??	H??;H??ujW?E?W??M?A?H?+8H?M??????L?E?H??2H?M??~???H?й?B?H?M??????L?E?I??v
H?U?H?M???M??H?
?7?@	H?Q;H????H?
?7?#	H?4;H??ujW?E?W??M?A?H??7H?M??b????L?E?H?2H?M???}???H?й??A?H?M??????L?E?I??v
H?U?H?M??MM??H?=?:tJH?=?:t@H?=?:t6H?=:t,H?=?:t"H?=s:tH?=?:tH?=o:t??2??u:?C??????u ?a:?[:?V:??u?J:?@:?H?M?H3??BKH??$?H??p]?臥?聥??{???u???o???i???c???]???W???Q???K???E???????9???3???-???'???!????????????9???????????9???????????9??????????|9?????????H?%?7?????????H?%?7?????????H?%9?????????H?%Y7?????????H?%?8?????????H?%?8?????????H?%A8?????????H?%8?????????H?%17?????????H?%7?????????H?%	7?????????H?%?6?????????H?%?7?????????H?%7?????????H?%?7?????????H?%18?????????H?%?6?????????H?%q6?????????H?%Y6?????????H?%?7?????????H?%?6?????????H?%?7?????????H?%?7?????????H?%!7?????????H?%y6?????????H?%?6?????????H?%?6?????????H?%a7?????????H?%7?????????H?%i6?????????H?%a7?????????H?%	7?????????H?%?5?????????H?%?6?????????H?%	7?????????H?%?6?????????H?%I6?????????H?%!6?????????H?%6?????????H?%?5?????????H?%?5?????????H?%?6?????????H?%95?????????H?%y5?????????H?%A5?????????H?%?5?????????H?%?5?????????H?%6?????????H?%?5?????????H?%?4?????????H?%?5?????????H?%?4?????????H?%5?????????H?%5?????????H?%Y5?????????H?%?4?????????H?%?4?????????H?\$H?l$H?t$L?L$ WATAUAVAWH??0I??L??H??E?(H?%#"????L3?H??L??A?@L3?L??A?@L3?L??A?@L3?L??A?@L3?L??A?@L3?L??A?@L3?L??A?@L3?L??I??H#M0H?H?EH?\?H?UL?"I;?uI??M???JH??I?H;CtH;?t2H?[H;Cu?I?A?FI??H?\$`H?l$hH?t$pH??0A_A^A]A\_?L??L??H?fffffffH9E??H?T$ H?D$(?(?">H??H?D$(H?H?HH?D$xGH?MH??W?x?H*??H??H???H??H*??X?H?u8?]W?H??x?H*??H??H??H?ƃ?H??H*??X?(??^?/????^??3??
#?/?r?\?/?s
H??H???H,?H??H;?HG?H;?sH??s
H?4?H;?sH??H??H????
H?M0I#?H?H?UH?D?H?]H;?uH?D$(?%H??H?OH;Htf?H??H;?tNH?@H;Hu?H?H?\$ L??L?d$ H?SH?EL?'H?WH?:H?{H?MH?E0I#?H?L??L;EuH?A?F?????H?
??????????????H??L??3?H+?L??H??H??I;?HG?H??t?H??r9I?H???H??M;?wI;?s$H?<$H???I??H??H??H???H?L?H?<$M;?tf?I?I?I??M;?u?H???????????????E?L??H??H?%#"????L3?L??A?@I?R0L??L3?A?@L??L3?A?@L??L3?A?@L??L3?A?@L??L3?A?@L??L3?A?@L??L3?L??I#?M?JH??IRH?BI;?t)I?H?H;HtH;?tH?@H;Hu?H??ID?I?I???3?H??ID?I?I?????H?\$H?t$ H?L$WH?? H??H??H?R ?->??FH??.H?H??.H?FH?^ H?~(H?|$83ۉH?_H?_?(?:H?H?@H?GH?OH?H?YH?YH?G0H?G8???L?G????^hH?F H????APH?N H??H?H?H;?t?H?S??R???H?H;?u?H??H?\$@H?t$HH?? _????????H?\$WH?? H??3?H?IH??t=H?W(H+?H???H??rL?A?H??'I+?H?A?H??w\I????9H?_H?_ H?_(H?OH?AH?H?	H??t?H??(?9H??H??u?H?O?(H?\$0H?? _?9?F???????????????@WH?? H?H??H?BH?H?
H??t+H?\$0@?H??(?K9H??H??u?H?\$0H??(H?? _?,9????????????H??????????????????H?\$H?l$H?t$H?|$ AVH?? D??H??H?a,H?H?w,H?AH?y0H?H;?tH?S??????H?H;?u?H?F H????JPH?N H??PH?N(?X???H?1	H?FH????;?A??t
?pH???i8H??H?\$0H?l$8H?t$@H?|$HH?? A^????@SH??PH??H3?H?D$H3?H?T$ H??f?D$@H?T$8?D$D??	???H?KL?L$8L?D$ H?T$(?a???H?L$HH3??D?H??P[???????????????@SH?? ?yXH??uH??????CXH?? [??AXH?? [????????????????AX?????????H?T$SH?? ?yXH??u	H????H?KL?D$8H?T$0?Q???H?D$0H;C t	?@$H?? [?3?H?? [??????H?\$WH?? H?y0H?H;?t ff?H?S??2???H?H;?u?H?\$0H?? _????????????????H?\$WH?? H?y0H?H;?t ff?H?S?????H?H;?u?H?\$0H?? _????????????????H?\$H?T$WH?? H??L?D$8H??H?T$0?k???H?\$0H;_ ??H?S??~????SH??H?%#"????H3??CH??H3??CH??H3??CH??H3??CH??H3??CH??H3??CH??H3??CH??H3?H??H#WHH??HW0H?H9ZuH;?u
H?G H?H?B?H?CH?B?H;?uH?H?H??(H?O(H?CH?H?CH?AH???5H?\$@H?? _?????????H?\$ H?T$VH?? A??H?T$0H??L?D$8H???H???H?D$0H;C t!?T????H?|$@H?x?&????D>H?|$@H?\$HH?? ^??H?T$SH?? H??L?D$8H??H?T$0?????H?C H9D$0t???H?? [????H?? [?@SUWH?? H?y0H??H?H;???H?t$HL?t$PE3?L?|$XI?w??/?$f?I??D?s$@8s t3?KL?D$@?f?L?t$@?????H?t$@I??H??D?s H+?H??H?H??	D8s!t6?KL?D$@?f?L?t$@????H?L$@I??H??D?s!H+?H??H?H??	H?s$H?H;??u???L?|$XL?t$PH?t$H?EhH?? _][??AhH?? _][?????????H?\$ L?D$AVH?? L??I??H?IH??M?I+?H??H;???H????????H?t$0H?|$8H;???H?4?H??u3??=H??r)H?N'H;????#3H????H?x'H???H?G??H???3H??I?I?FH+?H??H??t.H??H??rL?A?H??'I+?H?A?H??w`I????2H?>I?>I?FI?FH;?tH?H??H;?u?H?t$0H?|$8H?\$HH?? A^?H??L?D$@I??????H?\$HH?? A^??]?????O????????H?t$ WH?? H????????H??H?ȿ??H??H;???H?B?H?\$0H?^H?H??L??L?t$@??H??H?NH???d???H?G?H?~8H?F0H?FH?H??H;??)H?l$8H??H?%#"????@??PD?HL?^0L3?H?	L??L3??PL??L3??PL??L3??PL??L3??PL??L3??PL??L3??PL??L3?L??M#?I??L^M?L;?u	I?I?C?wI?SL?@L;Bu/L?L;?t!L?HI?	L?AM?I?RH?M?BL?IH?PI?C?:L;?tf?H?RL;BtOL;?u?L?PI?
L?II?L?BI?L?JL?QL?@I?H??H;?????H?l$8H?\$0L?t$@H?t$HH?? _?L?L?HI?	L?AM?I?RH?M?BL?IH?P?H?
????H??????????????H?\$H?t$WH?? ??H??H?}$H?H??$H?AH?I(?f0H?V8??P???H?N?W???H???3?@??t
?@H???30H??H?\$0H?t$8H?? _?????????H?\$H?l$H?t$WAVAWH??0A??E??D??H??H?T$ ??????@?/H??H?D$(H??tQ?|$ H?H????2?E??A??H?N?????H??#H?H??#H?F?~8?n0?nHc??<H?F(H???3?H?\$PH?l$XH?t$`H??0A_A^_???????????A?A?????@SH?? H?Y8?H???)????H?? [??????????????@SH?? ?y8H??uH?T$0???????D$0?C8H?? [??????@SH?? ?Q(H?ٹ????????C A???C???L?CHc??uH??*H??H?D$ H??tW??@L?8?H??H?l$ H?K H??t
H??PH?k H?{ H?H??tH??H?KH??t
H??PH?kH?H?CH?H??t	H??PH?.I?H??t	H??PI?.H??H??8A_A^_^][??????????????D?L$ UVWAVH??(H?\$PE3?L?d$XH??L?l$`H??L?|$ ??L?1D?qH?A????H?A????H?A????H?A$????H?A,????H?A4????H?A???H+Nx???I??H??H??H??H???H?i????H?H???P ??t??#H?H?????H?H?΋????؍?(H??H?ΉD?w?G@?o?G??G??G ?H????H???I??>???H+NxD??I??A??H??H??H??H???H?i???A??GH???G$?G(?G, ?G00?G4@?G8P?G<`?G@pH??P0L?|$ L?l$`L?d$XH?\$P??t?|$hu?oD???oHH??H????H???H+Nx???I??H??H??H??H???H?i??ʼnGH??H??(A^_^]??????H?\$H?l$H?t$WAVAWH?? I??H??L???AH?!H?L?BE3?L?zH?JL?zH?L?:I?FI?NM?F H?VL?~H?NL?~H?L?>I?F(I?N0I?V8H?H??t]H?oH;?t3fDL?CI??vH?H???k???L?{H?C?H?? H;?u?H?L?GL+?I??H???{??L??L?L?H?H??trH?nH;?t1?L?C I??v
H?SH?K?	???L?{H?C ?CH??8H;?u?H?NH+H?%I?$I?$IH??H??L??I???L?H?H???^??L?>L?~L?~I??H?\$@H?l$HH?t$PH?? A_A^_?????????????H?\$UVWAVAWH??H???H3?H?D$pL??H??H???????H?ǀ<:u?L?qI;?w$H??I??vH?H?yL??H???}?;?H????????H;???H??H??H;?wI??H??H??H+?L;?wJ?2H??H;?HB?H?]H?L$0?^$??\$ H?H8H????H?H?T$ ?PH??H?L$hH??tL?	H?D$0H;???A?Q H?~H?nL??I??H????|?;I??vM??H?H???t???H?H??H?L$pH3??1,H??$?H?ĀA_A^_^]????????????????????????@SUVWH??hH?`?H3?H?D$XA??A??H?3?l$ H?L$(?/????l$H?t$L?|$PH?SH;St3?D$ ?D$(BL$8JA?@?l$(?j(?r,?z0H?C8?L?D$ H????/??L?D$@I??vH?T$(H?L$(菵??H?L$XH3??R+H??h_^][??????????@SVWH??`H???H3?H?D$XA??A??H??D$ H?L$(?n????D$H?t$L?|$PH?SH;StG?D$ ?H?BH?B D$(BL$8JA??D$(?B(?r,?z0H?C8?L?D$ H????.??L?D$@I??vH?T$(H?L$(趴??H?L$XH3??y*H??`_^[??@SVWH??`H???H3?H?D$XA??A??H??D$ H?L$(螎??3ɉL$H?t$L?|$PH?SH;St2?D$ ?D$(BL$8JA??L$(?J(?r,?z0H?C8?L?D$ H???7.??L?D$@I??vH?T$(H?L$(?????H?L$XH3???)H??`_^[?H??????????????????@SH?? H???H??H?A??t
??%"H??H?? [?????H?\$H?l$WH?? ??H??H?EH?H?-??H?i(H?I H??tH??PH?C H?KH??tH??PH?CH?+@??t
?8H???!H??H?\$0H?l$8H?? _???A?A?????H??????????????????L?L$ USVWATAUAVAWH?l$?H???I??M??L??L??3?I?>H?L???H?EgH?E?H?MgI?H??tH?H???H?MgH??tH??PH?H?EgI????????wH?E?H??????H??H???<u?H?M?AE?H?E?H?D$0H?E?H?E?(D$0fD$0L?E_H?T$0H?M??V????I?譐??????H?E?f?H?À<u?H?]?A$E?H?E?H?D$0H?E?H?E?(D$0fD$0L?E_H?T$0H?M???????H?EgH?D$ L?M?L?E?H?UoH??A?ՐH?8H??tH?H???H?_?H??A?ID?H?]?H?MoH??t
H??PL?}oH?M???U???H?M???U??I??H?E_H??t
H?KH??H?E_H??t
H?HH??PH?]_L?EH?U_I???8H??H??tH?KH??R?H?H??t	H??PL?>H??H???A_A^A]A\_^[]?????????????̋A?????H??????????????????????@USVWAVAWH?l$?H??HH???H3?H?E0A??I??L??H??H?T$PE3?W??????D$ D$0D$@L?|$ L?|$(?0?H?H?@H?@f?@H?D$ W??D$0L?|$@L?|$HD??H??H?L$ ??????M?>H?L$0H??t@H?T$@H+?H??H??rH??'H?I?H+?H???H???m	?^W??D$0L?|$@L?D$ M?@H?T$ H?L$ ?????0H?L$ ?)I??H?M0H3??r%H??HA_A^_^[]ú
H?L$ ?ӑ???V???H?L$p??????H?L$ ???X+H?L$ ??D??H?H?L$p?~??u-H??X	H?
??Q??H??蘹??M?>H?L$p??????????
H?L$ ??L??L?D$pI??H?????H?L$p?y????H?L$0H??????H?T$@H+?H??H???????H??'H?I?H+?H???H???+????H?UW	H?D$p?D$xL?}?E?L?}?H?E?D?}?fD?}?L?}?L?}?fE?W?fM?fE?fM?fEfMfE D??H??H?L$p?}????H??W	H?
o?P??H??肸??M?>H?MH??tAH?U(H+?H???H??H??rH??'H?I?H+?H???H???R?IL?}W?fE H??>???H?]H????H?}H;?t^DH?SH??v0H??H?H??rH??'L?A?I+?H?A?H????I????L?{H?C?H??H;?u?H?]H?MH+?H??H??H??H??H???H?Hi?H??H??rH??'H?[?H+?H???H???|H???pW?fEL?}H?]?H????H?}?H;?t_fDH?SH??v0H??H?H??rH??'L?A?I+?H?A?H???I???L?{H?C?H??H;?u?H?]?H?M?H+?H??H??H??H??H???H?Hi?H??H??rH??'H?[?H+?H???H????H???L?}?W?fE?H?]?H????H?}?H;?t\fDH?SH??v0H??H?H??rH??'L?A?I+?H?A?H???JI???>L?{H?C?H??(H;?u?H?]?H?M?H+?H?gfffffffH??H??H??H???H?H??H??H??H??rH??'H?[?H+?H???H????H????W?fE?L?}?H?]?H????H?}?H;?tW?H?SH??v0H??H?H??rH??'L?A?I+?H?A?H???zI???nL?{H?C?H??0H;?u?H?]?H?M?H+?H????????*H??H??H??H???H?H?RH??H??H??rH??'H?[?H+?H???H???H????L?}?W?fE?H?U?H???????H??H?M?H??H???????H??'H?I?H+?H???H?????~?????fH??H?D$PH??t2W?3?H?C?CH?
H?H?)
H?CH??tH???I??I??H?\$`H?H?T$p?P H??uI??I???H??H?D$PL??L?D$pI??H????H??t
H?H???P?H??t
H?H???P?H?MH??tAH?U(H+?H???H??H??rH??'H?I?H+?H???H??????L?}W?fE H??>???H?]H????H?}H;?t]@H?SH??v0H??H?H??rH??'L?A?I+?H?A?H???jI???^L?{H?C?H??H;?u?H?]H?MH+?H??H??H??H??H???H?Hi?H??H??rH??'H?[?H+?H???H????H????W?fEL?}H?]?H????H?}?H;?t_fDH?SH??v0H??H?H??rH??'L?A?I+?H?A?H????I???L?{H?C?H??H;?u?H?]?H?M?H+?H??H??H??H??H???H?Hi?H??H??rH??'H?[?H+?H???H???,H??? L?}?W?fE?H?]?H????H?}?H;?t\fDH?SH??v0H??H?H??rH??'L?A?I+?H?A?H????I???L?{H?C?H??(H;?u?H?]?H?M?H+?H?gfffffffH??H??H??H???H?H??H??H??H??rH??'H?[?H+?H???H??w[H???OW?fE?L?}?H?M??????H?U?H??????H??H?M?H??H???????H??'H?I?H+?H???H????????v??v?????????H?\$ UVWATAUAVAWH?l$?H??H???H3?H?EM??H??L??H?U?E3?D8i?W?E?W??M?I??E??fD9(t?I??H?@fD9(u?I??H?M??'????H??O	I??@?H??H?@f?8u?L?u?H?M?H??I+?H;?w8I?>H?E?H?]?H??HG]?J?sL??H?LO	??kI?>fD?,CH?E??H?|$ L?
,O	E3?H??H?M??????W?E?W??ME?HML?hH?@fD?(H?U?H??v6H?UH?M?H??H??rH??'H?I?H+?H???H?????wfo?N	?E?fD?m?I?L$ H?L?E?H?}LGE?H?U??P(?H?M?H???GH??P8L??W??E?I??H?]?H??tL?E?H??H?M?????H?]?H?M?H?M??H?}?H???P I?$?D$ E??L??H?U?I???P ?H?E?H????L?m?H?H??t4H+?H??H??rH??'H??H+?H???H???H??H????H?M?H??t
H??PL?m?H?UH????H?UH?M?H??H??rH??'H?I?H+?H???H?????4?_H??t3H+?H??H??rH??'H??H+?H???H???nH??H????H?M?H??t
H??PL?m?H?UH??v6H?UH?M?H??H??rH??'H?I?H+?H???H????I?L$ H?M??H?U??P ?H?M?H????H??P8L??W??E?I??H?]?H??tL?E?H??H?M??????H?]?H?M?H?M??H?}?H???P I?$D?l$ E??L??H?U?I???P ?H?E?L?m?H?H??t0H+?H??H??rH??'H??H+?H???H??wKH??H?????H?M?H??tH??P??L?.H??H?MH3??H??$?H?ĠA_A^A]A\_^]??Qr??Kr??Er???r??9r?H??USVWATAUAVAWH??????H???)p?)x?D)@?H??H3?H???L?M?M??H?UH?L$hH?U?3?M??uH?2H???L?iL?m?I?M?????ȩ?????D$0????L??H?E?H??toW?@ @0@@@P@`@p?@@H?p H?@(f?pH??I	I?$A?t$0fA?t$4I?t$8I?t$@I?t$`I?t$hI?t$pI?t$x?L??L???I?I???P A?D$4I?I???P0A?D$5?? Dž$Dž(???,D???t$pI?I???P0H?΄???H??H?MH??H?]?@??D$ E??E3?I??H?M0????W??D$PH?t$`L?D$PH?U0I???G*E??L?D$PH?U0I????I??H?M???&?L?D$PH??H?M??????H?M?H??t1L?E?H?U????L?E?H?U?L+?I??H?M??vc??H?u?W??E?H?D$8H?E?H??H?L$8H?}?H??t
H?H???H?L$8H??tH??PH?|$8H?M?H???? ???P0H?E?H??????DH???<u?H?M?H?M?H????P H???H??????H???<u?H???H?ZH?D$ L?L$8L?E?H???I???5???L??H????Dž0H?`H??8A?|$4???0y???H??C	H??X?y????xDž?H?-H?????x???H?}C	H?????x?????Dž?H??H?????x???H?bC	H????x????H?D$hH?HH?A?L??0H?U??PH?L?8M??tI?I???I?_?M??HD?H?]?H?M?H??t
H??PH?u?H??H?D$HH??tH?KH??H?D$HH??t
H?HH??PH?\$HH?T$HI?????H??tH?KH??P?A?H??0???w???H?YB	H??X??w????xDž?H??H????w???H?>B	H????w?????Dž?H??H????w???H?B	H????ow??DžDž H??H??(?Hw???H??A	H??H?4w??DžhDžpH?IH??x?
w???H??A	H?????v?????Dž?H?BH?????v???H?vA	H?????v??DžDžH???H???v???H?;A	H??8?v??DžXDž`H?|?H??h?`v???H?A	H????Lv?????????D???D$@I?I???????~{H??H???L???I?I??????ȃ?u???%??u????u??
?ƃ??D‰?DžX?D$@?D??I?I?????I?I???????????H??H??H??8H?H???????I?I???????u???%??u????u??
?΃??D?K??H????0?L$@???x??I?I?????H?D$hH?HH?D??L??0H?T$x?PH?L?8M??tI?I???I?_?M??HD?H?]?H?L$xH??tH??PH?t$xH??H?D$HH??tH?KH??H?D$HH??t
H?HH??PH?\$HH?T$HI???@?H??tH?KH??P?A?H??0L?
Kv???P?I?E?U4I?M?PI?E?U8I?M?PI?I????????O?A?D$@I?I?????A?D$DD?|$pE??uM?l$`?M?l$pH??t
H?H???PH?u?L?L$PM??t}H?|$XL;?tBI?Y?L?CI??vH?H???{???H?sH?C?H??8H?C?H;?u?L?L$PH?L$`I+?H?%I?$I?$IH??H??L??I???L?I??H?L$P??????A??D?|$pH?]?H??H?]?H;]L?m??x??????t$@L??H?? ??A??L$0??DE?D?l$pH?D$8H???H???H?E?H???H?E?H???H?E?H???H?E?H?D$hH??H?E???????E‰D$HB?(B?)D?BE?HE?QD(E?(u?fo=???E???I??H??H??H??H???H?i??ÉE4?uT?EX?E\ f}`?Epp??I?I???P0??t
??u?]t???]xI?I????????I???I+NxI??H??H??H??H???H?i??ÉE8W??D$PH?t$`D?L$0L?D$PH?U0I???D??L?D$PH?U0I???I??H?M??L?D$PH??H?M??????H?MH??t1L?EH?U?:??L?E H?UL+?I??H?M?"Z??H?uW??EH?D$8H?E?H??H?L$8H?}?H??t
H?H???H?L$8H??tH??PH?|$8H?M?H?F???(A???P0L??H??????H?À<u?H?M?H?A???P H?D$hI??????I??B?<8u?H?E?H?H?D$xH?H???H?E?H?M?H?M?H??H?M?H?D$8H??tH?H???H?D$8H?M?H??tH??PH?D$8H?E?H?E?H??0t??????H???H??????H???<u?H???L???H???fDE?L?D$1H?U?H??肞???H?E?H???s??????H???H??????H???<u?H???H?D$hH???L???fu?L?D$1H?U?H????#????H?E?H?D$ L??L???H?U?H?L$x?U??L?8M??tI?I???I?_?M??HD?H?]?H?M?H??t
H??PH?u?H?????8???H????8??H??H?D$xH??tH?KH??H?D$xH??t
H?HH??PH?\$xL?e?H?T$xL?}?I???L?L??H??tH?KH??R?H?L$8H??tH??PH?t$8M????Dž0W??8HDžH
HDžP?????8???f??@ƅBW??XHDžhHDžpH?POSITIONH??Xƅ`??xDž???HDž?HDž?H?a_NormalH???ƅ???A?L???HDž???7	????
?7	f???ƅ?Dž?Dž???HDž?
HDž??????????f???ƅ?W???L??HDž???f???ƅ?DžDž ?(HDž8	HDž@?0???(?)???0ƅ1W??HL??XHDž`??Hf??LƅNDžhDžp?xHDž?
HDž??????x???f???ƅ?W???HDž?HDž?H?TEXCOORDH???ƅ????Dž???HDž?HDž?H?B?????9?f????-????ƅ???L???HDž???f???ƅ????I?H?E??L??0H?U??PH?L?8M??tI?I???I????L??L?}?H?M?H??t
H??PH?u?H??H?D$hM??tI?OH??H?D$hH??t
H?HH??PL?|$hH?T$hI???N?I?E?U4I?M?PI?E?U8I?M?P?|$@uM?l$h?M?l$xM??tI?OH??P?L?
8l???D?úPH??0?{?H??t
H?H???PH?u?L?L$PM???zH?|$XL;?t?I?YL?CI??vH?H??軏??H?sH?C?H??8H?C?H;?u?L?L$P?H?L$`I+?H?%I?$I?$IH??H??L??I???L?I??H?L$P?%6????|$@?lj|$@L?? I??L?? L;}D?l$p?D$HB?(B?)D?BE?HE?Q?????I?I?????A?D$8I?I?????A?D$???H??H??H??H???H???I??L?l$H?|$(E???A?ʼnD$0L?U%??yC????@f?I?ʸ????????????D?E?A*Ȁ?0A?
?ʅ?u?I??A?-?8D??fff?I?ʸ????A??????????D*?A??0E?D?…?u?L?L$(L?E%I??H?L$X??~??A??D?|$8M?FxI???I+?H??>???H??H??H??H???H?I;???M?<0M?oH????????H??I+?H????I?vM??W?E?3?H?E?H?E?M?e?L?u?L;?vvI??H??H;?vH??H??H??'?,H???HB?H?NH??t:H??r,H?A'H;??dH????H???ML?p'I???I?F?????L??L?u?L?e?H?u?M??I??I????JC?._C?&L?L$XL?E?@??H?M?????D?|$8A??H?U?H??v2H??H?M?H??H??rH??'H?I?H+?H???H???????H?T$pH??v2H??H?L$XH??H??rH??'H?I?H+?H???H?????p?H?U?H?}?HGU?E3?D?l$XH?L$`?^??D?m??E??t$ ?u?H?SH;St8?D$X?D$`BL$pJA?D?l$`D?j(?B,?r0H?C8?L?D$XH??????L?D$xI??vH?T$`H?L$`?]??????t$ H?U?H??v1H??H?M?H??H??rH??'H?I?H+?H???H???????D$0???D$0??
L?t$PH?t$HL?d$@?????I??L?d$@H??H?t$HI???I+NxH??>???H??H??H??H???H?L;??f???H?M(H3??z?H??$?H??0A_A^A]A\_^]????????$????????R?袣????R??R??R????????????????H?\$UVWATAUAVAWH?l$?H??0H?m?H3?H?E(E??I??H??L??H?L$H3?D??L$???H??H??H??H???H???I??L?|$@?|$ f?A?ljD$0L?U%??yC????@f?I?ʸ????????????D?E?A*Ȁ?0A?
?ʅ?u?I??A?-?8D??fff?I?ʸ????A??????????D*?A??0E?D?…?u?L?L$ L?E%I??H?L$P??u??A??D?l$???H??H??H??H???H?I;???M?<0M?oH????????H??I+?H????I?vM??W?E?3?H?E?H?E?M?e?L?u?L;?vvI??H??H;?vH??H??H??'?,H???HB?H?NH??t:H??r,H?A'H;??kH????H???TL?p'I???I?F????L??L?u?L?e?H?u?M??I??I????AC?._C?&L?L$PL?E?@??H?M?????D?l$???H??H??H??H???H?L;??]???H?M(H3???H??$?H??0A_A^A]A\_^]???????+????????I?詚????I??I??I???????H?\$UVWATAUAVAWH??H???H3?H??$?L??H?T$0L??H?L$8E3?D?d$$L?!L?aL?a?D$$?????A??H?H???????~(@I???I???Px;?ONj???I?I?????;?|܍GHc?I?}I?UH??H+?H??H;?sBH??H?H??H;?t-L?CI??vH?H???x??L?cH?C?H?? H;?u?I?u?PvNI?EH+?H??H;?vL?D$ H??I????#???,H+?t#@W?L?gH?G?H?? H??u?I?}I?I????????UH????????I?A??I?????L??I?L?AxA??I??A??Hc?H??IuH??????H??A?<u?L?vI;?w'H??I??vH?>H?^L??I??H????=??H;??fH??H??H;?vH???!I??H??H??H+?L;?vH???J?1H;?HB?H?}H?L$@?????|$(H?H8H???H?H?T$(?PH??H?L$xH??tL?	H?D$@H;???A?Q H?^H?nL??I??H???F=?I??vM??H?H????v??H?>A??L?t$0I?I?????D;?H?????????????I?EI;EtH??	H????P??I?E ?L?ͪ	H??I??????I?EI;EtH???	H???P??I?E ?L???	H??I???p???I??H??$?H3??
?H??$?H?ĐA_A^A]A\_^]?荗???諻???????H?\$UVWATAUAVAWH?l$?H???H?-?H3?H?EI??H??L??H?L$HE3?E??D?l$0H?\$(D?JD?m?W?E?fo
???M?????E????f?E?D?m??E??E?D?M?I?PI;Pt2D?*E?BJA?D?m??B(?B,D?J0H?C8?L?E?H???V???L?E?I??v
H?U?H?M??u???OD?m?W?E?fo
???M??\??E??Y??E??S?f?E??E??E??E??M?H?SH;St1D?*E?BJA??E??B(?B,?J0H?C8?L?E?H??????L?E?I??v
H?U?H?M??pt???OD?m?W?E?fo
???M?????E????f?E?????E??E?D?m??E??M?H?SH;St.D?*E?BJA??E?D?j(?B,?J0H?C8?L?E?H???????L?E?I??v
H?U?H?M???s??A?D?GH?%?	H?L$(?{???A?D?GH?"?	H?L$(?`????w ?t$$A??I?I?????H?\$(????@f?I???I?????D?m?H??H?M??rM??D?m??E??u?H?SH;St4?E??E?BM?JA??E?D?j(?B,?r0H?C8?L?E?H???
???L?E?I??v
H?U?H?M???r??????I?I?????;??Z????t$$M??L?l$8I???I+NxH??>???H??H??H??H???H???I??L?l$@?|$ DA?ʼnD$(L?U??yC????@f?I?ʸ????????????D?E?A*Ȁ?0A?
?ʅ?u?I??A?-?8D??fff?I?ʸ????A??????????D*?A??0E?D?…?u?L?L$ L?EI??H?M??k??A??D?|$0M?FxI???I+?H??>???H??H??H??H???H?I;???M?<0M?oH????????H??I+?H????I?vM??W?E?3?H?E?H?E?M?e?L?u?L;?vvI??H??H;?vH??H??H??'?,H???HB?H?NH??t:H??r,H?A'H;??QH???0?H???:L?p'I???I?F????L??L?u?L?e?H?u?M??I??I???7C?._C?&L?M?L?E?@??H?M?????D?|$0A??H?U?H??v2H??H?M?H??H??rH??'H?I?H+?H???H????????H?U?H??v1H??H?M?H??H??rH??'H?I?H+?H???H??????H?U?H?}?HGU?E3?D?m?H?M??.J??D?m??E??t$$?u?H?SH;St4?E??E?BM?JA?D?m?D?j(?B,?r0H?C8?L?E?H???????L?E?I??v
H?U?H?M??o?????t$$H?U?H??v1H??H?M?H??H??rH??'H?I?H+?H???H????????D$(???D$(??
L?t$HH?t$@L?d$8?????I??L?d$8H??H?t$@I???I+NxH??>???H??H??H??H???H?L;??t???H?MH3???H??$@H???A_A^A]A\_^]??(?????R??????>??֏?????>???>??>????H?\$H?t$H?|$AVH?? H??H?H??u?H?H`L?phH?ppH?xxH??tH???PM??tI??I???PH??tH??H???PH??tH??H???PH?3?H?x`H?H?xhH?H?xpH?H?xxH?H??t	H??PH?;H?\$0H?t$8H?|$@H?? A^??????????????@USVWATAVAWH?l$?H??H??H3?H?EI??L??H??E3?A?׉T$0H?AH;AtH?AH??xH;??tH???H???H;??tH???H???H;??tH???H???H;??tH???H???H;??tH???H???H;??tH???H??H;?tH??H?? H;?(tH??(H??8H;?@tH??@H??PH;?XtH??XH??hH;?ptH??pH???H;??tH???H???H;??tH???H???H;??tH???H?A(H;A0tH?A0H?A@H;AHtH?AHH?AXH;A`tH?A`H?ApH;AxtH?AxH???H;??tH???H???H;??tH???H???H;??tH???H???H;??tH???H???H;??tH???H??H;?tH??H??H;? tH?? H??0H;?8tH??8H??HH;?PtH??PH??`H;?htH??hI?@8?8?u2H?H(H??t)D?E??x!H?NH?H?T$0????L98t???@2???tH?L$0H??tH??P?@??tAH?NH?L???H?F8L?@(E?H?T$0A??H?L$0?A8????A?EX?E`EhH?Ex
HDž???	?Eh??	?Ep??	?EtD?}uW???HDž?HDž????f???D???Dž?Dž???HDž?HDž?H?Input_UVH???D???H??	H?????:??D???DžW??HDžHDž ?	???	f???	??D??W??(HDž8HDž@??	??(??	f??,D??.DžHI???H?A?L?D$pH?T$(?PH?H?H??tH?H???H????I??H?\$`H?L$(H??tH??PL?|$(I???H??H??p?PI???H??H??p?PI???H??H??p?PI???H??H?? ?PI???H??H?? ?PI???H??H????PI???H??H????PI???H??H????PI???H??H????PI???H??H?? ?PI???H??H?? ?PI???H??H????PI???H?D$0I???H?D$8H?|$0H?7I??H?D$ H??tH?KH??H?D$ H??t
H?HH??PH?\$ H?T$ H???1?H??H?D$@H;?u?I???H?D$@I???H?D$HH?|$@fDH?7I??H?D$ H??tH?KH??H?D$ H??t
H?HH??PH?\$ H?T$ H?????H??H?D$PH;?u?I???H?D$PI???H?D$XH?|$PfDH?7I??H?D$ H??tH?KH??H?D$ H??t
H?HH??PH?\$ H?T$ H???Q?H??H?D$`H;?u?H??tH?KH??P?L?
\9???PA?H?L$p??H??PH3????L??$`I?[(I?s0I?{8I??A_A^]????????????H?\$H?t$H?|$ UAVAWH??$????H??`H??H3?H??PL??E3??D$pW?D$xH?E?	H?E??	?D$x?	?E?D?}?W?E?H?E?H?E?H?POSITIONH?E?D?}?D?}??E?E?H?E?H?E???	?Eȋ?	?E?D?}?W?E?H?E?H?E??	?U??
?	f?M?D?}??E?EEH?E(H?E0?O??E?L??E ?F?f?E$D?}&W?E8H?EHH?EP?U8f?M?EX?E`EhH?Ex
HDž???	?Eh??	?Ep??	?EtD?}uW???HDž?HDž????f???D???Dž?Dž???HDž?HDž?H?Input_UVH???D???H???H?????4??D???DžW??HDžHDž ??????f??????D??W??(HDž8HDž@?????(???f??,D??.DžHI???H?A?L?D$pH?T$(?PH?H?H??tH?H???H????I??H?\$`H?L$(H??tH??PL?|$(I???H??H????PI???H??H????PI???H??H????PI???H??H?? ?PI???H??H?? ?PI???H??H????PI???H??H??@?PI???H??H??@?PI???H??H??@?PI???H??H?? ?PI???H??H?? ?PI???H??H????PI???H?D$0I???H?D$8H?|$0H?7I??H?D$ H??tH?KH??H?D$ H??t
H?HH??PH?\$ H?T$ H???1?H??H?D$@H;?u?I???H?D$@I???H?D$HH?|$@fDH?7I??H?D$ H??tH?KH??H?D$ H??t
H?HH??PH?\$ H?T$ H?????H??H?D$PH;?u?I???H?D$PI???H?D$XH?|$PfDH?7I??H?D$ H??tH?KH??H?D$ H??t
H?HH??PH?\$ H?T$ H???Q?H??H?D$`H;?u?H??tH?KH??P?L?
\3???PA?H?L$p??H??PH3????L??$`I?[(I?s0I?{8I??A_A^]????????????H??USVWATAUAVAWH??(???H??)p?)x?D)@?D)?x???D)?h???H??{H3?H??0L?M?L?E?L??H?U?L??H??H?E?H??H?E?H??H?E?L??L?d$pH?? H?u?E3?D?t$TH???H+?xH??????*D?FE???L?u?H?NH?H?T$XD8vUt)????H?H?\$`L?0H?]?H?L$XH??tH??P??'????H?H?\$`L?0H?]?H?L$XH??tH??P?H??H????A??qt7??(u.@?I?I????H??tH?L?AI??H??A?Є??]?@2?A?????t
???D$Pu?D$P@??tA????A???v?|$Pu-L?m???LDm???|$PtL?m??
L?m???LDl$xL?l$hM???I????l??H???????H???A2V??2?A?N?2ʀ?2ʈI?F8?H0?NA?F?FI?$H?U?I?????H?H?E?H?E?H?D$XH??t@?????H?\$X??C??u H?H??????????C??u	H?H???PH?}?H?}?H?]?I?$I??H?}?t`H?U????H??A?FH?E?H?D$XH??tQ???????H?\$X??C??uH?H?????{??u	H?H???PH?]?H?}?H?}????@??u?F?|$Rt?FI??I????U??3?E???E??~,3?B??90?DB??9P?D,??H?IE???A;?|?M???I??I???b???I???Jk??H?L?A?T$PH??A??I?MH??P H??H?E?3?H?M?H?M?H9M???H????H?L$xH?H???H?L$xH??tH??PH?|$xH?E?H?D$@H?E?H?D$8????D$0L?t$(H?E?H?D$ L?L$xM??I??I???{I?$H?U`I?????HN@ F H0N0?M??M??I??8L$PI??t?s2??<5I???k??H??I?NXH??tH??H??PH??tH??PHdžPI?FXH??PI???ck??H???H??XI???H???6??ȋ???M???I???L;?t5H??D??fDA?6H?????ȋƙ??A;?u	I??L;?u?H?}?L?l$hH?E?I???I+?xH??H????H?E?H??@H?E?E3?E3?L?t$X?D?H?|$hI???H??????H?E????????T$xH?????H??A?<I???u????D$`I?$I????@??H?˃?u?D$`?	???b?H??I???7???H??I???l???I??xAL?E?AALAHAD A@ AL0AH0I???B?(H?U????I???B?L(???I???B?L(???I???B?L(???I??H?M 耙L?u?A?~Tu;I??P?0I?$H???I?????H??H?M`?J?(?H?U`H?M ?:??A?v$M?v0I?$H?U?I?????H??H?M?t?I?$H?U?I?????H??H?M?W?@?t$ M??L?EH?UH?M ????D(M E(?D?E0DD?M0?(U@(??MPD?UP?A(????D???A(???D???H?????|H?E?8D@p DH0I??hH?M?????fn?[??A^?H?U??????????fn?[??A^??????????fn?[??A^??????fn?[??A^????H?U?H??t1I???B?)??BD)?B?BL)?J?BD)?BH?U?H??t1I???B?)??BD)?B?BL)?J?BD)?BH?OH??P0?T$xH???[????t$`?T$xH????D?Ƌ?I???\??H?M?H??H?M?L?t$XI??@L?t$XI??I???I+?xH??H;??????H?}?L?l$hI??I????d??I????e??H???/????H??t
H?H???P?H?L$pH??tH??PH?D$pH??t
H?H???P?H???H3?訐L??$HA(s?A({?E(C?E(K?E(S?I??A_A^A]A\_^[]????????L??USWI??8???H??H???H3?H?EI?s?I??M?s?I??A)s?L??A){?H??E)C?D?vfDoXE)K?E)S?E)?x???E)?h???E)?X???E)?H???A??uE	EYEQ ?H?I??H?T$@???H??H?L$P?-?H?D$PA??H?D$0L?M?H?D$pH?|$(L?D$`H?D$ H?U?????H?T$`H?M??A?(U?fo%E?D(?D??(?(?hT?p ??UY??ҪY?DY?DX?(?DX?DX?(U?T?D(?D??(???UY?DY??ҪY?DX?DX?(M?D(?(?D??T?DY???UDX?Y?DX??ɪY?DX?DX??N A(?.
?TL??$?D)D$PE(?D)D$`E(?D)D$pE(?D)D$@A(?D)E?z?7(?H?T$P??H?M?)D$P?ޖA(?A(?A??A(?A??UW? Xh p0Y?A?ɪY?Y?E???X?DY?Y?X?A(?A(?A?˪Y?D(?A(?DX?A??UY?A(?A??Y?E???DY?X?A(?X?A(?A?ʪY?D(?A(?DX?A??UA(?Y?A??Y?E???DY?X?A(?X?W?Y?D(?DX?W?Y?X?fo?UY?X?X?)}?D(?)|$@D(?)|$pD(?)|$`(?)|$PD(ǀ~$?)??RH?M????(???D?l$pUA(?D?t$`?A(?D?|$P?A(?`h p0A??A??UY?Y?A?ɪY?X?E???DY?DY?X?DY?A(?DY?A?˪A(?D(?Y?DX?A(?A??UA(?A??Y?Y?E???DY?X?A(?X?A(?A?ʪY?D(?A(?DX?A??UA(?Y?A??Y?E???DY?X?A(?X?D(?DX?(??D$@Y?AX?AX?AX?)E?D(?A(?H?M?A(?A??D??DE???E????ZvH???(?A(?D(?$D(?$ D(?$0D(?$@D(?$p???E????Έ(?$?A?ˆD(?$P}?(?$?DM?D(?$`M?E?H;??t%
E?BM?J E?B0H???@?L?E?H??x??I??H???H???L?G0H??$?H;??tAH?????3H??H???H???L?G@H;??tAH?????H??H???H???L?GPH;??tAH??????G??H???H???L?G`H;??tAH?????G??H???H???L?GpH;?tAH?????oG??H??H??L???H;?tAH????;G??H??(H?? L???H;?0tA??H?BH??(??E??H??@H??8L???H;?HtA??H?BH??@??qE??H??XH??PL???H;?`tA??H?BH??X??6??L??HH???I;?tI?M?@L+?I???9??L??`H???I;?tI?M?@L+?I???9??H?L$`H3??eH?İA]A\_?????????H??H?XUVWATAUAVAWH??h???H??`)p?)x?D)@?D)H?D)?x???H?.H3?H??M??M??H??L??L?L$hH???H???H?t$(H???H?D$HH???H?L$P3?H?H?H?G@H+G8H??A?I;?LB?H?H????PEW??=??5HD??u
D(?D(??EW?D(?H?H????`??u(??W?(??DM@?DUD?EH?}LH?H?T$XH?????H??H????z(?????(???U????ɪ???Dž???H?H????p?EP?F ?ETH????S????xuW??uX??E\A??A?H?U@H??????A??A?H?UPH???Ψ??A??A?H???H??賨????A???~I?NH??P H?H?L$HH???A???~I?NH??P ??H?H?L$PH???E3?H?O H?G(H+?H??H??tBE3?@?J?1D??A?H???+?????I??M?vH?O H?G(H+?H??L;?r?Mc?M????E3?M??fff?H?W8I?H?L$p????H???HI@ A H0I0@@A@HPIP@`A`H???HpI?????I??A ??I0??A@D??A??H???H???D??????M?vI???@???E3?A?H?U@H???K???A?E??H?UPH???6???A? A?H???H??????E3?L?t$ fo[AD$0L?t$@H???Q??L?D$0H?T$ H???7???H?t$(?F(?AY??E`?Ed?EhD?ul?D$0?Ep?L$4?MtD$8??A?0A?H?UpH??苟??A?@A?H???H???p???H?NH?D?H?T$(????H?0L?0I?MH??t
H??PM?uI?uH?L$(H??tH??P?H?H?T$XH???PHH??H?????v(??(?Y?(???U(?????X??X?W????R?(???Y?f?????(???U????ɪ???Dž???H?H???PX???fn?[??5???^??????????fn?[??^??????????fn?[??^??????fn?[??^????H?H???Ph???fn?[??^??????????fn?[??^??????????fn?[??^??????fn?[??^????A?PA?H???H??襝??A?`A?H???H??芝??A?pA?H???H???o?????I?EH?xxt9???u0H?H???H?????D??A?@H???H???+?????M??H?O H?G(H+?H??H??tE@fff?J?1D??A?H????????I??M?vH?O H?G(H+?H??L;?r?E3?M????E3?H?W8I?H?L$p?,???H???HI@ A H0I0@@A@HPIP@`A`H???HpI?????I??A ??I0??A@D??A??H???H?????????I??M?M;??>???H?L$ H??tH??PH?D$ I?MH??tH??PI?EH??H3??=wL??$`I?[@A(s?A({?E(C?E(K?E(S?I??A_A^A]A\_^]??????????H??H?XUVWATAUAVAWH??h???H??`)p?)x?D)@?D)H?D)?x???H?/&H3?H??M??M??H??L??L?L$hH???H???H?t$(H???H?D$HH???H?L$P3?H?H?H?G@H+G8H??A?I;?LB?H?H????PEW??=ė?5?;??u
D(?D(??EW?D(?H?H????`??u(??W?(??DM@?DUD?EH?}LH?H?T$XH?????H??H?????r(?????(???U????ɪ???Dž???H?H????p?EP?F ?ETH???K????xuW??uX??E\A?A?H?U@H??薠??A?A?H?UPH???~???A? A?H???H???c????0A???~I?NH??P H?H?L$HH???A???~I?NH??P ??H?H?L$PH??ƠE3?H?O H?G(H+?H??H??t?E3?f?J?1D??A?H???۟????I??M?vH?O H?G(H+?H??L;?r?Mc?M????E3?M??fff?H?W8I?H?L$p?>???H???HI@ A H0I0@@A@HPIP@`A`H???HpI?????I??A ??I0??A@D??A??H???H??????????M?vI???@???E3?A?H?U@H???????A?E??H?UPH??????A? A?H???H???˗??E3?L?t$ fo9D$0L?t$@H???YI??L?D$0H?T$ H??????H?t$(?F(?AY??E`?Ed?EhD?ul?D$0?Ep?L$4?MtD$8??A?0A?H?UpH???;???A?@A?H???H??? ???H?NH?D?H?T$(????H?0L?0I?MH??t
H??PM?uI?uH?L$(H??tH??P?H?H?T$XH???PHH??H????n(??(?Y?(???U(?????X??X?W????R?(???Y?f?????(???U????ɪ???Dž???H?H???PX???fn?[??55??^??????????fn?[??^??????????fn?[??^??????fn?[??^????H?H???Ph???fn?[??^??????????fn?[??^??????????fn?[??^??????fn?[??^????A?PA?H???H???U???A?`A?H???H???:???A?pA?H???H????????I?EH?xxt9???u0H?H???H?????D??A?@H???H???۔????M??H?O H?G(H+?H??H??tE@fff?J?1D??A?H??蛔????I??M?vH?O H?G(H+?H??L;?r?E3?M????E3?H?W8I?H?L$p?????H???HI@ A H0I0@@A@HPIP@`A`H???HpI?????I??A ??I0??A@D??A??H???H???“?????I??M?M;??>???H?L$ H??tH??PH?D$ I?MH??tH??PI?EH??H3???nL??$`I?[@A(s?A({?E(C?E(K?E(S?I??A_A^A]A\_^]??????????H??H?XUVWH??)p?)x?D)@?D)H?D)P?D)X?D)?x???D)?h???H??H3?H??$?I??H??I?xH?H???P H??H?H????PW??D???5?3??u
D(?E(??EW?D(?H?H????`??uD(??EW?D(??D?`?D?dH?D$8fo?3D$ H?D$0H????C??L?D$ H?T$8H???z???H?H???P(L??H?M8?Q$??DX?D@H?M8?Qtfn?[??@ H?M8fnI|[??H$H?E8???A?H0H?E8???A?H4?EH8?EPM?K?f??A?/?w/?w"H??I;?tI?	H?H?I?I??I??M;?r?M;?uGL;???I;?tH?
H?H?H?I?H??H?H?H??I?I???S???M???|???M???t???I???L;?u+H??L;?tH?I?I?H?H?J?H??H?H?H?????I?I?I?I??I??????H?t$8I??H?|$@L?t$HI?H?\$0I?WH?? A_??H?\$H?t$H?|$L?t$ AWH?? I??L??H+?I??H??L??I???I??H??H???@???H?SL;?s)??K?H?C?/?w?/?wH??(?L;?r?H;?s ?D?/?w/?w	H??H;?r?L??L??L;??,H??I+?H??H???H?? ??M?Hfff???A/?w/???I;?tI?H?H?
I?H???AI?M?Q??/?w/??9I;?tI?
H?H?
I?H????A	/?w/??I;?tI?	H?H?
I?H???AIM?Q?/?w/???I;?tI?
H?H?
I?H??I?? H?F?I?? L;??1???L;?s1??A/?w/?wI;?tI?H?H?
I?H??I??L;?r?M;?v>M?K?f??A?/?w/?w"H??I;?tI?	H?H?I?I??I??M;?r?M;?uGL;???I;?tH?
H?H?H?I?H??H?H?H??I?I???O???M???|???M???t???I???L;?u+H??L;?tH?I?I?H?H?J?H??H?H?H?????I?I?I?I??I??????H?t$8I??H?|$@L?t$HI?H?\$0I?WH?? A_??H?\$H?l$H?t$ WAVAWH??0H??A??H+?I??H???H??H??H=??DH????D??H?L$ L??H??????L?|$ H??L?t$(I??H??H+?H??H???H?D??H??L??I+?H???H;?}I??H???a???I???H??I???Q???I??H??H+?H???H=?x???H;??6L?I??L;??&A?L+?fDH?H???H?\$P?L$P/???L?F?H??M?I???p?H???L??L+?I??M??I??M????M?S?I???J?D??I??H?D$PM??I??M;?}2?H?3??D?/D???H??H?H??J??L??I;?|?M;?uA??u
J?L??J??M?C?I?P?H??M;?}"?D$P/?vH??J??L??H??H??M;?|?J??M???c???I???A?L?]?L+?@?I?M??H?L+?I??E3?3?H?D$PI?M?Q?I??M??~1?H?3??D?/D???H??H?H??J??L??I;?|?M;?uA??u
J?L??J??M?A?I?P?H??M??~"?D$P/?vH??J??L??H??H??M???I??J??K?H???H???F????;?F?H?N?/?vfDH?H?H???A?H??/?w?H?H??H;??????H?\$XH?l$`H?t$hH??0A_A^_?H?\$H?l$H?t$ WAVAWH??0H??A??H+?I??H???H??H??H=??DH????D??H?L$ L??H??????L?|$ H??L?t$(I??H??H+?H??H???H?D??H??L??I+?H???H;?}I??H???a???I???H??I???Q???I??H??H+?H???H=?x???H;??1L?I??L;??!A?L+?fDH?H??H?\$P?D$P/??L?F?H??M?I???T?H???L??L+?I??M??I??M????M?S?I??@?J?D??I??H?D$PM??I??M;?}2?H?3??D?/D???H??H?H??J??L??I;?|?M;?uA??u
J?L??J??M?C?I?P?H??M;?}&?L$P??/?vH??J??L??H??H??M;?|?J??M???_???I???A?L?]?L+??I?M??H?L+?I??E3?3?H?D$PI?M?Q?I??M??~1?H?3??D?/D???H??H?H??J??L??I;?|?M;?uA??u
J?L??J??M?A?I?P?H??M??~&?L$P??/?vH??J??L??H??H??M???I??J??K?H???H???B????2/F?H?N?vfDH?H?H??H??/w?H?H??H;??????H?\$XH?l$`H?t$hH??0A_A^_??????@SVWH??`H?1?H3?H?D$XA??H??H?9?D$ H?L$(??????D$H?\$LH?F??L$PH?WH;WtO?D$ ?H?BH?B D$(BL$8Jfo?i?D$8?D$(?B(?Z,?J0H?G8?L?D$ H???r;???H?L$(觜??H?F??H?L$XH3??7H??`_^[??????????H?\$ UVWH??`H?M?H3?H?D$XA??H??H?93?l$ H?L$(?????l$H?\$LH?F??L$PH?WH;Wt;?D$ ?D$(BL$8Jfoi?D$8@?l$(?j(?Z,?J0H?G8?L?D$ H???:???H?L$(?ݛ??H?F??H?L$XH3??76H??$?H??`_^]????????H?\$H?t$WH?? ??H??H???H?H???3?H??tH???PH???H???H??tH???PH???H???H??tH???PH???H???H??tH???PH???H???H??tH???PH???H???H??tH???PH???H???H??t
H??PH???H?????@??t+H??@??u???H??H?\$0H?t$8H?? _ú?????H??H?\$0H?t$8H?? _????????H?\$H?t$UWAVH??$`???H??H?,?H3?H???A??A????E3?D?t$8H?L$(H?D$8H?D$0H?L$@H?D$8H?D$HA?H?=H?L$@????H?d?H?E???HD?D??H?L$@?z???D??H?P?H?L$(?F???@????D??H?C?H?L$(?)???D??H???H?L$(????D??H?C?H?L$(????D??H???H?L$(?????D??H?C?H?L$(?????A?H??H?L$(?????A?H??H?L$(????D??H?!?H?L$(????D??H?-?H?L$(????D??H?9?H?L$(?o???D?t$PW?D$XW??L$hH?M???*??D$  H?H8H???H?H?T$ ?PH??H?M?H??tH?L?B H?E?H;???A??H?\$Xfo
???L$h??????C????C?CD?t$x?D$|H?|$0??E?H?\$(H?SH;St8D?2D$XBJfo
e?D$h?D$XD?r(?B,?B0H?C8?L?D$PH???6???H?L$X?????D?t$PW?D$XW??L$hH?M???)??D$  H?H8H????H?H?T$ ?PH??H?MH??tH?L?B H?E?H;???A??H?t$Xfo
???L$h??????F?FD?t$x?D$|??E?H?SH;St8D?2D$XBJfod?D$h?D$XD?r(?B,?B0H?C8?L?D$PH???5???H?L$X?????D?t$PW?D$XW??L$hH?M??(??D$  H?H8H???H?H?T$ ?PH??H?MHH??tH?L?B H?EH;???A??H?t$Xfo
??L$h?????f?F????F?FD?t$x?D$|??E?H?SH;St8D?2D$XBJfoc?D$h?D$XD?r(?B,?B0H?C8?L?D$PH???4???H?L$X?????D?t$PW?D$XW??L$hH?MP??'??D$  H?H8H????H?H?T$ ?PH??H???H??tH?L?B H?EPH;???A??H?t$Xfo
???L$h?
??
?F?FD?t$x?D$|??E?H?SH;St8D?2D$XBJfob?D$h?D$XD?r(?B,?B0H?C8?L?D$PH???3???H?L$X?????H???H3??G/L??$?I?[ I?s(I??A^_]????????????????????????H??8L?L$ E??L??H????eK??H??8?H?T$H?L$USVWATAUAVAWH??$????H??H??E3?H?H??xH??????A?H?H?????A;?tH?H???????t@2??	A?
@?L?mL?m L?m(L?m0H?H???????u	H?
??)??u	H?
?????u	H?
(o?H?
/H??IE?H???H??????H???H???<u?H???H?H???????u	H?
?n?)??u	H?
?F???u	H?

??H?
???IE?H?L$@H??DH???<u?H?D$HH?H???????u	H?
?a?)??u	H?
?<???u	H?
???H?
V???IE?H???H??DH???<u?H???H?H???????u	H?
??)??u	H?
????u	H?
-?H?
????IE?H?? H??H???<u?H??(H?H???????u	H?
X??)??u	H?
?????u	H?
??H?
????IE?H?M?H??fDH???<u?H?E?H?H???????u	H?
:?)??u	H?
????u	H?
?}?H?
?]??IE?H??H??fDH???<u?H??H?H???????u	H?
?y?)??u	H?
?n???u	H?
???H?
d???IE?H???H??H???<u?H???H?H???????u	H?
x8?)??u	H?
[+???u	H?
]Y?H?
4K??IE?H???H??H???<u?H???H?H???????u	H?
???)??u	H?
{????u	H?
???H?
???IE?H???H??H???<u?H???H?H???????u	H?
Ȧ?)??u	H?
k????u	H?
-??H?
???IE?H???H??H???<u?H???H?H???????u	H?
??)??u	H?
?????u	H?
??H?
4??IE?H???H??H???<u?H???H?H??????ȃ?u	H????)??u	H??????u	H????H?????IE?H???@H?ǀ<8u?H???3?H????b????H????P????H????>????H????,????H??p?????H??X????W??E?L?m?E??D??3?H?M??y???H?M?????W??EL?mE??D??3?H?M?R???H?M?????W??E?L?m?E??D?ƲH?M??+???H?M??b???W??E?L?m?E??D?ƲH?M?????H?M??{???L?E?H??pH??H?tl???H??xH?H???H?E?H?E?I??H?M?L??HM??t
I?$I???H?M?H??tH??PL?e?(D$@fD$PH?D$PH?D$@H?D$`H?D$H(D$@fD$`L??pH?T$`H?M`茻???(??f?0H??0H?D$@H??@H?D$H(D$@fD$`L??pH?T$`H?M@?D????H?E?H?D$ L?M`L?E@H?T$0H???אH?H??tH?H???H?C??I??H?ExH???H?L$0H??tH??PL?l$0H?M@?V???H?M`?V??L?E?H???H??@?$k???H??xH?H???H?E?H?E?I??H?M?L??@M??tI?I???H?M?H??tH??PL?}?(? fD$@H?D$@H?D$PH?D$PH?D$X(D$PfD$`L??pH?T$`H?M@?;????(??f??H???H?D$PH???H?D$X(D$PfD$`L??pH?T$`H?M`?????H?E?H?D$ L?M@L?E`H?T$0H???אH?H??tH?H???H?C??I??H?E?H?? H?L$0H??tH??PL?l$0H?M`??T???H?M@?T??L?E?H??XH????i???H??xH?H???H?D$xH?E?I??H?L$xL??M??t
I?I???H?L$xH??tH??PL?t$x(?fD$@H?D$@H?D$PH?D$PH?D$X(D$PfD$`L??pH?T$`H?M@?????(E?f??H???H?D$PH???H?D$X(D$PfD$`L??pH?T$`H?M`衸???H?D$xH?D$ L?M@L?E`H?T$0H???אH?H??tH?H???H?C??I??H?E?H??0H?L$0H??tH??PL?l$0H?M`?qS???H?M@?gS??L?E?H???H???h???H??xH?H???H?D$pH?E?I??H?L$pH??H??t
H?H???H?L$pH??tH??PH?t$p(??fD$@H?D$@H?D$PH?D$PH?D$X(D$PfD$`L??pH?T$`H?M@蓷???(??fE?H?E?H?D$PH?E?H?D$X(D$PfD$`L??pH?T$`H?M`?T????H?D$pH?D$ L?M@L?E`H?T$0H???אH?H??tH?H???H?C??I??H?D$xH???H?L$0H??tH??PL?l$0H?M`?#R???H?M@?R??L?E?H???H????2g???H??xH?L???H?E?H?E?3?H?M?H???H??tH?H???H?M?H??tH??PH?}?(??fD$@H?D$@H?D$PH?D$PH?D$X(D$PfD$`L??pH?T$`H?M@?J????(??fE?H?E?H?D$PH?E?H?D$X(D$PfD$`L??pH?T$`H?M`?????H?E?H?D$ L?M@L?E`H?T$0H??A?ՐH?H??tH?H???H?C??3?H?D$pH?D$PH?L$0H??tH??PH?D$0H?M`??P???H?M@??P??L?EH???H?M???e???L??xI?EH???H?D$0H?M?H???3?H?M?H?]?H??tH?H???H?M?H??tH??PH?]?(??fE@H?E@H?D$@H?EPH?D$H(D$@fD$@L??pH?T$@H?????????(??fD$`H?D$`H?D$@H?D$pH?D$H(D$@fD$@L??pH?T$@H?M`軴???H?E?H?D$ L???L?E`H?U?I???T$0?L?(M??tI?EI???I?E??3?H??pH?D$@H?M?H??tH??PH?E?H?M`?O???H????xO??3?H???L?mxM??tI?MH??H???H??t
H?HH??PL???L??hI?M L???H?????H???H????3?H??hH?E?H??tH?HH??H??hH??t
H??H??PH?E?H??hL???H??hI?M ?oH?D$0H???'3?H???H?E?H??tH?HH??H???H??t
H??H??PH?E?H???L?N?H???I?M ?H?EH????3?H???H?D$xH??tH?HH??H???H??t
H??H??PH?D$xH???L??H???I?M ?H?E H???e3?H???H?D$pH??tH?HH??H???H??t
H??H??PH?D$pH???L???H???I?M ?JH?E(H???3?H???H??pH??tH?HH??H???H??t
H??H??PH??pH???L?l?H???I?M ??
H?E0H????I?UI???????tI?UI???????uFH???ƀ?H?D$0ƀ?H?Eƀ?H?E ƀ?H?E(ƀ?H?E0ƀ?????.yH??hH???;H???????H?
??H??hH?L???H???H???H?L$0H???H?MH???H?M H???H?M(H???H?M0H???Hǀ?I?EH?T$0I??????H?H?M?H??tH???HDž?H??hH???H??tH??PH??hHǀ?H?M?H???H?L$0H??tH??P?I?EI???????t#I?EI???????tL??hI???BD???L??hADž?I???&J????E3?H??`L?(H??pH??tH?HH??P?H??t
H?H???P?H?D$pH??tH?HH??P?H??t
H?H???P?H?D$xH??tH?HH??P?H??t
H?H???P?H?E?H??tH?HH??P?M??t
I?I???P?H?E?H??tH?HH??P?M??t
I?I???P?H?MxH??tH??H??P?M??tI?$I???P?H?%I?$I?$IH?]?H??tYH?u?H;?tf?H?K?g???H??8H;?u?H?]?H?M?H+?H??H??H??L??I???L?H??H?M??L??W??E?E3?L?u??E3?H?]?H??tRH?u?H;?tH?K????H??8H;?u?H?]?H?M?H+?H??H??H??L??I???L?H??H?M??0L??W??E?L?u?H?]H??tTH?uH;?tf?H?K觀??H??8H;?u?H?]H?MH+?H??H??H??L??I???L?H??H?M??K??W??EL?uH?]?H??tWH?u?H;?tDH?K?G???H??8H;?u?H?]?H?M?H+?H??H??H??L??I???L?H??H?M??sK??W??E?L?u?H??X?I???H??p?I???H????I???H????I???H????wI???H????jI???H??xH??tH??P?H??`?GH???H???PH?L$0H??tH???PH?MH??tH???PH?M H??tH???PH?M(H??tH???PH?M0H??tH???PL??`I?EH??pH??tH?HH??P?H??t
H?H???P?H?D$pH??tH?HH??P?H??t
H?H???P?H?D$xH??tH?HH??P?H??t
H?H???P?H?E?H??tH?HH??P?M??t
I?I???P?H?E?H??tH?HH??P?M??t
I?I???P?H?MxH??tH??H??P?M??tI?$I???P?H?%I?$I?$IH?]?H??tWH?u?H;?tH?K?~??H??8H;?u?H?]?H?M?H+?H??H??H??L??I???L?H??H?M??CI??W??E?E3?L?u??E3?H?]?H??tRH?u?H;?tH?K?}??H??8H;?u?H?]?H?M?H+?H??H??H??L??I???L?H??H?M???H??W??E?L?u?H?]H??tTH?uH;?tf?H?K?W}??H??8H;?u?H?]H?MH+?H??H??H??L??I???L?H??H?M?H??W??EL?uH?]?H??tWH?u?H;?tDH?K??|??H??8H;?u?H?]?H?M?H+?H??H??H??L??I???L?H??H?M??#H??W??E?L?u?H??X?[F???H??p?NF???H????AF???H????4F???H????'F???H????F???H??xH??tH??P?I??H??A_A^A]A\_^[]????????????????H?\$UVWH??PI??H??H??D?BE???IH?D$xH?JH??zUH??$?t,????H?H?H?\$xH??$?H??tH??P??*????H?H?H?\$xH??$?H??tH??P?H??H????E3?H???H????OH???TO????H???H???@??uH???H????<H???0O??thH???H???L???L???L???L???H???H?l$HH?t$@H?D$8H?L$0L?T$(H??L?\$ ???u?6????9???H??t
H?H???P?H?\$pH??P_^]?????????H??8L?L$ M??L??H???蕄??H??8?H?\$L?D$H?L$UVWATAUAVAWH??@I??I??L??H??H???H???H?H???H?CI?$?_}???C3?H?S L?{(I?H?MH??tH??H??3?I?H??tH??H??P3?I?H?EI?L?s0I?H?S8?S@H?SHH?SPH?KXW?H?QH?A?H?sxH?H?VH?Vƃ?I??????D???I??B?<u?H???? ??I?$H??tH??H?K H??tH??PH?C I?$H?C I?>MD?H?{8tNM??H?S8H?L$ ?|??H??H;?t+H????H?H?H?WH?VH?WH?V3?H?H?GH?GH?L$ ?I??&|????H??????????H?MH??tH??H??PH?EH??H??$?H??@A_A^A]A\_^]?????????????H?\$WH?? H??H??x?:H?SpH??v1H?KXH??H??rH??'L?A?I+?H?A?H????I???w3?H?{hH?Cp@?{XH?KPH??tH??H??PH?{PH?KHH??tH??H??PH?{HH?K8H??tH??H??PH?{8H?K0H??tH??H??PH?{0H?K(H??tH??H??PH?{(H?K H??t
H??PH?{ H?8?H?CH??H?\$0H?? _??ml?H??????????????H?\$WH?? ??H?????????t
??H???
H?\$0H??H?? _?????????????H?\$WH??@H?y0H?Q8?0?(D?H??H?H?:tbH?t$PH?L$ L??L?t$X?mz??L?wxH??L;?t+I???H?3?I?H?VI?VH?VI?VH?H?FH?FH?L$ ?lL?t$XH?t$PH???y????H?a??L???H?\$`???H??@_????????????H??(H??H?I0H??uH?H(?y????H??(?????????????????H?\$H?T$UVWH??0I??H??H??H?:u3?H?\$PH??0_^]ù??	H??H?D$ H??tL3?H?L$hH?H??tH?HH??H?L$hH??t
H??H??PH?H?D$hL??L?D$hH??H???C???H???3?H?H??tH??H??PH?H??H?\$PH??0_^]????H??x?gn?????????H?QxH??8?#v?????3??????????????̃?uH?T?Å?uH???Ã?uH?[??3?H?????HD???????????H?A@H??tH?@???@SH?? H??Hc?H?I0H??uH?H(?Bx??H???H?? [???????@SH?? H??Hc?H?I0H??uH?H(?x??H?HH+H??H;???H?? [????????????H?A8H??tH?@??̃?uH???Å?uH?X?Ã?uH???3?H????HD??????????????????????????H?\$H?l$ H?T$VWAVH?? H??H??E3?H?H??tH?H???H?k?H??ID?L?t$@H?N H??t
H??H??PH?n H?N??????H?H??t	H??PL?7H?\$PH?l$XH?? A^_^????????????@SH?? H?ً????x3??????H?{ L?C@D???H?S8?? D?H?H?? [?W??????????H?\$UVWH?? H??3?H?IH?E3?D??H?T$@?PP?H?H??tH?H???H?{?H??HD?H?l$PH?N@H??t
H??H??PH?~@H?L$@H??tH??P?H?\$HH?? _^]?????H?\$UVWH?? H??3?H?IH?E3?D??H?T$@?PP?H?H??tH?H???H?{?H??HD?H?l$PH?N8H??t
H??H??PH?~8H?L$@H??tH??P?H?\$HH?? _^]?????H?\$H?l$H?t$ H?T$WAVAWH??@H??H??H?
H??t	H??H??H?M8E3?H??tH??H??PL?}8H?H?E8?0?(L9}0D?H?H??tPL??H?U8H?L$ ?Qu??H??L?uxL;?t)I???}H?I?H?VI?VH?VI?VL?>L?~L?~H?L$ ?RH???t????H?Q???????0Z????H??????????????H?\$WH?? ??H??H???H?H???H?AH??xL?
?????A??-?H?OL?
u????A???H???H?G??t
??H?????H??H?\$0H?? _??????????H??H?XWH??p?@ ?@H?P????t?H??H?D$@H??tg?@H???H?H?#?H?CH?KH?=????H?|$ L?
?????A????H?KxH?|$ L?
?????A??_???3?H?\$8Ƅ$?H?D$0H?D$HH?D$8H?D$PH??$?H?D$XH??$?H?D$`H??$?H?D$hH?L$0H??P0??t?H?L$H?|????H?L$H?m???3?H?L$H?a????H?L$H?R???H?D$8H??$?H??p_????????????????H??(Hc?H??sH?@H?D?xH??(?? ???????????????????H??(Hc?L??H??sH?@????A+L?x??H??(?????????H??(Hc?H??sH?@H?D?H??(??????????????????????H??(Hc?L??H??sH?@?L? A+L???H??(?至?????????3?W?H?AH?A?A H?A0H?A8?A H??????@SH?? H??E??uED8L$Pt*I?I???P ??H?
)?H???HD?H??H?? [?Q)??H?
?H??H?? [?=)??H??H??H?? [?))???????????H?\$UVWH??PH?ݫH3?H?D$@A??I??H????$?H??@??H??uH????(??H??H????(????uH?ߩH???(??@?????uH?˩H???(?????uH???H???(??H??H?(?H???p(????$???????H??H???J(??H??H?HcIHȲ
?&$????H???k???H???C???H??H???(??H??H?HcIHȲ
??#????H???5???H???
???H?HcHHϲ
??#????H??????H??????2?2?L???H???I;???A????uIA???M??????H?$?t"H?H???P H?
7?H????HD??????H?.????????A;?AD?H??I;?u???t?-9??H??H???2'????t?99??H??H???'??H???H???H;????H??H?{vH?L?C H?L$ ?%%???L?@H?xvH?H??H???{????H?T$8H??v.H??H?L$ H??H??rH??'H?I?H+?H???H??w+??H??H;?u?H?L$@H3????H?\$pH??P_^]??T??????H?\$ UVWATAUAVAWH?l$?H??)?$?H??H3?H?E?I??L??L??L?}w3?E????ugL??@??tI?I???P H?
:?H?S???HD??H?$?I????%??H?H?????fo5?+????@????H?H?????D??H?U?I???H?v?H?M??}??H???u}???D$A?D$ D?L$\L?D$xH?U?H?L$h??????>????H?_?H?M??6??H???.}???D$A?D$ D?L$\L?D$xH?U?H?L$h?}??????u>H?M?H?M?????H????|???D$A?D$ D?L$\L?D$xH?U?H?L$h?;??????u;H?
?H?M????H???|???D$A?D$ D?L$\L?D$xH?U?H?L$h??????$?T$A?T$ D??L?D$xH?U?H????????|$\uQL?
??A?H?U?H?L$h?????L?
??A?H?U?H?L$h????L?
??A?H?U?H?L$h????H?L$xH??P??u!?|$\uH???H?M?????H????{???H?L$xH??P?D$\?|$@t$??uL?
o?A?H?U?H?L$h?;????D$\?|$AuX??uTH?L$xH??????~H??H?M??z??H???r{??H?L$xH??????~H?Y?H?M??P??H???H{???D$P?|$p~ZL?d$xD?|$p?|$PH?\$hfDI?$??I?????L??A?H?U?H????????A;?|??\$@?|$@D?|$@D?d$@H?L$xH????9D$p??H?t$xD?t$pL?d$h?H?A??H?????H?D$HH?Y?H?M????L??A?H???I???7?H??I????p??H??H?F??Y??H??H?T$H?L??H??H????=??H???5z???H???蘅??A??H?H?????D;??`????t$@D?t$@D?d$@D?m?H?D$pL?D$xI???I+HxH??>???H??H??H??H???H???H?D$P?3?H?E?ff?H??H????a???L?L$`L???H??H????6h??A???D?l$XH?D$xL?D$PL@xI?HH????????H+?H???f4M??I?xvM?H?D$0H??H?D$(H?L$ ??H???????A??D?l$XL???L???@??H??H????A??D?m?D?l$XL??HH??`LG?HA?H?U?H?L$h?:????H??H?
????H????????H???????H?E?H??H?E?H??
?????L?L$pI??L?L$pH?D$PL?D$xI???I+HxH??>???H??H??H??H???H?L;??t??????tH?ԡH?M????H???x??L?D$x?D$PM???I???L?L$PM??H?M??????L9(tH?M??|$\H???tH???????!??H??H?M????H???w??H?L$xH??P@H??H?????????H???H?E?H?&?H????????H?D$HH???H?E?H?7?H???????L??H???H????i????H?L$HH?L$ M??L??H??HH?L$h?w4H??H???????H??H?\???H???H?E?H??H????.???H?D$HH???H?E?H???H???????L??H???H?????????H?L$HH?L$ M??L??H??HH?L$h??3H??H???????H??H?ȁ??H???H?E?H???H???????H?D$HH???H?E?H??H????w???L??H???H????A????H?L$HH?L$ M??L??H??HH?L$h?O3H??H????p???H??H?4???H???H?E?H???H???????H?D$HH???H?E?H???H????????L??H???H????????H?L$HH?L$ M??L??H??HH?L$h?2H??H????????H??H蠀??H???H?E?H?.?H????r???H?D$HH???H?E?H?#?H????O???L??H???H????????H?L$HH?L$ M??L??H??HH?L$h?'2H??H????H???H??H????H???H?E?H???H????????H?D$HH???H?E?H???H???????L??H???H????????H?L$HH?L$ M??L??H??HH?L$h?1H??H???????H??H?x??H???H?E?H?N?H????J???H?D$HH???H?E?H?C?H????'???L??H???H?????????H?L$HH?L$ M??L??H??HH?L$h??0H??H???? ???H??H??~??H???H?E?H?ޝH???????H?D$HH???H?E?H???H???????L??H???H????]????H?L$HH?L$ M??L??H??HH?L$h?k0H??H???????H??H?P~??H???H?E?H?b?H????"???H?D$HH???H?E?H?;?H????????L??H???H?????????H?L$HH?L$ M??L??H??HH?L$h??/H??H????????H??H?}??3??ЉE?D?m?9E????W??hH??xHDž?ƅh?HH??XHDž`ƅHH?L$xH??P`??u2A?H?i?H??h????A?H?XH??H?????H?L$xH??U??Px?E?H?D$xH?L????U?H??A??W??(3?H??8H??@I??????f?I??B8u?H??H??(??k????M????؉D$p??y??H?????d??H?P??-???H????d??H?ЋD$p?D$pL?L$`L???H??(?_??A??`D?l$XL??8H??@H??I+?H????I?@H??8H??(H??HG?(H?T$HH?V?H;?v-J?H?
@?H;?wH;?wH?D$P?H??H+?H?D$P?	H?D$PH?JI???5,L?D$PH???H?L$H?,H?L$HH?T$PH?A?L+?H?֚H??H???+H??(?M????.?H?D$(H?
??H?L$ E3?E3???H??(??a???L$p?L$PW???3?H???H?????H??H?HH?@?A??D?l$XA?H?2?H???薆??E???@E???H?@H?@?A??D?l$XL???I??vH???H?????????D$p?D$PHDž?HDž?ƅ?H??(?[z???E?H?????y?T$P?tb??H???-????eb??L?L$`L???H??H??H?j]??A???D?l$XL??XH??`H??I+?H????I?@H??XH??HH??HG?HH?T$HH??H;?v-J?H?
?H;?wH;?wH?D$P?H??H+?H?D$P?	H?D$PH?JI????)L?D$PH???H?L$H??)H?L$HL?L$PI?A?M+?H???I??)H??H?*?H?D$(H?
v?H?L$ E3?E3???H??H?_??W??3?H??H?? ?H?H?HH?@?A??D?l$XA?H???H???a???E???@????H?@H?@?A??D?l$XL?? I??vH??H??????HDžHDž ƅH??H?+x??H??HH??xH?E?H????????H+??|$\??H????'L??hH???LG?hH?D$0H??H?D$(H?L$ L??hA??H????????A??D?l$XH??(H??@HG?(L??8H????+???W??3?H??H?? ?H?H?HH?@?A??D?l$XA?H?O?H???˂??W??HE3?L??XL??`?HH?XL?@H?@D?A??D?l$XH???H?E?W???L???L???H???M?fo?fs?fH~?H??HGU?H?T$pfH~?H?D$PI????????I;??8&H??wH???HDž????mH??I;?vI???
H???HB?H?D$HH?T$HH???薳??H???L?D$PL???H?L$HH???I??H?T$pH???W&E3?I????????W??(L??8L??@H???H?D$PH???H??HG??H?L$pI;??X%H??wH??8HDž@?(?aH??I;?vI???
H???HB?H?D$HH?T$HH??(輲??H??(L?D$PL??8H?L$HH??@I??H?T$pH???}%?H??HH?D$ L???L??(H??hH?L$h??&H?D$HH???H;?tbL??I??vH???H???????H?D$H3?H???HDž?????H??H?HH?@?H??h?bt???L?? I??vH??H??????HDžHDž ƅH????t??H???H?E?H????????H??XH+?H????#H??HH??`HG?HH?L$0H?D$(H?D$ L?
??L??HA??H????????A???D?l$XH??H?E?W??E3?L??L?? H?????fo?fs?fH~?H??HGU?H?T$pfH~?H?D$PI????????I;???"H??wH??HDž ??mH??I;?vI???
H???HB?H?D$HH?T$HH???Y???H??L?D$PL??H?L$HH?? I??H?T$pH???#E3?I????????W??(L??8L??@H???H?D$PH???H??HG??H?L$pI;??"?uH???<"L??hH???LG?hH?D$0H?N?H?D$(H?L$ L??hA??H????-????M?H??(H??@HG?(L??8H????}??W???3?H???H?????H??H?HH?@?A??D?l$XA?H???H????}??W??HE3?L??XL??`?HH?XL?@H?@D?A??D?l$XH??H?E?W??L??L?? H???M?fo?fs?fH~?H??HGU?H?T$pfH~?H?D$PI????????I;??? H??wH??HDž ??mH??I;?vI???
H???HB?H?D$HH?T$HH??????H??L?D$PL??H?L$HH?? I??H?T$pH??? E3?I????????W??(L??8L??@H???H?D$PH???H??HG??H?L$pI;???H??wH??8HDž@?(?aH??I;?vI???
H???HB?H?D$HH?T$HH??(????H??(L?D$PL??8H?L$HH??@I??H?T$pH?????H??HH?D$ L??L??(H??hH?L$h?5!H?D$HH???H;?tbL??I??vH???H????d???H?D$H3?H???HDž?????H??H?HH?@?H??h?n???H????n???H????n??H???H?E?H????????H??XH+?H???XH??HH??`HG?HH?L$0H?D$(H?D$ L?
??L??H@??H????[???A??D?l$XH??H?E?W??E3?L??L?? H?????fo?fs?fH~?H??HGU?H?T$pfH~?H?D$PI????????I;???H??wH??HDž ??mH??I;?vI???
H???HB?H?D$HH?T$HH???ߪ??H??L?D$PL??H?L$HH?? I??H?T$pH???E3?I????????W??(L??8L??@H???H?D$PH???H??HG??H?L$pI;???H??wH??8HDž@?(?aH??I;?vI???
H???HB?H?D$HH?T$HH??(????L?D$PH?L$HL??8H??@H??(I??H?T$pH?????H???H?D$ L??L??(H??hH?L$h?*H???H;?H?D$HtbL??I??vH???H????Y???H?D$H3?H???HDž?????H??H?H?H?@H??h?k???H????k???H????k???L??@I??vH??(H??(??????L??`I??vH??HH??H????3?H??XHDž`??HL???I??vH??hH??h?u???3??U??‰U?;U??b???H?L$xH?????U?;??-f?H?L$xH??Px?D$PH?D$xH?L????U?H??A??W??H3?H??XH??`I???????I??B8u?H??H??H?Y????D$P??H?????y???R??H???-??R??L?L$`L???H??H????M??A?̀D?l$XL???H???H??I+?H????I?@H???H???H??HG??H?T$HH?-?H;?v+J?H?
?H;?wH;?w
H?E??H??H+?H?E??H?E?H?JI???L?E?H?؈H?L$H??H?L$HH?U?H?A?L+?H???H??H???H????*?H?D$(H?
??H?L$ E3?E3???H????O??W??3?H??H?? ?H?H?HH?@?A??@D?l$XA?H??H???t??????@E???H?@H?@?A?? D?l$XL?? I??vH??H???????HDžHDž ƅH???H??v4H??H???H??H??rH??'H?I?H+?H???H?????HDž?HDž?ƅ??D$PH?????y?؋??P??H???-????P??L?L$`L???H??H????K??A??D?l$XL???H???H??I+?H????I?@H???H???H??HG??H?T$HH???H;?v-J?H?
??H;?wH;?wH?D$P?H??H+?H?D$P?	H?D$PH?JI???L?D$PH?_?H?L$H?yH?L$HH?T$PH?A?L+?H?8?H??H??PH????*?H?D$(H?
?H?L$ E3?E3???H????-M??W??hE3?L??xL????hH?xL?@H?@D?A??D?l$XH??xH???H??H+?H??r-H?AH??xH??hH??HG?hf?$H??h?'H?D$ L?
N?E3??H??h??X??E3??H??@????L?@H?@?A??D?l$XH???H??v7H??H??hH??H??rH??'H?I?H+?H???H??????E3?L??xHDž?ƅhH???H??v7H??H???H??H??rH??'H?I?H+?H???H???,趽E3?L???HDž?ƅ?H??H?D$pW??HDžHDž ????????ƅ
H??H?E??L??L?? H???H???H?E?M?fo?fs?fH~?H?U?H??HG?H?M?fH~?H?D$HH????????H;???H??w!H??HDž ??H??H;?vH?T$PH??H??'?6H???HB?H?D$PH?HH??uI???BH??r,H?A'H;???H????H????H?H'H???H?A????H??H?D$PH??L?D$HL??H?? I??H?U???E3?H????????W??(L??8L??@H???H?D$HH???H??HG??H?M?H;??zH??w!H??8HDž@?(?H??H;?vH?T$PH??H??'?6H???HB?H?D$PH?HH??uI???BH??r,H?A'H;???H?????H????H?H'H???H?A????H??H?D$PH??(L?D$HL??8H??@I??H?U????H??H?D$ L??L??(H???H?L$h?*H?D$HH???H;???H??H??v9H??H???H??H??rH??'H?I?H+?H???H?????l?H?D$H3?H???HDž?????H??H?HH?@?H???H??v4H??H???H??H??rH??'H?I?H+?H???H???w??H??H?E?W??HDž	HDž ?v????o???ƅH??H?E?W??E3?L??L?? H???H??HH?E???fo?fs?fH~?H?T$pH??HG?H?M?fH~?H?D$HH????????H;???H??w!H??HDž ??H??H;?vH?T$PH??H??'?6H???HB?H?D$PH?HH??uI???BH??r,H?A'H;??9H???`?H???"H?H'H???H?A???D?H??H?D$PH??L?D$HL??H?? I??H?U??*E3?H????????W??(L??8L??@H???H?D$HH???H??HG??H?M?H;???H??w!H??8HDž@?(?H??H;?vH?T$PH??H??'?6H???HB?H?D$PH?HH??uI???BH??r,H?A'H;??H???>?H???H?H'H???H?A???"?H??H?D$PH??(L?D$HL??8H??@I??H?U???H??H?D$ L??L??(H???H?L$h?lH?D$HH???H;???H??H??v9H??H???H??H??rH??'H?I?H+?H???H???T讶H?D$H3?H???HDž?????H??H?HH?@?H???H??v5H??H???H??H??rH??'H?I?H+?H???H????
?+??H?T$pH??v2H??H?M?H??H??rH??'H?I?H+?H???H????
???H?U?H??v2H??H?M?H??H??rH??'H?I?H+?H???H???d
貵?H??`H??v4H??H??HH??H??rH??'H?I?H+?H???H???@
?p??E?H?L$xH?????U?;??????????D$8H???H?D$0?E?D$(?D$A?D$ D?L$\L?D$xH?U?H?L$h?????|$\?)W???HDž??H??ƅ?A??D?l$X3???H????Uh??$"<t!H?E8L?M??tH?EH?L;E`LBE`L+??5??u"H?E0L?M??tH?EH?H?EHLcL+?M??L???H???H??tH???????H??A??A??D?m?D?l$XH???H?E?H;?t&H???[????H?E???H?gH???]L??H???H???讼???BW??HDž?H?? ƅA??
D?l$X3???H????Uh??$"<t!H?E8L?M??tH?EH?L;E`LBE`L+??5??u"H?E0L?M??tH?EH?H?EHLcL+?M??L???H???H??tH???u???H?? A??
A??	D?m?D?l$XH?E?H?? H??H;?t$H???_Z???H?E?@ ?H0?S??H??hH?E?I?I?????D??H??hI???EH?؋?H??(?????L??H?Y?H???????L?A?H??H??(?????L?F?H??H???Ϗ???L??H??H??H茏???L?L?H??H??h襏??H??H???H?E?H?(rH????d???H??I??H????2????H?|$ L??L??H???I???GH??I???l???H????0R???H??H?#R???H???R???H??(?	R???H????Q???H??(??Q???H??h??Q??H??hH?E?I?I?????D??H??hI????H?؋?H??(?????L??H???H???a????L??H??H??(芎???L???H??H???s????L??H??H??H?0????L??H??H??h?I???H??H???H?E?H??pH???????H??I?U H????՝???H?t$ L??L??H???I????H??I?M ????H?????P???H??H??P???H???P???H??(?P???H???P???H??(?P???H??h?P??I??H??hH3??b?H??$?H??pA_A^A]A\_^]??
???[?????[?????[?????[?????[????[????[????[????[????[????[????[????[????F
??@
??:
??4
??6[????0[????"
??
??[????[????

??
???	??@[????:[????4[????.[?????	????????H??3?W?H?BA??uH?Bf?.x?BH??H???A??u'H?B??lf???l?BH???BH???A??uH?B?.xyz?BH??H???A??u&H?B?Rl??Ml?BH???BH???H?B?H??H???????????H??3?W?H?BA??u&H?B??k???k?BH???BH???A??uH?B?vec2?BH??H???A??uH?B?vec3?BH??H???A??uH?B?vec4?BH??H???A??uH?B?mat4?BH??H???H?B?H??H?????????H?\$UVWATAUAVAWH??pH?E]H3?H?D$`M??I??L??H?T$@H?T$0L?D$HL?L$PL??$?L?t$XE3?E3?I??H???2???H??H?????I?I?VM??I?~vM?H?T$ L??H??H???????I?VH?I?I??I?vI?/H?FH??H?L$0H?~vH?H?L$0H;?wzH+?H;?wrH??tcL?$H?D?mM?D$L+?A???H??H??tI@L??H??H???B??t H??M?D$L+?A??H???H??H??u??H+\$0I?VH????.???L?l$@E3?W?AEM?eM?eAENAMH?FL?fH?F?I?WH??v0I?H??H??rH??'L?A?I+?H?A?H????I???٤M?gI?GA?I?VH??v,H??I?H??rH??'L?A?I+?H?A?H??wFI??蓤M?fI?FA?I??H?L$`H3??˫H??$?H??pA_A^A]A\_^]????????????@SH??H?[H3?H?D$pH?H?L$0諢??D$ i?`?L$(H?H8H??tHH?L?D$ H?T$(?PH??H?L$hH??tL?H?D$0H;???A?P H??H?L$pH3?? ?H?Ā[???z??H;?thH?\$H?t$WH?? H??H??3?@H?K`H??tH?L?@ H?C(H;???A??H?s`H?H??t	H??PH?3H??`H;?u?H?\$0H?t$8H?? _???H;?t.H?\$WH?? H??H??H???CR??H?? ]H;?u?H?\$0H?? _?????????????H;?t.H?\$WH?? H??H??H??蓗H??8H;?u?H?\$0H?? _?????????????H?L$SVWATAUAVAWH?? M??L??H??H?M??L+?I??H?AH+?H??H????????H;???L?xH?IH+?H??H??H??H??H+?H;?wH?
I;?IB?H?\$hH??H???=?H??H?D$xN?4?I?MI?L?GH?H??M;?uL+??M??L+????I?NL?GM+?I??????L??M??H??H????I??H?? A_A^A]A\_^[??^?????????????????@SVWATAUAVAWH??H?vXH3?H??$?L?D$@L??H??H?L$HL?H??I+?I???.?袋.I??H??L??I??I??H???L?H?OI+?I??H??H??H??H???H?H?.?袋.?H;??PL?bH?OI+?I??H??H??H??H???H?H??H??H??H+?H;?wH?I;?IB?H?\$8H?L$`?y???D$ i?`?L$(H?H8H????H?L?D$ H?T$(?PH??H?D$XH??$?H??t$H?L?A H?L$`H;???H??A??HDŽ$?Mi?`L?M??`L?|$PL?|$0H?T$@I???3L?t$0H?WH?L??L??L;?u??.? I???r/H?t$0L??M??H?WI???[/?L??M??H??H???Y?I??H??$?H3??V?H?İA_A^A]A\_^[??n??????v????????H?\$H?l$H?t$WAVAWH?? I??H??L??A?xueE3?DL?GH??I???????H??H??H?shH?N8H??tH?H;????P L?~8H?K@H??t
H??PL?{@A?H??H??????t?H?\$@H?l$HH?t$PH?? A_A^_???????????H?\$H?t$WH?? H??H??H?zhH?O8H??tH?H;????P H?G8H?K@H??tH??PH?C@A?H??H???2??H?\$0H?t$8H?? _??H??H?XH?pH?x UATAUAVAWH???)p?H?l$@H???H?MUH3?H???H??H?UH??H?MH;??#L??`L;??M?pTL?uM?xHL?}E3?f?I??I?$M?,$H?E`I?D$H?EhI?D$H?EpA?D$?ExA?D$?E|A?D$?E}A?D$?E~A?D$?EA?D$ ???A?D$!???A?D$"???A?D$#???A?D$$???L???I?T$(H????_?AD$h??AL$x??A?$????A?$????A??$???A?$?)?A?$?)? A?$?)?0?A?$???@A??$???DA??$???HA??$???L?A?$???P?A?$???TA??$???XI??$H??`?A?$??hA??$??p?A?$??tA?$ )??A?$0)??A?$@)??I??H?????I??H????(??)E (??)M0(??)E@H??`H?M ?6?\?Y?(???U(??X??ɪ?X?I??H??0耟I??H?? ?q?? )E ?0)M0?@)E@H??pH?M ???\? Y?0(???U(??X??Ҫ?X?/??L;?t"fff?H??H??`H????BH;?u?H?]`L?m`H?H??tH??PH?H?EhH?FH?EpH?F?Ex?F?E|?F?E}?F?E~?F?E?F????F ????F!????F"????F#????F$H?^(H???H;?t(H?K8H??tH?H;????P L?k8H???H???4???Fh??Nx???????????????(???(? ??(?0????@?????D?????H?????L?????P?????T?????X???H??`H????h????p????t??(??? (???0(???@?I??$????I??H?????I??H????ڜ(??)E (??)M0(??)E@H??@H?M ?)?\??Y??(???U(??X??ɪ?X?I??H????s?I??H????d?AD$?)E AL$?)M0AD$?)E@H??PH?M 趞\??Y??(???U(??X??Ҫ?X?/???H?uf?L??L?7H?H?H??tH??PL?3H?GH?CH?GH?C?G?C?G?C?G?C?G?C?G?C?G ?C ?G!?C!?G"?C"?G#?C#?G$?C$L?s(L?(M;?t(I?N8H??tH?I;????P I?F8I??I???X?GhChOxKx??????????????????????????????????????????????????????????????????????H??H??????????????? ? ?0?0?@?@H??H??`H??H????&?L?}I??H?????(??)E (??)M0(??)E@H??@H?M ?b?\??Y??(???U(??X??ɪ?X?H??H???謙I??H???蝙AE?)E AM?)M0AE?)E@H??PH?M ??\??Y??(???U(??X??Ҫ?X?/??B???H?uL?uE3?H?}`L?m`H?H??tH??PH?;H?EhH?CH?EpH?C?Ex?C?E|?C?E}?C?E~?C?E?C????C ????C!????C"????C#????C$H?{(H???H;?t(H?O8H??tH?H;????P L?o8H???H??????Ch??Kx???????????????(???(? ??(?0????@?????D?????H?????L?????P?????T?????X???H??`H????h????p????t??(??? (???0(???@H?}H???H??tH?H???H;????P L???H?M`H??tH??P?I??`L;??	???H??H???H3?臚L??$?I?[8I?s@I?{HA(s?I??A_A^A]A\]??H?\$UVWATAUAVAWH??)?$?H?l$PH???H??IH3?H?? I??H?]L??H+?H???.?袋.H??L??I??I??H???L?L?m(M??I??M????I?}?H??H?}Ii?`H??H?3?I??L?} H??`H?uH?F?H?N?H???H?F?H???H?H????F????F????F
????F????F????F????F????F????F????F???H??H?VH?????FX?Nh?Fx?(?????8?????@??)?P??)?`??)?p??????????????????????????????????????????H???H????????????????????)??? )???0)??M??L;??QH?sTL?{HL?mI???H??H?Mp?4?I??H?M`?(?Hi??B?7?)E0B?7?)M@B?7)EPH??H?M0?j?\M`YMp(???U(??X??ɪ?X?H??H???躓I??H???諓B?7?)E0B?7?)M@B?7?)EPH??H?M0???\??Y??(???U(??X??Ҫ?X?3?/???H??H?XHi?`I?Ii?`I??57L??I;??????H?]H?uL?} L?m(H?}L;?u*A??u$Ii?`H? ???I?Ii?`I???6M?e?H?\$ L???M??I??I????H??H??tH?H???H;????P HDžH???H??tH??P?M????2???H?? H3???H??$?(?$?H?ĐA_A^A]A\_^]???????????????H?\$H?t$L?L$ WH?? I??H??L??H??H?L$H??9??tH??H???L??H?L$HH???9??t*H??H???hL??H?L$HH???9??tH??H???IH?\$0H?t$8H?? _??????????H?\$ UVWATAUAVAWH??)?$?H?l$@H???H?qDH3?H???I??H?]M??L?EL??H?UH?MI??H+?I???.?袋.I??H??H??H??H???H?H??Li?`M?I??$????H??I+?I??H??H??H??H???H?H??(~uH?BH??Li??Hi?`H?EL?<M?I??H??????N?.I??H+?L??I??????H+?M??$????I??I+?L??H???g???L??L??I??I???V???L?u?L??I??I???B???I??`M;???I?u?H?STH?MP?Q?H?SHH?M`?D?)E N)M0F )E@H???H?M 蝒\M`YMP(???U(??X??ɪ?X?H?STH?????H?SHH?Mp?ߏ?`)E ?p)M0??)E@H??H?M ?.?\UpY??(???U(??X??Ҫ?X?/??H?STH????q?H?SHH????a??`)E ?p)M0??)E@H???H?M 谑\??Y??(???U(??X??ɪ?X?H?STH??????H?SHH?????)E N)M0F )E@H???H?M ?B?\??Y??(???U(??X??Ҫ?X?/?wI??`H??`M;??!???I;???H?? @fff?H?STH????P?H?SHH????@?)E N)M0F )E@H???H?M 虐\??Y??(???U(??X??ɪ?X?H?STH?????H?SHH????ҍA? )E A?0)M0A?@)E@H??H?M ??\??Y??(???U(??X??Ҫ?X?/???H?STH?Mp?a?H?SHH????Q?A? )E A?0)M0A?@)E@H???H?M 蝏\??YMp(???U(??X??ɪ?X?H?STH?MP??H?SHH?M`?ߌ)E N)M0F )E@H???H?M ?8?\U`YUP(???U(??X??Ҫ?X?/?wH??`H??`I;?????L?uH??H?}PM??I;???L?sTH?CHH??f?I??H????A?H??H????2?A? )E A?0)M0A?@)E@H??pH?M ?~?\??Y??(???U(??X??ɪ?X?I??H????ȋH??H???蹋? )E ?0)M0?@)E@H???H?M ??\??Y??(???U(??X??Ҫ?X?/??fI??H?Mp?L?H??H????=?? )E ?0)M0?@)E@H???H?M 茍\??YMp(???U(??X??ɪ?X?I??H?? ?يH??H???ʊA? )E A?0)M0A?@)E@H???H?M ??\?Y? (???U(??X??Ҫ?X?/???H;?thH??H????H??H???V.H??H???G.?H??`H??tH?H??(H;????P HDž`H??H??tH??P?H??`H??`I;??????H?uPH?]L?uM;???L?cTH?sHM??????H?]ff?I??H??@衉H??H??0蒉A? )E A?0)M0A?@)E@H???H?M ?ދ\?0Y?@(???U(??X??ɪ?X?I??H??`?(?H??H??P??A? )E A?0)M0A?@)E@H???H?M ?e?\?PY?`(???U(??X??Ҫ?X?/??oI??H???覈H??H???藈A? )E A?0)M0A?@)E@H???H?M ??\??Y??(???U(??X??ɪ?X?I??H????-?H??H????A? )E A?0)M0A?@)E@H???H?M ?j?\?Y??(???U(??X??Ҫ?X?/???I??`M;?thI??H??`?_?I??I???+H??`I???+?H???H??tH?H???H;????P HDž?H??`H??tH??P?I??`I??`I;?????H?]H?uPL?eL?uM;???I;??cH;?thI??H?????H??I????*H???H????*?H?? H??tH?H???H;????P HDž H???H??tH??P?H??`I??H?? ?J?H??I???*H?? H???*?H???H??tH?H??HH;????P HDž?H?? H??tH??P?I??`H??`H?uP????I?Ǡ???I;???I??`M;?thI??H?????I??I????)H???I????)?H???H??tH?H???H;????P HDž?H???H??tH??P?H??`I??H????@?H??I???)H???H???u)?H??@	H??tH?H??	H;????P HDž@	H???H??tH??P?????H??H??@
???I??H???)H??@
I???)?H???
H??tH?H??h
H;????P HDž?
H??@
H??tH??P?H??`H?uP?=???H?EL?(H?xH???H3?? ?H??$X(?$?H??A_A^A]A\_^]??????????????L??SUVWATAUH??H?G7H3?H??$?H??$`M?`?M?s?I??M??M?{?I??M??L?L$0L??H?T$8H??H??I;??bH?CHA)s?L?cTH??I??H??$????H??H?L$@?ӃHi??H??$?H?L$P?/??/?)D$P?/)L$`)D$p??I??H??$?\L$@Y?$?(?(???U?X??ɪ?X??]?H??H??$??M??/?H??$??/?H?L$P)D$P?/?)L$`)D$p蔅3?\?$?Y?$?(?(???U?X??Ҫ?X?/???H??Ii?`H?4pHi?`H?H???&L??I;??????(?$?M?e?H??$`H?|$0L??$?I;?L??$H??u)A??u#Ii?`Hi?`H? ???H?H??p&I??L?D$8L??H??H?\$ ?(H??$?H3??ȅH??A]A\_^][?????????L??SUVWAWH???H?	5H3?H??$?H?Z?M??H??I??H??H??L;??gH??$0M?cM?k?M?s?L?`TA)s?L?hH?I??H?L$`賁I??H?L$P要Li?`H??$?L?H?L$ A? A?0)D$ A?@)L$0)D$@??I??H??$?\L$PYL$`(?(???U?X??ɪ?X??0?I??H?L$p?#?A? H??$?A?0H?L$ )D$ A?@)L$0)D$@?j?\T$pY?$?(?(???U?X??Ҫ?X?/?v$Hi?`I??H??$H??H??H??H;??????L??$?L??$?L??$ (?$?Hi?`I??H??y$H??$?H3???H???A__^][????????????H?\$ H?T$H?L$VWAVH?? L??H??H?yH+9H??H??@?H??H?D$PL?CH?L+?H?????M?L??H??H??H?\$XH?? A^_^?ǧ???????H?T$H?L$SVWAVAWH?? L??H??L?AL+I???.?袋.I??I??H??H??H??H???H?I???u???H??H?D$`L??L??H?SH??[
?M?6H?H??t2L??H?S?????H?KH+I??H??H??L??I???L?H?H???m?H?;Hi?`H?H?CIi?`H?H?CH?? A_A^_^[???H?L$SVWAVAWH?? L??H??H????????H;???L?yL+9I??H?IH+H??H??H??H??H+?H;?wH?<
I;?IB?H?|$XH??H???ŭH??H?D$hJ??M??M+?N??3??$?L?CH?L+?H???r??H?H??t1H?SH+?H???H??rH??'L?A?I+?H?A?H??w'I???`zH?3J??H?CH??H?CH?? A_A^_^[??????Z????????????????H?\$H?t$ WATAUAVAWH???H??0H3?H??$?L??H??I??k/??I;??H?t$8H?IH+I??z?ڋ??I??H??L?<I??I??H???L?H?NH+I??H??H?H??H??H???H?H??H??I??H+?H;?wL?4M;?MB?L?t$HH?L$p??wH?H8?D$ Ai? ]?D$(H???oH?L?D$ H?T$(?PL??H??$?H??tH?H?T$pH;????P HDŽ$?L?d$PIi? ]I?H?\$@H?\$0I??I+?H?\$XH?\$`H?t$hH??tH????hH?? ]H?\$`H????H?\$0L?~I??H?I;?t+?A? ]H??H???o?H?? ]H?? ]I;?u?H?H??tMH?~H;?tH???'??H?? ]H;?u?H?NH+H??z?ڋ??H??H?H??L??I???L?H?H???׬L?&Ii? ]I?H?FIi? ]I?H?FH??$?H3??XL??$?I?[@I?sHI??A_A^A]A\_??fX?????N????????????????H?\$H?t$ WATAUAVAWH???H?o.H3?H??$?L??H??I?? 
? 
?I;??HH?t$8H?IH+I?i?i?iI??H??H??H??H??H???H?H?\$(H?NH+I??H??H??H??H???H?H??H??I??H+?H;?wL?<M;?MB?L?|$HH?L$p?vH?H8Ai?8?D$ H????H?H?T$ ?PL??H??$?H??tH?H?T$pH;????P E3?L??$??E3?L?l$PHi?8I?H?\$@H?\$0I??H+|$(H?\$XH?\$`H?t$hH??tH???RjH??8H?\$`H????H?\$0H?FH?D$(H?>H;?ttI?]`?W?C?L?s?CCC(L?s?L?3?C8?????C?D?sIi? ]I?H?E?H??I;?t"M??H?????H?? ]I;?u?M???H?E?I?]@?DvFH?KI+?I??H??H?H??H??H???H?L;?I??vL?EwH???%????I+?L??I???????H?CH?H?EH?KH;???H??ff?H?N ??F?uH?AH??H9Fw
?H???ؒH?VH?U????H#NH?NH?^ H?L??I??L?b?M#?H?FJ?`H???H?SH?KH?|$0H??H??rL?A?H??'I+?H?A?H??w*I???`H?sH?sH??H?3H?\$8H?? ^??_?????H?\$H?t$WH?? H??H?I 3?H??tDH?CH??H?H?SH??H#?H?CH?_H???H?SH??H?KH??rH??'L?A?I+?H?A?H??w/I???_H?sH?sH?H?3?H?\$0H?t$8H?? _??^?????H?	?$V????????@SH?? H??L?M?@H???ؾ???A?H?H?????H?? [????????????????H?\$WH?? H??H?yHH?O8H??tH?H;????P H?G8H?K H??tH??PH?C H?\$0H?? _?@SH?? H??H?IH??tH??PH?CH?? [????????????[?????????????????????????????@SH?? H??H?	H??tFL??H?S????H?KH+H???.?袋.H??H??L??I???L?H?H??覑3?H?H?CH?CH?? [????H?\$H?t$WH?? H??H?H??tZH?yH;?tH???u??H?? ]H;?u?H?NH+H??z?ڋ??H??H?H??L??I???L?H?H???ɑ3?H?H?FH?FH?\$0H?t$8H?? _?????????????H?\$H?t$WH?? H??H?H??tWH?yH;?tH???uQH??8H;?u?H?NH+H?i?i?iH??H??L??I???L?H?H???ܑ3?H?H?FH?FH?\$0H?t$8H?? _????????????????H?\$WH?? H??H?y(H?O8H??tH?H;????P H?G8H?H??t
H??PH?H?\$0H?? _???H?QgH???????H?\$H?l$H?t$WAVAWH?? H??H??jH?H?nH?AH?IH?W H+?H?i?i?iH??H??H??H???H?t?sRL??0I?H??xue?@b?@_H?H?yt&H?H?yu@H;Au
H??H?I?yt?H???'H??H??zu@?H??H?
H?рyt?xt?H???S1??H???$?H??u?H????2???H??HH?K83?H??tH?H;????P H?k8H??@H??t
H??PH??@H??8H??t
H??PH??8H??0H??t
H??PH??0H??(H??t
H??PH??(H?? H??t
H??PH?? H??H??t
H??PH??H??H??t
H??PH??H???H??t
H??PH???L???M?@H???H????*????A?H???H????P??H??xH?I???.?袋.H??t=L??H?S?
???H?KH+I??H??H??L??I???L?H?H??褍H?+H?kH?kH??`H?H??t=L??H?S辵??H?KH+I??H??H??L??I???L?H?H???X?H?+H?kH?kH??@L?
o????A??+b?M?M?@I??I???H?H??H??A???R ??~kW?H?T$0H?L$`D$0D$@D$P?\JH???H???P(L?l$(E3?H??M??H?D$`H??H?D$ ?????H??tNH??H????>H?H?????P ;?|?E??tpH????H??H??tH????FH??H??uH??D??\?CH??H???cI3??5H??I???d???E3?3?H???I??H????D??\H??H??$?H??$?L??$?H??$?H3???LH?İA_A^A\^]???H?\$WH??0L???I??H??L??M??u
3?H?\$@H??0_?L???H???I??H??H??H#?H???I?ȃ?H??H??I?C?I???H??u	I????I?@I???L?L$ L??L??I???CH?\$@H??0_????E???aH??H?PATAVH??H?XL??H?h?L??H?p?H?i?i?iH?x?L?h?L??L?x?M???A??)p?W?H??$?@f?I??0H??{??@???0?AL$/?r/?w(??\???0?(?H?KP???H?C?xt(H?C?xufDH;Xu
H??H?@?xt?H???'H?H?؀yu@?H?H??H?Ȁxt?{?g???I??M;???L?%dV@M?FH??I?N H?I+?H??H??H??H??H???H?H???JH?GH+?H??H???5?;???I?i?i?iD??H?T$@Hi?8H?D$@L?t$(H?|$0I?D$(?\$8?l$????FE3?M??`I??hI+?H???.?袋.H??H??H??H???H??E??H???.?袋.?K?4L??$?I??H????????????~??I??8H??t
H?E3?H?V?P@H?FH??H???H??H+?H??H??t7H;?t=?M??L?H??I???8??u
3?H??a7H??H;?u???H?N?K7I??8H??t
H?E3?H?V?PHI??I??`M??`I??hI+?H??H??H??H??H???H?L;??
???I???H?|$0I??8H??tH??P(?5+?A??H???24H??$H3??&DH??$`H??A_A^A]A\_^]??ȉCL???6̹??6?H?\$UVWATAUAVAWH?? H?B?H3?H??$L??L??H???H?\$@H???3???!?CL=?????R4H?D$8I?I?????H?? ???D$ ?A\$D?AT$@I??H?L$H????)?$?H)?$?@ )?$?H0)?$?@@)?$?HP)?$A?|$d??I??I????]M???I??xI;??DL??$?I??H???}??????????I??8H??t
H?E3?H?W?P@L?73?A9?$~J3?f?H?GH???M??L?H??I???#6??uH?GH???3?H???4??H??A;?$|?I??8H??t
H?E3?H?W?PHH??`I;??A????E3?H?|$0M??`I??hI+?H???.?袋.H??H??H??H???H??E3?H???.?袋.fDO?4(L??$?I??I???i???????A?~??I??8H??t
H?E3?I?V?P@I?.3?9?$~L3?I?FH???M??L?I??I???5??uI?FH???3?H???3??H??;?$|?H?|$0I??8H??t
H?E3?I?V?PHH??H?|$0I??`M??`I??hI+?H??H??H??H??H???H?H;?????I????1+D$8A??H???0H??$H3??@H??$pH?? A_A^A]A\_^]??ȉCL??u3̹?j3??????????H?\$UVWATAUAVAWH??H???H3?H??$H??L??H???H?\$0H???!0?????CL=???????0L??I??8H??tH??R I?I?????H?????D$ ?]D?U@H??H?L$8????)?$?H)?$?@ )?$?H0)?$?@@)?$?HP)?$??}d?,H??I???RZM???I??xI;??zfff?L??$?H??H??????????????I??8H??tH?A?H?W?P@H?OH??H+??H??H??tgH?Hc?$H;?scDH???L??L??H??I???w2??uH?GH???3?H???=1H??H?OH??H+??H??H;?r???H?O?1I??8H??tH?A?H?W?PHH??`I;??????pE3?M??`I??hI+?H???.?袋.H??H??H??H??H???H??8E??fDK?4L??$?H??H???????????~??I??8H??tH?A?H?V?P@H?NH??H+??H??H???H?Hc?$H;?s^@f?H???L??L??H??I???'1??uH?FH???3?H????/H??H?NH??H+??H??H;?r?H???.?袋.I??8H??tH?A?H?V?PHI??I??`M??`I??hI+?H??H??H??H??H???H?L;??????I??8H??tH??P(?-A+?A??H???,H??$H3??<H??$`H??A_A^A]A\_^]òH?N?/?H????ȉCL??^/̹?S/???H?\$UVWAVAWH??H???H3?H??$M????H??H?IL?N L+?H?i?i?iI??H??H??H???H?t?v+H???H?\$0H????+?????CL=?????H?H?????H??h???D$ ?A_D?AW@I??H?L$8?????)?$?H)?$?@ )?$?H0)?$?@@)?$?HP)?$?H???H?BH?ʀxu9x }H?@?H??H??xt?y??;y ??H;???H?i@L??$?I??H??????????H??8H??t
H?E3?H?U?P@H?EL??H???I??H+?H??H??t/I;?t5M??L?H??H???^.??u
3?H??0-H??I;?u???H?M?-H??8H??tH?E3?H?U?PH?H???d*H??$H3??X:H??$HH??A_A^_^]??ȉCL??"-̹?-???????H?\$H?l$ VWAUAVAWH?? H?p?H3?H??$M???L??H?IM?N L+?H?i?i?iI??H??H??H???H?t?0)I???H?\$@H???)???Y?CL=????;I?I?????H??"???D$ ?A]D?AU@I??H?L$H????)?$?H)?$?@ )?$?H0)?$?@@)?$?HP)?$I???H?AH??xu9x }H?@?H??H??xt?~?Z;~ ?QH;??HL?~@H?~H?9?~]?/H?FP?HXA?E`????AE@A.EDzt}A??@usH?L$0? ??H?D$0??P?D$8??T?D$???u5H??臽??u)I??@H??tH?H?SP?PP??uI?I?΋S ??0H?C?xt(H?C?xufDH;Xu
H??H?@?xt?H???'H?H?؀yu@?H?H??H?Ȁxt?{????I???_???3?I???5M??`I?I?WH;?tM???Z???I?I?GI???I???I???L?C????H?[H?H?[Idž?I??0H??{?kH??$H??$ L??$?D)?$?fDo??D)?$PfDo5??)?$?)?$?D)?$?D)?$?D)?$?D)?$pD)?$`f?H?{HH?{@? ?{`?H?L$(????@?`?p??(?)T$`???(??D$((????????D$0?L$,)\$p)e????D?PH?U?H?L$`??((M?H??DY?H?M?(?(??????U?X??X?W????Q??DY??B&?{aEW?(t$`(e?(?(??t$p?(??l$pD(???(?A??D???Y?(?A?????U?????X????Y??۪Y?X?X?D(?D(?(?D(???H?U?H????((M????Y?(?(?(??????U?X??X?W???(??Q?A??D?DY??A????????D(?(??????(??ڈY?(???U???Y???????X?Y?X?(?X?D(?D(?(?D(?H?L$8?(e?(?(\$p(T$`A???E??UA???H??P?t$@?D?T?D$8H?CPPp????D???{a???H?CP??ppD(???(?D??(?D??(??ʪ??AY?D??UY????AY???UDY?Y?DX?(???Y?DX?(??˪AY?X?(????DX???Y?(?X???UY?(??ͪAY?X?DPpW????Y?DY?A(?X?AY?W?AY?Y?AY?X?X?X?????AX?X???H?M?xD(L$`H?M?(}?E(?D?D$pD(?D?L$p?A??DA????FA(?H?U??ƈH?ME?A(??LjD???D???E?DE?DM??MH?UH?M??,(E?H?CP??(M???(E???(M????C`I?GI;GtH?S@H???V???I?G`?L?C@H??I???}??L?C H?T$HI????ث??H?K@H?8H??tH??H?O@H??tH??PH?G@H?C@H?ShH?G@H?OhH?CHH?GHH?CPH?GP?CX?GX?C\?G\?C]?G]?C^?G^?C_?G_?C`?G`?Ca?Ga?Cb?Gb?Cc?Gc?Cd?Gd?f???????????????????????????????????? ?? ??$??$??(??(??,??,??0??0??4??4??8??8H??@H??@??H??H??P??P??T??T?`?`?p?p????H?C?xt"H?C?xuH;Xu
H??H?@?xt?H???$H?H?؀yuf?H?H??H?Ȁxt?{?w???D(?$PD(?$`D(?$pD(?$?D(?$?D(?$?D(?$?(?$?(?$?L??$?H??$ H??$A?~0L??$?L??$(uI????H?M@H3??#H???A^[]ùAdž?????P̹?E?????H?\$UVWATAUAVAWH??0D??H??L??PI?6H?>E3?H;??L?l$p???8}H?W@H???FH?W@H???B??8H?OHH??t??	H?WHH?????H?O@H??t
H??PL?o@L?o@H??8H??t
H?H?WP?P8H?OPH??tH???L?oPH??H?_?{t H?_?{u0?H;Cu)H??H?[?{t??H??yuf?H??H?H?Ȁxt?H??I???V???H??I???{??I?6H??H;?????L??PL?FI??I????z??H?vH?6H?vM?nL??@I?7H?>H;??\???8}H?W@H???EH?W@H???A??8L?G H?T$ I???X???H?0H?O@H??tH??H?N@H??t
H??PL?n@H?G@H?F@H?GHH?FHH?GPH?FP?GX?FX?G\?F\?G]?F]?G^?F^?G_?F_?G`?F`?Ga?Fa?Gb?Fb?Gc?Fc?Gd?FdH?WhH?Nh?
b???????????????????????????????????? ?? ??$??$??(??(??,??,??0??0??4??4??8??8H??@H??@??H??H??P??P??T??T?`?`?p?p????H??H?_?{tH?_?{u-H;Cu'H??H?[?{t??H??yuH??H?H?Ȁxt?H??I???????H??I???y??I?7H??H;??????L??@L?FI??I???Fx??H?vH?6H?vM?oH??0H?H;???@?{_?iH???H??t2?C ??$?D?d$pH??$?H?L?L$pL??$?H??$??PL?C H?T$ I??觤??H?8H?K@H??tH??H?O@H??t
H??PL?o@H?C@H?G@H?CHH?GHH?CPH?GP?CX?GX?C\?G\?C]?G]?C^?G^?C_?G_?C`?G`?Ca?Ga?Cb?Gb?Cc?Gc?Cd?GdH?ShH?Oh?Y_???????????????????????????????????? ?? ??$??$??(??(??,??,??0??0??4??4??8??8H??@H??@??H??H??P??P??T??T?`?`?p?p????H??H?{?tH?{?u-H;Gu'H??H??t??H??yuH??H?H?Ȁxt?H??H??0????H??H??0?bv??H???LH?C?xt"H?C?xuH;Xu
H??H?@?xt?H??? H??H??yuDH??H?H?Ȁxt?H;?0?4???H?\$xH??0A_A^A]A\_^]????????????????@SH??@D?D$ L??0I?	H??H?A?xuD9@ }H?@?H??H??xt?y??D;A ??L?D$ I??H?T$(谡??W?H?H??????(??????D(?(??????D(??Ȉ????(???U?C(???U?ڈ????ɪ?K?c?C(???U???c?[?C(???U?۪?[ ?k$????C(?k,H??@[?W?H??BB H??@[???H??0E3?H?D8@ur@f?H?HP?IXA??H?H?yt#H?H?yu?H;Au
H??H?I?yt?H???'H?H???zu@?H?
H??H?рyt?xt?A??????????H????4??????̉T$H??8L??0I?	H?A?xu@9P }H?@?H??H??xt?yu&;Q |!L?D$HI??H?T$ ????H?H?AP?@lH??8?3?H??8???????@SH??0H???H???{XH??H??0[??̋???????????L??0I??I?A?xu9P }H?@?L??H??xt?A?yu$A;Q |L;?tE??xIc?H??sI?AP?D?@?W????????@SH??0H???H???kXH??H??0[???L??8D??M??tKH??0H??H?B?xuD9@ }H?@?H??H??xt?zuD;B |H;?tI?I??H?RPH?`P3?????@VH?? H??8H????H?\$0H??0H?|$83?H?@8{ur@f?H??8H?SPH??PP?H?C?xt"H?C?xuH;Xu
H??H?@?xt?H??? H?H?؀zuDH?
H??H?рyt?{t?H?\$0??H?|$8H?? ^?3?H?? ^??H?\$WH??0H??H?H??8H??H??tH??H?H??t
H??PH?H??8H?H??H?\$@H??0_????????????L??0I??I?@?xu9P }H?@?L??H??xt?A?xuA;P |
L;?tI??@?3?????????̉T$H??8L??0I?	H?A?xu@9P }H?@?H??H??xt?yu(;Q |#L?D$HI??H?T$ ?????H?H?IP?????H??8?3?H??8?????H?\$ WH?? H???H3?H??$H?I??H?ىT$0???H??????_DH?L$H?W@H?׉D$ ?+???H??0?T$0)?$?H)?$?@ )?$?H0)?$?@@)?$?HP)?$H?A?xu9P }H?@?H??H??xt?yu6;Q |1L?D$0H?T$8H??0?????L??$?H??H?H??@?????4??H??$H3??H??$HH?? _??????????L??0I??I?@?xu9P }H?@?L??H??xt?A?xuA;P |
L;?tI?@P?@X?3?????????̃?wHc?H??H?H??H??????H?\$D?D$WH??0H??H??H?????H??0D?D$PH?A?xuD9@ }H?@?H??H??xt?yuKD;A |EL?D$PH?T$ H??0?Ӛ??H??p????l???????O?W?H?\$@H??H??0_???????@SH??0H???H???TH??H??0[???@SH??@D?D$ L??0I?	H??H?A?xuD9@ }H?@?H??H??xt?y??D;A ??L?D$ I??H?T$(????W?H?H???p?`??(??????D(?(??????D(??Ȉ????(???U?C(???U?ڈ????ɪ?K?c?C(???U???c?[?C(???U?۪?[ ?k$????C(?k,H??@[?W?H??BB H??@[???@SH??0H???H???SH??H??0[???H?\$WH??0H??H?H??(H??H??tH??H?H??t
H??PH?H??(H?H??H?\$@H??0_???????????̉T$H??8L??0I?	H?A?xu@9P }H?@?H??H??xt?yu#;Q |L?D$HI??H?T$ ?l???H??@\H??8?2?H??8??????????H?T$SH??0H??3?H?B8H???H??t	H??H?C8H??H??0[???????????????̋???????????H?\$WH??0H??H?H??H??H??tH??H?H??t
H??PH?H??H?H??H?\$@H??0_????????????H?\$WH??0H??H?H?? H??H??tH??H?H??t
H??PH?H?? H?H??H?\$@H??0_???????????̋???????????H???????????̉T$H??8L??0I?	H?A?xu@9P }H?@?H??H??xt?yu#;Q |L?D$HI??H?T$ ?̖??H??@]H??8?2?H??8??????????@SH??0H???H????PH??H??0[???H?\$WH??0H??H?H??@H??H??tH??H?H??t
H??PH?H??@H?H??H?\$@H??0_???????????̉T$H??8L??0I?	H?A?xu@9P }H?@?H??H??xt?yu';Q |"L?D$HI??H?T$ ?ܕ??H?H?AP?@hH??8?2?H??8??????L??0I??I?@?xu9P }H?@?L??H??xt?A?xuA;P |L;?t
?A? ?W???????H?\$WH??0H??H?H??H??H??tH??H?H??t
H??PH?H??H?H??H?\$@H??0_????????????@SH??0H???H???OH??H??0[???@SH?? ??H?????L??H?????uIk?d?zH??6nuSI?󌐔???I??I??I??M?I??I??H???L?Ii?6nL+?Ii?ʚ;H??H?H??H??H???H?Ii?ʚ;?H?H??H??Hi?ʚ;H?H??Hi?ʚ;H?H???S㥛? H??H??H??H???H?H?? [?H?\$H?t$H?|$UH???H?l$@H???H?ɽH3?H???3???H??0H?@8s????C ?EH?S@H?M ?????H?M0?????H???H??tH?H?UHH;????P H???H?M H??tH??P?H?C?xt"H?C?xuH;Xu
H??H?@?xt?H???!H??H??zufDH??H?
H?рyt?{?W?????H???H3??v
L??$?I?[I?sI?{ I??]??????????????H?\$WH??0H??H?H??0H??H??tH??H?H??t
H??PH?H??0H?H??H?\$@H??0_???????????̋???????????L??0I??I?@?xu9P }H?@?L??H??xt?A?xuA;P |L;?t	I?@PH?@`?3?????????L?AH?i?i?iH?I I+?D??H??H??H??H???H?L;?sIi?8J??3?????L??I?sWH??H???H3?H??$?I?@ I??I????
/???? I?K?I?[?0)D$0?@I?S?)L$@)D$P??
H?VTH?L$`?=H?VHH??H?L$p?,(T$ \H?G YH??$?(?(???U?X??Ҫ?X?/?
???2?H??$?H3??qH??$?H?Đ_?H?\$ WH?? H?y I?i?i?iL?QI??D??H?t$@H?qH??I+?H??L??I??I??H???L?M;?s6H?l$0Ii?8I?H??H;?tH???G?H??8H;?u?H?nH?l$0?IvGH?NI??I+?H??H??H??H???H?L;?vL?D$8I??H??莋???M+?H??I??L???K???H?FH?~H?H?t$@H;?tfDH????H??8H;?u?H?\$HH?? _??@SH?? H???H???????u!?{L???tH?? [ù?CL?????̹??????????????H??(??H?
;?H??t?D$@L??H?H?T$@?PH??(????????H?\$ UVWATAUAVAWH??`H?l$@H???H?)?H3?H??E??L?E L??H??H?
H??u
???????H????L???芒H?EH??t
H??詑L???E3?H??8H??t	H?I???P0A??0??yIH?H???H???P0?H?H8H????H??P??H???H??tH?L?B H???H;???A??I?N0??轃A??AF@Ic? I?????7E3?A??I???I??H+?H??H??t.@f?L?M+?3?I???d-M??H???0H?H=r)H?H'H;??????H????L?x'I???I?G??H????L??3?L?|$@M?$?L?d$(I?\$H?\$8H??$?I?4$H?H??tH??I?$H??t
H??PI?4$H?I?$L??$?M?fI?>M;?uOL?|$HI??H?\$PL?t$XI;?t6H?3H?H??tH??H?H??t	H??PH?3H?H?H??H?\$PH?????,M??M??I??H???~L??$?M??L??I?VI???d?I?H??tYI?~H;?tf?H?H??t	H??PH?3H??H;?u?I?I?VH+?H???H??rH??'L?A?I+?H?A?H??wHI????M?>H??$?I??I?NH?L$ I?I?NH?D$(H??`A_A^A]A\_^[??9y?????????%(?????????????H?\$H?l$H?t$H?|$ AVH?? I??H??H??A?xuEE3?L?CH??H???????H??H?H??`H??t
H??PL??`H??H????{t?H?\$0H?l$8H?t$@H?|$HH?? A^???????@SH??H??|H3?H?D$pH??H?L$0?{??D$ 0H?\$(H?H8H??tBH?L?D$ H?T$(?PH?L$hH??tH?H?T$0H;????P ?H?L$pH3???H?Ā[??r???????????????@SH??H?|H3?H?D$pH??H?L$0????D$ pH?\$(H?H8H??tBH?L?D$ H?T$(?PH?L$hH??tH?H?T$0H;????P ?H?L$pH3??,?H?Ā[?????????????????H??H?XH?hH?pH?x AVH??@I??H??H??L?@?L?@?L?H?H;?t?K?躭H??H?D$PH??tW??@H?U}H??H??H?l$PH?KH??t
H??PH?kH?{H?H??t	H??PH?.H??H?\$XH?? _^]?????????H?\$H?l$VH?? H???H??H?3?H?IX??H??tAH?ShH+?H???H??rL?A?H??'I+?H?A?H????I???*?H?kXH?k`H?khH?K8H??t=H?SHH+?H???H??rL?A?H??'I+?H?A?H??wuI????H?k8H?k@H?kHL?C(H?|$0I??v
H?SH?K?D???H?|$0H?XvH?k H?C(f?kH?@??t
??H??芬H?l$@H??H?\$8H?? ^??"??????????H??H?XH?h H?PVWATAVAWH??)p?)x?M??H??E3?D?d$ ????H??H??$?A?H??t@D?xW?@L?` H?@(fD?`H?Y?H?L?a8L?a@L?aHL?aXL?a`L?ah?I??H??D$ A?F?A0?A??H?D9a0~OI?vf?D$HNL$XH?? H?v H?Q@H;QHtJH?A@ ?L?D$HH??8?q?????H?;i0|?B?3?APH??A??H?D9aP~LI?H??$?H??H?Q`H;Qht??$??H?BH?A`?L??$?H??X??????H?;qP|?B?3?ApH?B?D3?AtH?B?D3?AxH?B?D3?A|H?D???H??x0??? H?@8|?t?DW??Z?(?f?W??Z??Z?H?L$$?6?H??W??Z?(?f?W??Z?W??Z?H?L$0?
?L??H?T$H??H?|$HH?l$@L?d$PH?\$XH?? A_A^^?????M????QM???H?\$VWATAVAWH??H?QH3?H??$?L??H??H?L$8H?V?H???H;??\H?IH+I?E+l$ZasI??H??L??I??I??H???L?H?KH+I??H??H??H??H???H?H??H??H??H+?H;?wH?<I;?IB?H?|$(H?L$@讘H?H8i??D$ H????H?H?T$ ?PH??H?D$0H?L$xH??tH?H?T$@H;????P H?D$xIi?H?I??I+?L???L?CH?L+?H?????L?M??t&H?KI+?I??H??H??L??I???L?I??H???W?H?3Ii?H?H?CHi?H?H?CH??$?H3??(?H??$?H?ĐA_A^A\_^??;y?????o?????H?\$H?t$ WATAUAVAWH???H?OOH3?H??$?L??H?T$(L??I????????I;???L?t$0H?YH+H??H?II+H??H??H??I??H+?H;?wL?<
M;?MB?L?|$HH?L$p? ??B???L$ H?H8H???oH?H?T$ ?PL??H??$?H??t!H?L?B H?D$pH;???A??3?H??$??3?L?l$PH?L?l$XI??H?\$`L?t$h?I;?t6H?3H?H??tH??H?H??t	H??PH?3H?H?H??H?\$`H????I?H??t=I?~H;?t@H?H??t	H??PH?3H??H;?u?I?M?FL+?I??I???????M?.H?D$(H??I?I?FJ??I?I?FH??$?H3??
?L??$?I?[@I?sHI??A_A^A]A\_??w????m??H?\$H?t$ WATAUAVAWH??H?/MH3?H??$?H??H?T$8H??H?L$@H????????H;???L?iL+)I??H?IH+H??H??H??H??H+?H;?wH?4
H;?HB?H?t$0H?L$`??????L$ H?H8H???.H?H?T$ ?PL??H?D$PH??$?H??t"H?L?B H?D$`H;???A??E3?L??$??E3?O?H?t$8H??H?\$@L?t$HI;?tH??H???oH??`H?\$@H??`??I?H??tsI?~H;?tL?3?H??A?H??`H;?u?M?I?NI+?H????????*H??H??H??H???H?H?RH??H??rH??'I?H?L+?I?@?H??wRL??I??荒I?6J?mI?H??H?I?FI?7I?FL?\$PI?[0I?s@I??A_A^A]A\_??E?????r???????????????H???E3?@3?W?AAA,A??H?L$PH?H??t
H?H???H?L$PH??tH??PH?H?D$PH?T$PH??????H??H?H?H??t	H??PH?/H??H?\$hH??0_^]???????H?\$H?l$H?t$WH??03?Ic?H??H??E??x;H??PX;?}1H?FPH?H??Pp;?}4H???H?K??I?I;?w1?}t+H?U?I?I?L??H?1?b?L?ML?L?MD?UL?]??
A?D?UH??I???E???H?]?L?mg?
A?D?UH?E?H?E?H?E?H?E?L?m?H?E?H?E?H?E?H?E?L?m?A?}0G|"H?M??????H?M??]???D?UL?ML?]?H?]?A?}0?@W?f~?f~?3?;?u
W?A???I???I????I?II;?wA??tB?L??H?M??x;E?~
A?D?U??H??H???$L?v??I????(?M?AM;?wA??tB??EwM??L?E?Ew?
A?D?UH??s?B?(?M?AM;?wA??tB??EwM??L?E?Ew?
A?D?UH?G?H??s?(?M?AM;?wA??tB??EwM??L?E?Ew?
A?D?UH??s?B(?M?AM;?wA??tB??EwM??L?E?Ew?
A?D?UH?GH??s?BH??H??H??I;??????H;?sRH???I?(?M?AM;?wA??tB??EwM??L?E?Ew?
A?D?UH??s?H??H??H;?r?I?II;???A????JcL??H?M??x;E?~
A?D?U????I??H??L?nM?uL?&I??I+?I????????*I??H??L??I??I??H???L?I;?sGL?<I??M?I??M;?t.H?3?H???H??`I;?u?H?ugH??D?UL?ML?]?H?]?M?}?XvVH?NI+?I??H??H??H??H???H?H;?vL?EwH??H???g????I+?L??H??I???????I?EH?]?L?]?L?MD?UE3?L?H?NI+?I????????*I??H??H??H??H???H?L?eo??E3??3?I?AI;?wA??tB?<L??H?E???v?EK?!K?D???5?Hc?L?ML?L?MI??I??`L?H?NI+?I??H??H??H??H???H?D?UL?]?H?]?L;?r?L?mg?A?D?UL?eoA?E0-@??w"H?M??????H?M??M???D?UL?ML?]?H?]?A?M0??
??I?AI;?wZA??tTB?A?? L??H?E????x>;U?~C?7W?f~?f~?L?eo;?u
A???u???3?I???I???`?????A?D?UM?AM;?w6A??t0B?A??$M??L?ED????xD??;U?~"A?D?UA???A?D?U?????|-I?QI;?wA??tB?A??(L??H?U?
A?D?U(??AY?(???A?(?A?,??|/I?II;?wA??tB?A??0L??H?M? A?D?U?ADž0??????	?I?II;?wA??tB?A??@L??H?M?
A?D?UA??@??I?II;?wA??tB?A??PL??H?M?
A?D?UI?II;?wA??tB?A??DL??H?M?
A?D?UI?II;?wA??tB?A??HL??H?M?
A?D?UI?II;?wA??tB?A??LL??H?M?
A?D?UA?DY?A?DA?}0???I?II;?wA??tB?A??TL??H?M?
A?D?UI?II;?wA??tB?A??XL??H?M?
A?D?UI?II;?wA??tB?A??\L??H?M?
A?D?U(??AY?T?A?T(??AY?X?A?X?AY?\?A?\A??t!K?!H?E?L?E?3?I???i	I??8??2?H??$?(?$?H?ĐA_A^A]A\_^]?????????́:SKFE?????????H?\$H?t$H?|$ UATAUAVAWH??$????H??`H??H3?H??PL??H?T$@H???H?D$0H?H???P0H??3???H??H?H??tH??H?H?\$H3?D??I?I???PX????H?D$ H?D$8D???I?A??I???P`L????D??H?D$0H??tMf?8t??H??f?H??tH??PO?$>H?EHK?>H?MHH??tH??P???I??H?H???PX;?|?A??H?H???Pp??~sH?EHH?E?M???H?D??H?UPH???PhH??H????MI??H?EHL???K?>H??tH??PO?$>H?EHK?>H?MHH??tH??P???I??H?H???Pp;?|?A??H?H????????H?EHH?E?M???H?D??H?UPH?????H??H???RMI??H?EHL???K?>H??tH??PO?$>H?EHK?>H?MHH??tH??P???I??H?H?????;?|?A??H?H???????~}H?EHH?E?M??DH?D??H?UPH?????H??H???LI??H?EHL???K?>H??tH??PO?$>H?EHK?>H?MHH??tH??P???I??H?H?????;?|?A??H?H???????~}H?EHH?E?M??DH?D??H?UPH?????H??H???KI??H?EHL??K?>H??tH??PO?$>H?EHK?>H?MHH??tH??P???I??H?H?????;?|?A??H?H???????~}H?EHH?E?M??DH?D??H?UPH?????H??H????JI??H?EHL??pK?>H??tH??PO?$>H?EHK?>H?MHH??tH??P???I??H?H?????;?|?A??H?H???????~}H?EHH?E?M??DH?D??H?UPH?????H??H???JI??H?EHL???K?>H??tH??PO?$>H?EHK?>H?MHH??tH??P???I??H?H?????;?|?A??H?H??????~}H?EHH?E?M??DH?D??H?UPH?????H??H???bFI??H?EHL??(K?>H??tH??PO?$>H?EHK?>H?MHH??tH??P???I??H?H????;?|?H??t
H?H???P?H??0A_A^A\_^[]??????@VAUAVH??0H?\$P3?H?l$XH??H?|$`L??L?d$(M???ދ?A?/H??tHL?|$ f9tH????H?@f90u?Lc?M?M???B???~A?D/?fA;?t
f??\tfG?,7??L?|$ H?l$XM??t*fA94$tI????H?@f90u?Hc?I??Lc?M?I?F??L?d$(?H?|$`H?\$PHcȅ?~H??fA?D??fA?<$tI??f?A??H?@f?8u?Mc?M?Hc?H?L$`H?AI????A?6H??Lc???~)?/fD?LT`??f??\fE?f?DT`H??I;?|?3?fB?\D`H?\$8H??hH??L?D$8H?T$`?????H?\$8??t)H???J?4?H??tH?H???H?H??tH??PH?H??t
H?H???P??L$0???L$0D??H???H+??H??L;??????H?|$HL?t$@?\$0I???I+??H??H????L??H?|$@@ff?H???N?$??D??M??tOfA??t@??H??fA?<_u?Lc?M?I??H?L$`蠔??~A?D_?f??/tf??\t?/f?D\`??3?M??t>D??fA?<$tI??f?A??H?@f?8u?Mc?M?Hc?H?L$`H?AI???9?A?6H??Lc???~)?/fD?LT`??f??\fE?f?DT`H??I;?|?3?fB?\D`H?\$8H??hH?? L?D$8H?T$`?=???H?\$8??t)H???J?4?H??tH?H???H?H??tH??PH?H??t
H?H???P??L$0???L$0D??H???H+??H??L;??????H?|$HL?t$@?\$0I???I+??H??H????L??H?|$@@ff?H???N?$??D??M??tOfA??t@??H??fA?<_u?Lc?M?I??H?L$`????~A?D_?f??/tf??\t?/f?D\`??3?M??t>D??fA?<$tI??f?A??H?@f?8u?Mc?M?Hc?H?L$`H?AI??艒A?6H??Lc???~)?/fD?LT`??f??\fE?f?DT`H??I;?|?3?fB?\D`H?\$8H??hH??0L?D$8H?T$`????H?\$8??t)H???J?4?H??tH?H???H?H??tH??PH?H??t
H?H???P??L$0???L$0D??H???H+??H??L;??????H?|$HL?t$@L??I??I+?H??H???xH?|$@f?H???N?$??D??M??tOfA??t@??H??fA?<_u?Lc?M?I??H?L$`?P???~A?D_?f??/tf??\t?/f?D\`??3?M??t>D??fA?<$tI??f?A??H?@f?8u?Mc?M?Hc?H?L$`H?AI????A?6H??Lc???~)?/fD?LT`??f??\fE?f?DT`H??I;?|?3?fB?\D`H?\$8H??hH??@L?D$8H?T$`?????H?\$8??t)H??J?4?H??tH?H???H?H??tH??PH?H??t
H?H???P?I??H??H+?H??L;??????H?|$HL?t$@?\$0I??xI+?pH??H????L??H?|$@?H??XN?$??D??M??tOfA??t@??H??fA?<_u?Lc?M?I??H?L$`谏??~A?D_?f??/tf??\t?/f?D\`??3?M??t>D??fA?<$tI??f?A??H?@f?8u?Mc?M?Hc?H?L$`H?AI???I?A?6H??Lc???~)?/fD?LT`??f??\fE?f?DT`H??I;?|?3?fB?\D`H?\$8H??hH??PL?D$8H?T$`?M???H?\$8??t)H??pJ?4?H??tH?H???H?H??tH??PH?H??t
H?H???P??L$0???L$0D??H??xH+?pH??L;??????H?|$HL?t$@?\$0I???I+??H??H????L??H?|$@@ff?H???N?$??D??M??tOfA??t@??H??fA?<_u?Lc?M?I??H?L$`????~A?D_?f??/tf??\t?/f?D\`??3?M??t>D??fA?<$tI??f?A??H?@f?8u?Mc?M?Hc?H?L$`H?AI??虍A?6H??Lc???~)?/fD?LT`??f??\fE?f?DT`H??I;?|?3?fB?\D`H?\$8H??hH??`L?D$8H?T$`????H?\$8??t)H???J?4?H??tH?H???H?H??tH??PH?H??t
H?H???P??L$0???L$0D??H???H+??H??L;??????H?|$H?I?N(H?L?|$ D??L??I???P8?H??t
H?H???P?H??`H3??<H??xA_A^A]A\_^[]??????????????H?\$H?l$H?t$WH?? H??H???XH?{8H?s@H;?t!H?H??t?[4H??H;?u?H?C8H?C@H?{PH?sX3?H;?t%H?H??t	H??PH?/H??H;?u?H?CPH?CXH?{hH?spH;?t?H?H??t??3H??H;?u?H?ChH?CpH???H???H;?t(H?H??t	H??PH?/H??H;?u?H???H???H???H???H;?t(@H?H??t?3H??H;?u?H???H???H???H???H;?t(H?H??t	H??PH?/H??H;?u?H???H???H???H???H;?t$H?H??t?3H??H;?u?H???H???H???H???H;?t/?H?H??t	H??PH?/H??H;?u?H???H???H???H??H;?t)DH?H??t?2H??H;?u?H???H??H??H??H;?t(H?H??t	H??PH?/H??H;?u?H??H??H??XH??`H;?t$H?H??t?)2H??H;?u?H??XH??`H??pH??xH;?t/?H?H??t	H??PH?/H??H;?u?H??pH??xH???H???H;?t)DH?H??t?1H??H;?u?H???H???H???H???H;?t(H?H??t	H??PH?/H??H;?u?H???H???H??(H??0H;?t(H?H??t	H??PH?/H??H;?u?H??(H??0H??@H;?HtH??HH??8H??tH???H??8H?\$0H?l$8H?t$@H?? _??????????????H?\$H?t$H?|$ UATAUAVAWH??H??pH?j?H3?H?E?L??hI?<$?H??P0H??H?H??tH??H?6H?u?H???w??H??H?H??tH??H??H?}?I?$H?H?E3?D8k??H?S H?M??Q????L?m?H?K@H??tH??L?s@L?u?CH?E?I??H?M?M??tI?I???H?M?H??tH??PL?u?H?U?H???/?M??t
I?I???PL?m?H?M????H?C?xt"H?C?xuH;Xu
H??H?@?xt?H???$H??H??yuf?H??H?H?Ȁxt?{?)???I?$H?[H??{??f?H?S H?M??c????L?m?H?K@H??tH??L?s@L?u?CH?E?I??H?M?M??tI?I???H?M?H??tH??PL?u?H?U?H???/.?M??t
I?I???PL?m?H?M????H?C?xt"H?C?xuH;Xu
H??H?@?xt?H???&H??H??yufff?H??H?H?Ȁxt?{?'???I?$H?[ H??{??f?H?S H?M??s????L?m?H?K@H??tH??L?s@L?u?CH?E?I??H?M?M??tI?I???H?M?H??tH??PL?u?H?U?H????-?M??t
I?I???PL?m?H?M????H?C?xt"H?C?xuH;Xu
H??H?@?xt?H???&H??H??yufff?H??H?H?Ȁxt?{?'???I?$H?[0H??{??f?H?S H?M?胜???L?m?H?K@H??tH??L?s@L?u?CH?E?I??H?M?M??tI?I???H?M?H??tH??PL?u?H?U?H???,?M??t
I?I???PL?m?H?M?????H?C?xt"H?C?xuH;Xu
H??H?@?xt?H???&H??H??yufff?H??H?H?Ȁxt?{?'???I?$H?[@H??{??f?H?S H?M?蓛???L?m?H?K@H??tH??L?s@L?u?CH?E?I??H?M?M??tI?I???H?M?H??tH??PL?u?H?U?H????*?M??t
I?I???PL?m?H?M?????H?C?xt"H?C?xuH;Xu
H??H?@?xt?H???&H??H??yufff?H??H?H?Ȁxt?{?'???I?$M?,$H??t	I???r????H??t
H?H???P?H??t
H?H???P?H?M?H3??2L?\$pI?[8I?s@I?{HI??A_A^A]A\]??????????H?\$L?D$UVWAVAWH?? I??Hc?H??H??P0H??Tr??H??H?H??tH??H?H?\$hL?4?L???3??H?L$PK?7H??t
H?H???H?L$PH??tH??PH?l$PK?7H?D$PH?T$PH????(H???H?H??tH??J?6H??t
H??PJ?,6H?J?6H??t
H?H???P?H?H??t	H??PH?/H?\$XH?? A_A^_^]??????????H?\$L?D$UVWAVAWH?? I??Hc?H??H??P0H??Tq??H??H?H??tH??H?H?\$hL?4?L??p3??H?L$PK?7H??t
H?H???H?L$PH??tH??PH?l$PK?7H?D$PH?T$PH???((H??pH?H??tH??J?6H??t
H??PJ?,6H?J?6H??t
H?H???P?H?H??t	H??PH?/H?\$XH?? A_A^_^]??????????H?\$L?D$UVWAVAWH?? I??Hc?H??H??P0H??Tp??H??H?H??tH??H?H?\$hL?4?L??3??H?L$PK?7H??t
H?H???H?L$PH??tH??PH?l$PK?7H?D$PH?T$PH???h'H??H?H??tH??J?6H??t
H??PJ?,6H?J?6H??t
H?H???P?H?H??t	H??PH?/H?\$XH?? A_A^_^]??????????H???????????H?\$L?D$UVWAVAWH?? I??Hc?H??H??P0H??Do??H??H?H??tH??H?H?\$hL?4?L??(3??H?L$PK?7H??t
H?H???H?L$PH??tH??PH?l$PK?7H?D$PH?T$PH???"H??(H?H??tH??J?6H??t
H??PJ?,6H?J?6H??t
H?H???P?H?H??t	H??PH?/H?\$XH?? A_A^_^]??????????H?\$L?D$UVWAVAWH?? I??Hc?H??H??P0H??Dn??H??H?H??tH??H?H?\$hL?4?L???3??H?L$PK?7H??t
H?H???H?L$PH??tH??PH?l$PK?7H?D$PH?T$PH???%H???H?H??tH??J?6H??t
H??PJ?,6H?J?6H??t
H?H???P?H?H??t	H??PH?/H?\$XH?? A_A^_^]??????????H?\$H?l$L?L$ VWATAVAWH??0I??E??Hc?L??H??P0H??;m??H??H?H??tH??H?H?\$ H??3?E???I?FPL?uL??3???J?"H??t@ff?A??H?IH??u?L?CH?L+?H???D?H?H??tL?CL+?I??H????z??H?3J??H?CH??H?CH??$?H3??P?H??$?H?ĐA_A^A\_^??c????????????????????@SH?? L??H??H?QH;QtA?H?A??v???H?H?KH+?H??H??r2H??H???H?H?D????P?H?KxH?T$0??<?D$0??H?? [???????????H?\$H?t$WAVAWH?? H?QH??H+H??H???f??H?SH?K0H+H???R??H?SH?KHH+H???>??H?SH?K`H+H???*??H?SA?H?H??fo%?H+?H??E??H??A?I;?vJfo
?E??H?C0(?AYI??AXD?AXDY?AM?H?SH?H??H+?H??H??L;?r?H??H+?H??H??I;?vqfofo??@ff?H?C`(?I??A\L?H?C0AA\D?^?A(?H?C`^?AI??H?SH?H??H+?H??H??L;?r?H+?H??H??t:L??I??f?H?K0H?C`AAAYD\?AI??H??u?H?C3?H+H??H??tY?ʐH?C0H??D\H?CH^?H?D\H?C0\H?CH\H?CH??H?CH+H??H??H;?r?H?\$HH?t$PH?? A_A^_???????H?\$WH??0)t$ (?(?H??H????L?3??,???I?H?GI+?H??;ЍH?N?Lc?fn?[??\?;??}=L?GxM??I??I???????C??tM?H??C??H?\$@(t$ H??0_?H?GHM?(?(t$ ??(?BY?H?G0BX?H?GY?BX?H??Y?CX?H?\$@H??0_????H?H;AtH?AH?AH;A tH?A H?A0H;A8tH?A8H?AHH;APtH?APH?A`H;AhtH?AhH?AxH;??tH???Hǁ?????????????@UWAVH??0L?I??L?2H??M+?I??I??LrM????H?IH????????H+?I;???H?\$X3?H?t$`I?XH?wH?H??H??I+ʉT$PH??H;?s
I??H?G?Av?H?GI+?H??H;?vL?D$PH??H???????H+?H??H??L???EH?H?wH?OH?t$`H??uH?)H?GH?\$XI??H??0A^_]?L?H??y"H??H??tH??M??H??H??H??L+??H??H??M??L?)H?у?L?GM??y'I??H??tI??I??H??H??H??H+?H?L$ ?I??H??I??H?D$ A??L?D$(M??yI??H??tI??H??H??H??L+??I??H??M??(D$ I??fD$ ??L?D$(L?L$ ?H??M;?u	H;?????H??tH????H??I?B?LD?M??tI???
A?I??H?ʸ??A?A?t	D??A??D??A???????????H??(H?
%?ļ????????????????H?\$H?l$H?t$ AVH??0L?AH??L?	H??M??y$I??H??tI??H??H??H??L+?L?L$ ?I??H??I??H?D$ A??H?T$ L?D$(A?(D$ fD$ ?1???L?H??H??yH??H??tH??H??H??L+??H??M???m??H?BH??H????M?4?M;?u	H;???E?H?ʻ????H?|$@??3???D??A??M;?u!? @*???@??E???A?#?A#??A?8?JI?H@???E?E#?A?A?@??M??L+???????BH??t? @*???@??E???A#?A?>H?|$@H?\$HH?l$PH?t$XH??0A^?????H?\$H?l$VWAVH?? H?9H??L?IM??L+?I????????*I??H??I??H??H??H???H?L;?vyH?UUUUUUUL;???H??H??H??H+?H;?wH?I;?IB?H??tL??H??H???)3?H?H?FH?FH??H???(H?>K?vH??H??L??H???;?dH?II??H+?L?|$@H??H??L??H??I??I??H???L?M;?vK?H??L????:H?~H?+H??M+?K?vH??L???:L?|$@H?l$PH?;H?\$HH?FH?? A^_^??I??Ik????H?\$@H?l$HH?t$PH?? A_A^_??????H?\$VWATAVAWH??H???H3?H??$?H??H??H?L$8H?UUUUUUUH;??\H?IH+I????????*I??H??L??I??I??H???L?H?OH+I??H??H??H??H???H?H??H??H??H+?H;?wH?H;?HB?H?\$(H?L$@????H?H8?[???D$ H????H?H?T$ ?PL??H?D$0H?L$xH??tH?H?T$@H;????P H?D$xK?I??H??I+?tL?@I??3??=L?GH?L+?I????6?L?M??t%H?OI+?I??H??H??L??I???L?I??H???%L?7H?vI??H?OH?[I??H?OH??$?H3???H??$?H?ĐA_A^A\_^??+????蹵?????H?\$H?t$ WATAUAVAWH???H???H3?H??$?L??H??I???8??8?I;???H?t$(H?IH+I?9??8??8I??H??H??H??H??H???H?H?NH+I??H??H??H??H???H?H??H??I??H+?H;?wL?4M;?MB?L?t$@H?L$p?????H?H8C?????D$ H???3H?H?T$ ?PL??H??$?H??tH?H?T$pH;????P HDŽ$?L?|$HH??I??H?L$8I??H+?L???H?D$0L?nH?>L?|$PI??H?\$XH?t$`I;?tH??H???JH??HH?\$XH??H??L??H??H???????H?H??t9L??H?V????H?NH+H?9??8??8H??H??L??I???L?H?H???#L?>K??I??H?NK??I??H?NH??$?H3???L??$?I?[@I?sHI??A_A^A]A\_??????謳????????H?\$VWATAVAWH??H?5?H3?H??$?L??H??H?L$8H?DDDDDDDH;??WH?IH+I?????????I??H??L?<I??I??H???L?H?KH+I??H??H?H??H??H???H?H??H??H??H+?H;?wH?<I;?IB?H?|$(H?L$@?????H?H8k?I?^I?H+?L??H???1H??H??H?H??H??H???H?Hk??H??K0H?K8H?K@H?KHf?KP?H?K8?"H?K8I;?t-M?NM+H?????????I??I?H??L??I???L?I??L???H?K8H??H;?t*L?GL+H????????*I??H??L??I???L?H???????H??H?\$8H?t$@H?|$HH?? A^?????????????H?\$H?L$UVWATAUAVAWH??@H??L???QW?AE3?L?q H?A(fD?qH?
??I?ME?u0M?u8M?u@M?uHfE?uPH?????A?M0H????t??|H?????d|?P?A?AL?H?Hc?H?|$0H??I?M8??H???:M??H??????????+H??I?u8I?Hc?L?^L?I??I+?H??H??L?I??I??H???L?I;?s	Hk?L??EW???>H??E????>????H?M??????H?M?????H?M?????L?EoH??H?U????L?EWH??H?U?H???շ??L??H?U?H???v???L?E?I??H?U?H??賷??L??H?UH???T???L?EH??H?U蔷??H?OL?EoH?U??E??@?E??t???H?NH??L?EWH?U?`???L??H?U?H??????I?NH??L?E?H?U??=???L??H?U?H???޷??H?OL?EoH?U??E??@?E?????H?NH??L?EWH?U?????L??H?U?H??蛷??I?NH??L?E?H?U??׶??L??H?U?H???x???H?O$L?EoH?U??ENj@?E?訶??H?N$H??L?EWH?U蔶??L??H?U?H???5???I?N$H??L?E?H?U??q???L??H?U?H???????}wL??$?H??$??H??$?H??$??EӋ@?E?uL??EW???>H??E????>?j???H?M??a???H?M??X???H?M??O???L?EoH??H?U?O???L?EWH??H?U?H??????L??H?U?H???߳??H?O$L?EoH?U??ENj@?E?????H?N$H??L?EWH?U?????L??H?U?H??蜳??I?N$H??L?E?H?U??ز??L??H?U?H???y????}w??EӋ@?E?u???I??I??L??I??I??H???L?H?II+?I??H??H??H??H???H?I?>???>?I;??JL?jH?OI+?I??H??H??H??H???H?H??H??I??H+?H;??H?I??I;?HC?I;???Hi?H?L$ H??u	3?H?L$ ?EH??r)H?N'H;????U?H????H?X'H???H?C??H???6?H??L??$?H??$?Mi?L?M??L?t$(L?t$xI??I???q???H??$?@ AG H0AO0@@AG@HPAOP@`AG`HpAOp??A??I?????A?H-`???	@AH I @0A0H@I@@PAPH?@`H?A`L?|$xH?WH?L;?uL???L??L??I???B	H?\$xI??H?WL??M???+	?H?H??taL??H?W????L?H?OI+?H??>???H??H??H??H???H?Hi?H??rH??'I?H?L+?I?@?H??wCL??I?????H?Ii?H?H?OH?H?OI??H??0A_A^A]A\_^[??e????J?????l????H?L$SVWATAUAVAWH?? M??L??H??L?	L??M+?I??H?AI+?H??I?????????I;??;L?`H?II+?H??H??H??I??H+?H;??H?
I??I;?HC?I;???H?4?H?L$xH??u	3?H?L$x?=H??r)H?N'H;????ñH????H?X'H???H?C??H??褱H??H?\$hN?4?A?MA?L?GH?H??M;?uL+??M??L+??	I?NL?GM+?I???s	?H?H??t1H?WH+?H???H??rH??'L?A?I+?H?A?H??w:I???a?H?J??H?OH?H?OI??H?? A_A^A]A\_^[???c???踑???????H?L$SVWATAUAVAWH??@M??L??L??L?L??M+?I????????*I??I??H??H??H??H???H?H?II+?I??H??H??H??H???H?I?UUUUUUUI;??ZL?BL?D$(I?NI+?I??H??H??H??H???H?H??H??I??H+?H;??H?I??I;?HC?I;??H?H??H?|$ H??u	3?H?|$ ?=H??r,H?A'H;???H????H????H?X'H???H?C???үH??H??$?H?4vH??H?L?~0L?|$0L??$?I??H??????A?E ?F A?E$?F$A?E(?F(H??$?I?VI?L;?uL???M??L??I???H??$?I??I?VM??M????L??L?D$(H??I???JH??H??@A_A^A]A\_^[??b????܏???????????L?D$H?L$SVWATAUAVAWH??0L??H??L?L??M+?I?gfffffffI??I??L??I??I??H???L?H?II+?I??H??H??H??H???H?I?fffffffI;??IL?jH?NI+?I??H??H??H??H???H?H??H??I??H+?H;??H?I??I;?HC?I;???H??H??H?|$ H??u	3?H?|$ ?EH??r,H?A'H;???H????H????H?X'H???H?C?????H??L??$?H??$?K??L?4?M?~(L?|$(L?|$xI??I???5???H??$??@ A?F L?t$xH?VH?L;?uL???L??L??I???rH?\$xI??H?VL??M???[?L??M??H??H???II??H??0A_A^A]A\_^[??A`?????????-?????H?L$SVWAVAWH??0L??H??I?UUUUUUUI;??cH?IH+I????????*I??H??L??I??I??H???L?H?NH+I??H??H??H??H???H?H??H??I??H+?H;??H?<I;?s
I??L?t$ ?H?|$ I;???H?H??H??u3???H?D$h?IH??r1H?A'H;???H???d?H????H?X'H???H?C?H?\$h?
?C?H??H?D$h3?K?H??H?H?L$(H?L$xI??I+?t,H?A H?A(W?H?AH?A?H??0H?L$xH??u?L??H???y???L??L??H?VH???L??M??H??H??H??0A_A^_^[???^????o?????
?????????H?L$SVWAVAWH??0L??H??I?fffffffI;??_H?IH+I?gfffffffI??H??L??I??I??H???L?H?NH+I??H??H??H??H???H?H??H??I??H+?H;??H?<I;?s
I??L?t$ ?H?|$ I;???H??H??H??u3???H?D$h?IH??r1H?A'H;???H???ĪH????H?X'H???H?C?H?\$h?
裪H??H?D$h3?K??H??H?L$(H?L$xI??I+?t+H?A W?H?AH?A?H??(H?L$xH??u?L??H???m???L??L??H?VH???L??M??H??H??H??0A_A^_^[???	]????ӊ??????????????????@SH?? I??H;??
L??L?AL+?E3ېW?K?O?\?H???O?I???A@?M??A?????KM??????H??Iǀ????E??????A????A?A????I?A? ???A?A?0???I?A?@???A?A?P???I?A?`???A?A?p???I?HI@ A H0I0@@A@HPIPH?@`H?A`I?@?H;?????M??H??H???????H??H?? [???????????@SH?? I??H;?toL??L?AL+?E3?DW?M?@0O?\?O?\?A@?AH?KM?X?H??0I?@?E?X?A?@?C?D?A?@?C?D?A?H?C?L?I?H?H;?u?M??H??H???????H??H?? [?????????????@SH?? I??H;?t]H??L?AH+?E3?DW?M?@(M?T?M?T?A@?AH?KM?P?H??(I?@?E?P?A?H?A?L?I?H?H;?u?M??H??H???????H??H?? [???????????????@SH?? H??H??t(3?H?C W?H?C(H?CH?C?H??0H??u?H??H???????H??H?? [???????@SH?? H??H??t$3?H?C W?H?CH?C?H??(H??u?H??H???#???H??H?? [???????????H?\$UVWATAUAVAWH??$P???H??H??]H3?H???H?T$@H??H?L$8L?YMcH?L?C??L$$A?BA?E3?A??D?t$ ???jWɋ?sf~?+ЉT$(?W?E?L?u?H?E??E?H?E?H?M???u
3?H??A?????A???A???A??D?q?H??H?A?L?EXI;?u?H?EXfff??@??D?0H??H???H;?u?L?NMcH?H?A?A?@A?H?FHcH?HW?D$hL?t$xL?u?I??????f?I??B?<u?H?L$h?\I??v2I?VH?M?H??H??rH??'H?I?H+?H???H????&?H?}??|$ H?t$8H?F?H?F?H?FHcH?HH?L$0E3?H?T$0H?M??p?H??L$0+H?F?L?t$@I?^I;^??H?U?H??????H?E?C HK0@ C@H0KP@@C`HPKp@`??H???HpI?H???HI@ A H0I0@@A@HPIPH?@`H?A`I?F?L?E?H??I???????I??v2I?UI??H??rH??'M??I+?H???H????I???ߢ?H?U?H??v3H??H?L$hH??H??rH??'H?I?H+?H???H????袢?H?U?H??v-H??H?M?H??H??rH??'H?I?H+?H???H??we?j??lj|$ ;|$$}?T$(E3?????H???H3?蛩H??$H?İA_A^A]A\_^]??U?????T????????????????????????̋Q@??u3?ËA;?L??????????????̋QD??u3?ËA;?L???????????????H?A????????????H?y0H?AvH????A8?????????????A9???????????̋A?L$$A??????H???H??t
H???m???H???3?W??E?3?H?E?H?E??E?H?E?H?E??E?H?D$xH?E??E?H?D$hH?E??EH?D$XH?E?EH?D$PH?E(?E0H?D$HH?E@?EHH?D$@H?EXIc?Jc<8A??H?߅?tL?D$ H??H?M??????H?E?H?E?Ic?I?L??H?E?H?E?H???/?D?Ic?Jc<8A??H?߅?tL?D$ H??H?M?詅??H?E?H?E?Ic?I?L??H?E?H?E?H?????D?Ic?Jc<8A??H?߅?tL?D$ H??H?M??b???H?E?H?D$xIc?I?L??H?E?H?D$pH????D?Ic?Jc<8A??H?߅?tL?D$ H??H?M?????H?E?H?D$hIc?I?L??H?E?H?D$`H???V?D?Ic?Jc<8A??H?߅?tL?D$ H??H?M?Є??H?EH?D$XIc?I?L??L?mI????D?Ic?Jc<8A??H?߅?tL?D$ H??H?M茄??H?E(H?D$PIc?I?L??L?eI?????D?Ic?Jc<8A??H?߅?tL?D$ H??H?M0?H???H?E@H?D$HIc?I?L??L?}0I????D?Ic?H?|$0Hc<8A??H?߅?tL?D$ H??H?MH?????H?EXH?D$@Ic?HT$0L??H?]HH?????D?H?NH?E?H;?tL?E?H?U?L+???h??H?NxH?E?H;?tL?E?H?U?L+???h??H?N0H?E?H;?tL?E?H?T$pL+???h??H???H?E?H;?tL?E?H?T$`L+??h??H?NHH?EH;?tL?EM+?I???h??H???H?EH;?tL?E M+?I???hh??H?N`H?E0H;?tL?E8M+?I???Lh??H???H?EHH;?tL?EPL+?H???-h??H?u`?L$$L?D$8I?8H?GH???E3?D???H??D8Hu/H???9H }
D???H?@?Dž?H??H?D8Ht?D8Ju;J }iH?UUUUUUUI9@??L?EpL?Mx?0諅??L$$?H 3?H?H(H?8H?xH?xf?HH?Mx??)E`L??H?U`H?L$8??5??H??E3?L?M`H?J(H?r(H??tH??P?H??t9H?L$@H+?H??H??rH??'H?[?H+?H???H????H??H???O??M??t9H?L$HI+?I??H??rH??'M??I+?H???H????H??I?????M??t:H?L$PI+?I??H??rH??'M?d$?I+?H???H????H??I???҄?M??t9H?L$XI+?I??H??rH??'M?m?I+?H???H???SH??I??蔄?H?L$`H??t3H?T$hH+?H??H??rH??'H?I?H+?H???H????W??H?L$pH??t3H?T$xH+?H??H??rH??'H?I?H+?H???H???????H?M?H??t2H?U?H+?H??H??rH??'H?I?H+?H???H?????߃?H?M?H??t-H?U?H+?H??H??rH??'H?I?H+?H???H??wy訃E??xL?|$0D?d$(?L?????2?H???H3??׊H??$0H???A_A^A]A\_^]???6????	???????????????????????????????????H???A$A??A(A?A?A,A?A3?!i)4$(?q??D(????(?????(Y?Y???Y?X?X?Q??
(?^?(???U?B(??ɪ?J(?????UY??ҪY?(4$AY?AHAPI?@$A?@,H???????????????????
?I?A ????????????????H?\$WH??@)t$0(?)|$ (?H??H????(?(????(??%O3?(t$0?\??Y??Y??X???YC??YK?Y??X?(??O?YC??YS?Y??\?(??W?YC??YK?Y??\?(??O?K?Y??Y??X??O?Y?S?YS?Y??X?(??W?YC??YK?Y??X??O?S?YS?Y?Y??\??W?CH?\$P?Y?H?G$?G,?Y??X?(|$ ?G H??@_??????H??SH??)p?H??)x?W?.??=?MD)@?D(?D)H?D)P?D(?D)X?D)`?zu
EW?D(??,L??$?(?H??$??|???D?$??D?$?D.?zu
EW?D(??-L??$?A(?H??$??f|???D?$??D?$?D.?zt+L??$?A(?H??$??1|????$???$?L??$?(?E(S?(??AY?(?3??AY?H?C$?AYۉC,DW٨(??AY??AY??X??D[E([?(??AY??(??C(??AY??AY??\??AY?(??AY??AY??EY??\??{(|$pA(?Wh??EY?E(c??Y?A(s??DCE(C??\??DK E(K??S?K?[I??[????????H??HH?)t$0(?)|$ (??P?\??Y?(t$0?X?(|$ H??H????????????iA??9>A?90D+??A??A??A??D?A+??????i??D+?fAn?[??^6???????????iA??9>A?90D+??A??D?AA??A??+??????i??D+?A?????????H?H?`??????????Y
ؙA?90?Y
™?,?i?mN???D+?A??A??A??+??????i??D+?fAn?[???̉Q??????????????AH?z?H?3?H?AH?AH?A H?A(H?A0H?A8H?A@?AXH?????????????H?\$WH?? H?7?H??H?3?H?I(H??t9H?S8H+?H??rL?A?H??'I+?H?A?H??weI???9}H?{(H?{0H?{8H?KH??t=H?S H+?H???H??rL?A?H??'I+?H?A?H??wI????|H?{H?{H?{ H?\$0H?? _??????????????????@VAUH??D)?$?H?u3H3?H??$?H??$XEW?H?D$XH??H??$`M??H?D$`L??H??$hH?D$HH?L$8fD~?fD~?L?L$0L?D$hH?T$@;?uW??H?H?B?~XH??$@H??$H??$L??$L??$?L??$?)?$?)?$?D)?$?D)?$??#L??$P3҉T$(9VD?y?DѤ?D
?H?H?^(L?ZHc|D?|?,Ic?M??L?D$ M??HcDL?L$PI??H?T$pH????E3?3҃???L?F?G?L?NH?t$0M+?I??????D??D?4?B?I;?s?A??;???????w	?AD??'???????u????????w?A??A(?B?D?D?xI;?s?A??;???????w	?AD??'???????u????????w?A??A(?A?D?D?|I;?s?A??;???????w	?AD??'???????u????????w?A??A(?A?D????I;?s?A??;???????w	?AD??'???????u????????w?A??A(?????I??H??I???????H?t$8D;?|
?????L?VL?NH?t$xM+?H??H?t$0I??A+?D??B?I;?s?A??;???????w	?AD??'???????u????????w?A??A(??I??H??I??u?H?t$8L?D$ E?????|$|H?|$x?t$xM??L?d$HL?l$PH?F(IcI??L?D$ ??uH?F(??X????P??uH?F(??\????6??uH?F(??Y??????uH?F(??^??????u(?(??aH?FL?D$ ??????u??c?H?FL?D$ ?????u??B?H?FL?D$ ?????uH?F?4????uH?F(?AW????s??uI???T$XH?FL?D$ ???W?? u?I???T$`H?FL?D$ ???7??2u#/?rH?FA(????H?FA(??????uB?(H?F??H??I???w???L??$PL?l$hD?t$(H?T$pA??D?t$(D;vD?????L?L$0L?T$@H?VH?F?NHH+?H??H;?s???=???????w	?AD??)???????u?A?????????w?A??A(??AH?F?NLH+?H??H;?s???=???????w	?AD??)???????u?A?????????w?A??A(??ABH?VH?F?NPH+?H??H;?s???=???????w	?AD??)???????u?A?????????w?A??A(??ABH?VH?F?NTH+?H??H;?s?D??EB?P???????w?ED??EB?6???????u?E??EB????????w?E??EB?L?T$@D(?$?I??D(?$?(?$?(?$?L??$?L??$?L??$H??$H??$H??$@H??$?H3??|D(?$?H??A]^??????H?\$H?L$UVWATAUAVAWH?? Mc?H??L??H???zE???q3?3?3?M??I??r
?E??A@??H?OI;?w??t?/H??A?A??H?GI;?w
??t?/H????H?OI;?w??t?/H??A?AD??H?OI;?w??t?/H??A?AH??H?OI;?w??t?/H??A?AL??H?OI;?w??t?/H??A?AP??H?OI;?w??t?/H??A?AT?????sM?qM?iHc?I??I?UH+?H??H;?sH???@vBI?EH+?H??H;?vL?D$hH??I???hq??? H+?3?I??H??L????J?3I?EL?t$`E3?M?FHff?A?????I?MI+MH??H;?r$???????v???????t?????????I??I??I??r?D+?M?v(??Mc?I??I;???????I?vI?H??H+?L;?sJ?:?7v9I?FH+?L;?vL?D$hI??I???Wo???I??3?H+?H??L???B?H?3I?FI?I9NtH?/M????H?D$`3?M?&3?E3ɉ\$h?HDH?p0I+?L$x???D?|$h?H?BH;?wA??t	F?<"H???A?A?ǃ?v%A?G???vA?G??vA?G??v
A??2??3?H?BH;?wA??t	B?<"H???A?3?H?BH;?wA??t	B?,"H???A?E3?H?BH;?wA??t	F?4"H???A?E3ۅ????N?"I+?E3?J?H;?w-A??t'E?H??I??E??y2?H?\$pH?? A_A^A]A\_^]?A?I?MI+MH??A??H;?r#A???????vA???????tA???????w?A??D;?|??\$hE3҅?~_A?J?"M+??E3?J?H;?wA??tD?H??H??E???_????A?I?EI+EH??D;??B???A??D;?|?E??~(H?BA??H;?wA??t
H??H???A?H??u??É\$h;\$x????A???????H?D$`H;???????@X???????????H?\$WH??0fo??H???3?H?H?yH??H?yA??A H??H?A0E???y8A??H?yTH?y`@?yh?yl@???H????D$ ??o??W?H???f~?f~?H??H??;?uC@3??CPH??H?\$@H??0_?H?{@H?{H3??CPH??H?\$@H??0_??????????????@SH??H?P&H3?H?D$pH??H?L$0??m????D$ ?\$(H?H8H??tHH?L?D$ H?T$(?PH??H?L$hH??tL?H?D$0H;???A?P H??H?L$pH3??vvH?Ā[??,F????????@SH??H??%H3?H?D$pH??H?L$0?+m???D$ H?\$(H?H8H??tBH?L?D$ H?T$(?PH?L$hH??tH?H?T$0H;????P ?H?L$pH3???uH?Ā[??E??????????????H?\$WH??H?,%H3?H?D$p??H??H?@?H?H???H??tWH??H+?H??H??H??rH??'L?A?I+?H?A?H????I???n3?H???H??H??@??ta@??uNH?L$0?l???D$ H?\$(H?H8H??tbH?L?D$ H?T$(?PH?L$hH??tH?H?T$0H;????P ??
?H?????H??H?L$pH3???tH??$?H?Ā_??
???sD??????????????̃?s????H??JP??;?B??BP????IT????????????I??????????????A?XAT?AH?AP????????̃?s???DP?3???AT???????????H?A????????????H?A ?????????????A????????????A??????????????A?????????H?Q????????????@SH??@H?##H3?H?D$0H??H?L$ ?p??(D$ C H?L$0H3??sH??@[???H?\$H?l$H?t$H?|$ AVH??0E3?H???L?qH???L?qH???H?H??H?D$`L???L???L???H???H???H???L???D???D???L??dL??lH????"o??H????o??H????
o??H????n??H??D??n??H??t??n??(?aH?L$`??A???D$ ?(
?aE????A??(?a??(
?a?(?a?(
?a? L??0D??8fD???D???L???D????=j??A???D$ ?E??A?ы??pH?L$`?j??A??A????tH???H??P ??~R@?H??????2fH????cH??t+H??t	H??`?H???H???H????H??P ;?|?H???H;?tD?3H??0H;?u?H?\$@H??H?|$XH?l$HH?t$PH??0A^?????@SH?? H?ۅH??H???t
????iH??H?? [??????H???(?TȒ(???UY?D)$D(?D???ҪY? DY?DX?DX?DX?R(?(?T??(?????UY??ҪY? Y?X?X?X?R (?(?TF?(???Y???UY?X??ҪY? D?@D($X??PX??`H????????????????@SUVWATAVAWH??H?wH3?H?D$p?yH?YL??$?M??L??$?I??H??$?H??|IH?QH?L$P?6l??H?GM??H?D$@H?L$`H?|$8H?D$PH?D$0M??H?\$(I??H?l$ ?qp(H?L$pH3??~oH?ĀA_A^A\_^][?????????????@SUVWATAVAWH??H??H3?H?D$p?zH?ZL??$?M??L??$?I??H??$?H??|MH??H?L$P?vk??H?G???Y?DZѿ3?H?T$8I???D-?yM?}8@ff?H?\$XH+?H??H??u	A(??	??B?';?s	A(???D?G??F?fE/????H???D??H???L??H?|$(H??H?D$ L?A???H?\$@H?l$HH?t$PH??0_?????????H?\$H?l$ VWAUAVAWH??H??H3?H??$?H???H??Ɓ?H???L?h??TH???L???H???H??H?D$pH??tf?L??I??H???\H??`H??u?L???L???M??uR(,OA(
1OAO(5OAG (
	O?p(O??(

O???
?A?lH?O@L??$HM??)?$H??)?$?D)?$?D)?$?EW??A_??,??D$`H?GtH?D$(H?L$ I???]bI?fn?H?QI??H?? [?fn?[???H???W???h?=H????l?(5NA(
:NAO(>NAG ?O\?A??????t7?G`??t!?Wd??t????;???;?????u	;?u9OdtH?OH??P@=?},H?????p???? ???uH???H?T$pM???d???5uH???H?T$pM???eE H???H??????????umI?I???S?K?PI?I???S(??K?P(?I???A?M@I??S?K ?PI?I???S(??K$?P?A?uP?v??u9I?I???S?K?PI?I???S(??K?P(??A?M@?8??uH?KH?T$pM???c???5uH?KH?T$pM???dE@H???D(?$????	to]`W???A???(?(????(???D??(???D?ˆY?(????(???U???X????Y??۪???Y?X?X?m`?H?T$pI???T??E`XE`]`W???H???H???pL?????L???(??????D(???D(???(???Y?(????(???U???X????Y?????۪Y?X?X?mpH????(?$?(?$L??$HH??$?H3???TL??$I?[@I?kHI??A_A^A]_^?????????@SH??P)t$@W?2H??)|$0z(?D)D$ DB ??UA(?(?A?Ъ?X??X?/?v|?X0.?w	W??Q??(???(??Y(??Ϫ(??ުA(??A\?A??U(???U?Y?u?\??\??^??^??^?(?(?????/???/???(??\??\??X?.?w	W??Q??(??i?(??Y%r(???UA(??X?A??U???(??Yu?AX?(??Ϫ?^??\??^??^?(?(?????/????\??\??X
.?w	W??Q??(??ܼ(??Y%?(??Ϫ(??ުA(??A\?A??U?X???U?X?(??Yjt?^??^?(??^?(?????\??\??X?.?w	W??Q??(??[?(??Y%d(?A(??ϪA??U(???U?X??\????(??DX??Y?s(??^??D^??^?(?A(????(t$@H??(|$0D(D$ H??P[??????????@WH?? ??dH??tNH?\$0H???H??t8H?t$8???lL???L??H????KH??`H??u?H?t$8H?\$0H?? _???????????H??USVWATAUAVAWH?????H??)p?)x?D)@?D)?x???D)?h???D)?X???D)?H???D)?8???D)?(???D)????H??H3?H?E?E??D?L$0M??H??H??D?????? ?D$8L??(?A??ulI??Q?II???P(?I??V?NI???P(?I??V?NI???P(?(?(?H?M??V??HO@ G ??
????H??M??H?U??8H?N$M??H?T$p?8I??V??W?????W??A?_?????W???g ?????W???????U???W?????D?ߪ???W??A??????W??A??????E??U???W??A??????_E?????W??A??????g ? (x<(
~<O(?<G ??'W??A?????'A(?A??UW??'W???????'WE?ɪW ??'W??A?????'?????I??Q?II???P(?H?L$@?M??I??V?NI???P(?H?M???M??I??V?NI???PW?(?W?H?M??R??fDo
n`h (T$@D(?D??DY?A(?T?DX?(???UY?DX??ҪY?DX?(T$P(???Y?A(?T?X?(???UY?X??ҪY?X?(T$`(???Y?A(?T?X?(???UY?X??ҪY?X?(U?(???AY?A(?T?X?(???UY?X??ҪY?X?(U?(???AY?A(?T?X?(???UY?X??ҪY?X?(M?(???AY?DT?AX?(???UY??ɪY?'?P(Q:(
W:J(\:B ???}3?H?]?D?y?A??u6I?D?AH?T$pI??????L? H?I??H?]?H?L$pH??tH??P?????D$X???D$\(????D$`g ???D$d??????D$h??????D$l??????D$L?????????D$P????????_?D$T????????g H??t
H?H???P??????I??Q?II???PD(?I??V?NI???P(?I??V?N I???P(?A?D9~DO~3ۋF$??uA?ęA?????7??uA?ęA??A??+??"??u I?I???PfAn?[??Y??,?A;?u??I??V,?N0I???P(?fn?[?fAn?[??^??\??Y??X??XыN(???????????(?H?M??II??H??W?A(?W?H?M??M??fo5i(xD@ D(?D??DY?(?T?DX?(???UY?DX??ҪAY?DX?S(???Y?(?T?X?(???UY?X??ҪAY?X?S (???Y?(?T?X?(???UY?X??ҪAY?X?Dg_ ??(?H?M??H??W?A(??(?H?M??{G??A(?W?H??W?H?M??%L??fo-*hD(?(?(? D??T???UpDY?x ?ҪY?DX?Y?DX?DX?S(?(?(???T???UY??ҪY?X?Y?X?X?K (?(???T???U?ɪY?DY?Y?X?X?X?_W H??H?M?H3??EL??$?A(s?A({?E(C?E(K?E(S?E([?E(c?E(?x???E(?h???E(?X???I??A_A^A]A\_^[]?????????@USWH??$0???H???)?$?H???H3?H?E@(?H??/qdH??rA0I@JAPB ?{?A`/?rIJA B ?V)?$?L?L$0D)?$?L?E?D)?$?H?T$PD)?$?D)?$pD)?$`D)?$P?vB??H?K0L?L$ L?EH?T$@?_B??H?U?H?L$p????H?UH?L$`?????\s`?CdL?D$`?\C`?%?	H?T$pH?M??^??\?(???(?(?YT$@YL$ ??(?Yd$PYD$0X?X?)U?)M???g??(E?D(?(???U(????(??Ȫ(??DY?D(??DY?(??Y?D(??DY?D(??DY?A(??A\??Y?D(??Y??DY?D(??DY?(??Y?(??A\?(??\??AX??AX??X???X?W??X?A(??D\??A\?H??DW-?dL?M???E\???X?)]??EX?(??A\??A\??DX??EX?(?L?E??AX??X??EX??EX?H?U????)]?A(?A?D?A?)]???F??D(?$PD(?$`D(?$pD(?$?D(?$?D(?$?(?$?H??H?M@H3??rB(?$?H???_[]????????????????H?A0????????????H?\$WH??@H???H3?H?D$0?I???T$pL??H?م?????u?B3??J??I?v??uA3?(??	??U?A?V??up?^T$x3??z?]?W??_?(?(??YJ(?YB,?Y??Y??Y??YR0?X?A@A\?X?(???Y?AX(????U?A????uF?\$xH?T$ I?J?!R(\$ 3?(?(???U??U?X??X???CH?C???(uB???5ul?\$xH?T$ I?J??R?
]b?D$ ?g?X?_?Xd$$?W?X\$(?XT$,?^??^???^??^??c?[?S???FDH?L$pH?|$@?NTM??DM??H?\$8?DHI??H?L$0H?FH?D$(H?L$PL?t$ )D$p??$???=F\H?L$pH?|$@?NlM??DM??H?\$8?DXI??H?L$0H?F$H?D$(H?L$PL?t$ )D$p??$??n=A(?A(?A???I??D ?DhI??PI?A(?A??UA(?I??(??PI?(?E???A(?A(???UI???P?Do?(??A(?A?A(??I??]I?A????PI?A(?A??UA(?I??(??PI?A(?E?ҪI??A(???U(??P(?A??A(??A(?]I?I??A????PI?A(?A??UA(?I??(??PI?A(?E??I??A(???U(??PD(?$?(?D(?$?D(?$?D(?$?D(?$?(?$H??$(?(?$A?D(?$??] ????u3H?CA(?(?H?U?H?? ?kBXA???&(??ʪ???W
?RW????????A??????I?D??(H?T$PI??????H?\$PH??????4????Y?,?A?(??^??Y??Y?0??t??u
/?v(??(?(??|(?I?I???P8?Y?,(?(?H?U?H???Z???H??H?M??,??(E?AH?\$P?A>H??t
H?H???P??'??u"I?$??8??<I???P?A>AF@H?M?H3??/L??$A(s?A({?E(C?E(K?I??A_A^A]A\_^[]???̃?d4H???H??tfff?ƀ\H??`H??u?ǁd???H?\$H?t$WH?? ?H???P?H???u,??BP???u? ?B P?????H????`?????3???K??C ???K?C ? H??0Ɔ8H???H??t)@ff?H??H????,H??`H??u?Ɔ?H?\$0H?t$8H?? _???????????????H??WH???)p?D)@?H???H3?H??$????(?H??t?v???H???H??$H??t
??d~??	2?2?H??t???9????EW?A.?zuH????? t2??????t???uH??u??u??u???
???fLJ?txH???H??P???tJL???A??lu9A/?v3fn?`??l[?/?r(??X?/?vH???H???*?????t(??X?l??l(?H????
H???H??tH??????
u??p??t??t(?H???HLJ?H???H??t4H??$f?H??H????*H??`H??u?H??$H???H?HH??P@=@|mH???H???H?X?? ??hL?????lH???L???H???I???
?D$8?L$0H?D$(H?\$ 落???????d)?$????H???H??P????3H????xht??l/?h?K?xlt%H???H??t	??dtHLJ?? ?xpt-H???H???
H???)??uH??`H??u???H??????t*H?????H??????H???ʶ??????H???????e???H???tw?_p(???????????(??????D(???D(??ˆY?(????(???U???X????Y?????۪Y?X?X??Q?H?T$PH?L$p@p)D$p??)?$???)?$???)?$??
)??p\8H??????????H?´H?L$`?_&??\|$`H???H?L$Pfo5?KH???U??7&??(T$P/?ru(?(???U??U/?rb????Ҫ/?rUH???????:Ƈ?(?$?H??$H??$?H3??b)(?$?D(?$?H???_?H??????????uuH?´H?L$P?%??(\$PH????????Y?Y?Y?(?(???U?X??ɪ(???U?X?(??X??۪W?J?X??X?A/??4????l???)???H?´H?L$P?%??H???\|$P??????Y??Y?(?(???U?X??Ϫ?X?/?????t	??
????????????H???H??P ??~(H???H??tH??????
u??p??tH?????4uLJd?n?????d?h???H???H??tqƀ\H??`H??u?LJd?:??????*????X?pH?????p/?8????H???H??tƀ\H??`H??u?LJd???????????????????H?\$H?t$WH?? ?H???P?H????u,??BP???u? ?B P?????H????`????l?????8t%????? ?????K??C ??4???K?C ? ??0??4Ƈ8H???H??t(@f?H??H???$H??`H??u?Ƈ?H?\$0H?t$8H?? _???????????????@SAVH???H?^?H3?H??$?L???H??A?>??H?????H???H?T$ H???$??H???(??H??P????~H???H??$?H??$??H\?h`?pd?A??????u
??u;??7H??$???u5;?u;;?u7H???(@@?p(HP??(@`?????A??????tH???H?(???H??pH?T$p??#??H???(?p)D$0H؃?u'H??$?H???8"??()D$@(H)L$P(@ ?H?(@p)D$@(??)L$P(??)D$`??uH?T$pH???+#??(?
H?(??L?L$0)D$ L?D$@H?T$ H??$??{(??((HK(@ C H??$?H??$?H??$?A?H??$?H3???#H???A^[???????????????@SWH??hH?B?H3?H?D$P??$?M??L??$?M??L??$?H??H??$?H??A?H??$?=???u
fo???q??u%L?D$0M??H?T$(I??H?L$ H????????H??u0(??Y???YK?Y%??X(???YC X????u9?^?$?I?JxL??H?T$@H????W??]??_???????u=?
??(??Y[?Y??Yc?Yx??X#?X?(???????u-?^?$?I??8H??H??=?W??]??_???M??u'??$?H?T$@I???(??3(D$@X?5??u3??$?(?I?????2?X???(????H??H?L$PH3???!H??h_[????@UAWH??$h???H??D)?$ H?=?H3?H?E???D(?L????	H???H??P?????	I???H??$?H??$?H??$?L??$?L??$xL??$p)?$`)?$PD)?$@???I???A???H??PH??H??R0H??????I????D$`tA(?I??????I???A`H?L$x)}??A\?????=I???I??h?>M??l?A6M???I?$H?t$hL?t$p?\I???H??H??RH?L$xM???M???M??H???H???H?T$P?T$`?T$HH?U?H?|$@?|$8?t$0H?\$(H?D$ ?׵??DI??????	?I???H?U?????W?H?t$hL?t$p@0h (??????D(???DA(?A??(??ڈY?A(?A??U???(?E?????????X?Y????AY?X?D(?DX??A??A?pA??W?(???D(????(???D(?????Y?(????A????UY????(????X???????Y?X?X?\??A?x(?Y?(?(??????U?X??X?W????Q?/?vW????R???Y?(???Y?A??E(??A?|\???E??Y?AY?X?(?A??Y?(?(??????U?X??X?W????Q?/?v'W????R?(?(???Y???Y?A??H?IH??P8EY??I??hH?D$hM???I??l??H?D$pM???DY?(E?I???AX?I?$)E?H?H??p?H?ϋPX??M???H??H?D$hI?ƤI?$I????0H?D$p?8?iI???H??H??RM???I???H?t$PH?M?L?t$HI?? H?|$@M???t$8?|$0H?\$(H?D$ ?mH?D$hI???I?$H?ƤI????0H?D$p?8??I???H??H??RM???I??H?t$HH?M?H?|$@I????t$8M???|$0H?\$(H?D$ ????I???L??$pL??$xH??$???twE?0H??PH??H??R0H??;???I?????H??RH??H??R8M???I????\$0L?M??DT$(H?U?I???D$ ??=(E?X)E??(E?I???I??M???M???AG`H?D)?$0???I??????	??I???H?U????(}?L?M?(m?L?E?(e?H?U?H?M?fDo
?=D(?D??(???UA(?T?Y??ҪY?DY?DX?A(?DX?DX?PT?(???(???UY??ҪY?Y?X?A(?X?X?P (?D)E???(?Y?T???UY?X??ҪY?)u?X?X?)]??c???L?M?L?E?H?U?H?M??L??fDo
?<p D@8I????????A?pA(?T?(???(???UAY??ҪY?Y?X?A(?X?X?A??T?(???(???UAY?Y??ҪY?X?X?X?A??(?(???DT?Y?(???UAY?D(?AX??ҪY?X?(?X?D(?$0?*I?$??I???H??H??RH??H??R0H?????H?ˋ?????I???H??H??RH??H??R8I???M?Gp?|$0I????DT$(H??(?H?\$ ?GI??`H?M????(U?fo%_;(???(???U(?T?AY??ҪY?Y?X?(?X?X?(U?T?(???(???UAY?Y??ҪY?X?X?X?(U(?(???T?Y?(???UAY?D(?X??ҪY?X?(?X?A??8I???A?lL??$?H??$?H??$?t%HA??@ A??A???A??E??A??8I??AƇ8D@H?U?p A??4?A?4A??0?E??A?@(?$PE?PD(?$@A?`(?$`AGpAƇ?H?MH3??D(?$ H?ĘA_]?????H?\$H?t$WH??@?H???II??I?I??)t$0H??)|$ ?PH?H???S(??K?PH?H???S(??K?P?
H?(?H?\$PH??(|$ ?(t$0??H?t$XH??@_?????????????W?ǁ]?]H???????????E3?L??A?????]tA??H??H??|?3??Ic?Ƅ]??]Hi??I??g??????????H?\$H?t$WH?? H??H??]?f???tH??????H???H??H??u?H?\$0H?t$8H?? _????H?\$H?l$H?t$WH?? H??H??]H?پ??tH???-???H;?uH??? ???H???H??H??u?H?\$0H?l$8H?t$@H?? _????????????H?\$H?l$H?t$WH?? H??H??]H?پ??tT??d?? H??????H??誡??A?(?H???????)??uǃd???uH?3?H??????]H???H??H??u?H?\$0H?l$8H?t$@H?? _?????????????H?\$H?l$H?t$H?|$ AVH?? L??H??]H??H?پ???tYH??????L;?uL??d??I??????A?(?H????????)??uǃd???uH?3?H??????]H???H??H??u?H?\$0H?l$8H?t$@H?|$HH?? A^????????H?\$H?t$H?|$AVH?? L??H?9H??PH???}????H?߁{L?????I???0???u??2???uH??H???????I???2???u]I?H?HHH??tH??PI?3???0I????1I?H????LH????I?>H??PH??H??????uI?[???H?????X?I???g3?H?\$0H?t$8H?|$@H?? A^??CL?????̹?{???????????H?\$WH?? W?3?H?YHH??AhAx??H?YXH?Y`ǁ??????AP???H????H????3???f??0??2???1??0??2H?\$0H??H?? _???????????̀ytH?	????H?	H??t
??f??????????????H?\$WH??0H?ٸ??2H?????{tx?9Cty)D$ 3?H?L$ ????ulW?H???????H???????H?{H?O8H??tH?H;????P H?G8?{uH?\$@H??0_??/?̹??̹??̹????????????????@SH??@H?ٹ?9
H??tH?H?D$PH?L$8H?L$(?D$ L??L?????3?3??C?H?D$0H??t?{u(L$0H??@[?????D$8??U?????H?\$H?t$H?T$WH??0H??H??H?YPH?\$ ?D$(H???$?????CL=???ti?D$(H?NH????Q??3???1???0H????>?H?L$ ???H?O8H??tH?H;????P H?G8H?\$@H?t$PH??0_??ȉCL??̹????????????H?\$WH?? H?YPH??H???k?????CL=???th??1?H?t$0??u@H??H???????1???t?H?OHH??H?t$0H??tH?H;????P H?G8H??H?\$8H?? _????ȹ?CL??̹?????L??H??$3?I?JI?JI?I?RM?B M?J(I?J0I?J8I?J@I?JHI?JPIc????xH??I???L??I???????????????H?\$H?t$WH?? ??H??H?m$H?H?YHH??tH???!
H??hH??u?H?_HH??tH???
H??hH??u?H????H?_0H??t?H??H?O?$??H?[H??u?H?O03?H??tH?AH?QH?QH??H??u?H?W0H?W8H?W@@??t
?XH???eH??H?\$0H?t$8H?? _???????????H?A8H??tH?BH?A8H?PH?Q8H?A@?H?Q0H?Q8H?A@??????H?\$H?l$H?t$WH?? H??I??H?I ??H??P???t H?]HH??tH??H???PH??hH??u?@??t'H?]0H??tfDL??@??H??????H?[H??u?H?\$0H?l$8H?t$@H?? _????H?\$WH?? L?I(H??H?Q L??H?I?????H??H??uH?\$0H?? _?H?CPH??t	H??h?H?{HH?{PH??H?K L?CH????H?\$0H??H?? _?@SAVAWH??0L??D??H?I H??P?????I?N H??P????M?FH3?M??tQI???H??t??d?JH?@Oʋ?H??u?M??hM??uͅ?~M?V E8B8tI?N(A????AlM?V A????????M?N(I??I?M?FH?l$PH?t$XI?q`H?t$ ?PhI?nHH????H?|$`I?N L??M?FH??H??PpI?F 3?9??u8H???H??tjf???dH?XH?L??D??H????????H?H??u??>H???H??t2ff???dH?XH?L??D??H??貪????H?H??u?I?N L??M?FH??H??PxH??hH???D???H?|$`I?N L??I?VH????H?t$XH?l$PE??t!I?^0H??tA??H???$???H?[H??u?H??0A_A^[??H?A0??~??fDH?@H??u???????H?AH????????????H?A(????????????H?\$H?t$WH?? H?YH??H??H??tf?H????H??hH??u?@??tH?^0H??t@??H??????H?[H??u?H?\$0H?t$8H?? _??????????H?\$H?t$WH?? H?YH??H??H??tf?H???xH??hH??u?H?^HH??tH???XH??hH??u?H???D@??t$H?^0H??tfD@??H??????H?[H??u?H?\$0H?t$8H?? _????????????H?\$H?l$VH?? H?YH3?H??H??tpH?|$0??\u:H???]??u.H?MH??H??h?&??H9]HuH?}HH??H??tH??h?
H??H??hH??u?H?|$0H?uPH?\$8H?l$@H?? ^?H?\$8H?l$@H?qPH?? ^????????????????H?\$UAVAWH?? H?YHE??H?t$@D??H??H??t!f?A??H???t	H??hH??u?H?]H3?H??tdH?|$H???\u:H???o??u.H?MH??H??h?8??H9]HuH?}HH??H??tH??h?
H??H??hH??u?H?|$HH?uPH?t$@E??t$H?]0H??tf?E??A??H??? ???H?[H??u?H?\$PH?? A_A^]?????????H?D$(H?A3?H?A H?A(H?A0H?L?AL?IH???H???H???H???H???H???H??`H??hH??Ɓ\(U?A@(
Z?IP(_?A`???????????H?\$H?l$H?t$WH?? H??H???3?H9??tQ?H?;H??tH?OH?oH?H?hH??tH?iH?H?KH?N? ?????dH???????H9??u?H???H??t%ff?H?AH?iH?iH??H??u?H???H???H???H???H?H??t?H?AH?iH?iH??H??u?H?+H?kH?kH?\$0H?l$8H?t$@H?? _?????????????H?\$WH?? H???H??H??t$???dH??H??蜕??H?[H??u?H?\$0H?? _?????????H?\$WH?? L?AH??H?QL??H?	?`???H??H??tIH???H??tH?GH???H?y?H???H???H???H?K?=???H??H?\$0H?? _?H?\$0H?? _?????@VAVAWH??p?y M??D)D$@M??D(?H??u6H?A???t)???H?I萑????tA(??F ?XF0?F,?~ u(H?F???t???H?N?T?????t?F H?VH?N?Bl???u????ȃ?w??2??zhH??$?u	??u@??@2?~ ?XD)L$0EW?H??$?H??$?)t$`)|$Pfff??F$9F(??D/F,??@??tmL?FL??H?VH??Ѵ??H??H??tOH???H??tH?CH???H?Y?H???H???H???H?N讐??D?N$I???V,H???????F$H?^H?~H??H??s|????P?H?KH?t$(M??H?L$ M??H??H????H??$?I??I???$???$??PA(??_??XN,?N,?~ ?????(|$P(t$`H??$?H??$?D(L$0H??$?D(D$@H??pA_A^^????????????????H???vH????3????????????̋????????????H?\$H?l$VWAVH??`H?YH??H?yI???A$L??)t$PH??H????)|$@????P?H?KP?t$(M??H?L$ L??H??H???H??$?I??I???$???$??PH?N?F0?F,?yH??L??H??I???CM?UH?t$@H??I?vH+?H??H;?v(H??L???MI?~J?;H+?H??H???J??L????LH?t$@H?l$PH?;H?\$HI?FH?? A_A^_??V??u????????H?\$H?t$ WATAUAVAWH??H???H3?H??$?M??L??H??H?L$8L?H??I+?I????????*I??H??L??I??I??H???L?H?NI+?I??H??H??H??H???H?H?UUUUUUUH;??.L?zH?NI+?I??H??H??H??H???H?H??H??H??H+?H;?wH?I;?IB?H?\$(H?L$@??????[???L$ H?H8H????H?H?T$ ?PH??H?D$0H?D$xH??t!H?L?A H?L$@H;???H??A??H?D$xK?vL?4??AE?AA?EA?FL?FH?H??M;?uL+??M??L+??WKI?NL?FM+?I???DK?L??M??H??H????^I??H??$?H3???L??$?I?[@I?sHI??A_A^A]A\_???????;????????H?\$H?t$ WATAUAVAWH??H???H3?H??$?M??L??L??H?L$@L?H??I+?I?gfffffffI??H??H??H??H??H???H?I?NI+?I??H??H??H??H???H?H?3333333H;??bL?zI?NI+?I??H??H??H??H???H?H??H??H??H+?H;?wH?I;?IB?H?\$0H?L$P???????D$ ?????L$(H?H8H????H?L?D$ H?T$(?PH??H?D$8H??$?H??t$H?L?A H?L$PH;???H??A??HDŽ$?H?I?L??M??H??I???l]H??H??$?H3???L??$?I?[@I?sHI??A_A^A]A\_???????5??L?D$H?L$SVWATAUAVAWH??0M??L??H??H?L??L+?L?qL+?I??I????????M;??kI??H?IH+?H??H??H??I??H+?H;??BH?
I??I;?HC?I;??+H??H??H?L$ H??u	3?H?L$ ?=H??r)H?N'H;????$?H????H?X'H???H?C??H????H??H?\$xI???L?H??$??
:???AEH??$?????AL?GH?H??M;?uL+??M??L+??GI?OL?GM+?I???G?H?H??t1H?WH+?H???H??rH??'L?A?I+?H?A?H??w=I????H?I??L?L?wH?H?OI??H??0A_A^A]A\_^[?????????????	Q?H?\$H?t$ WAVAWH??H??H3?H??$?H??H??H?L$8H?UUUUUUUH;??.H?IH+I????????*I??H??L??I??I??H???L?H?NH+I??H??H??H??H???H?H??H??H??H+?H;?wH?H;?HB?H?\$(H?L$@??????[???L$ H?H8H????H?H?T$ ?PL??H?D$0H?D$xH??t!H?L?A H?L$@H;???H??A??H?D$xK?I??H??I+?tL?@I??3??LL?FH?L+?I????E?L??L??I??H???YH??$?H3??U?L??$?I?[0I?s8I??A_A^_??g????????H?\$H?t$ WAVAWH??H???H3?H??$?H??H??H?L$@H?3333333H;??FH?IH+I?gfffffffI??H??L??I??I??H???L?H?NH+I??H??H??H??H???H?H??H??H??H+?H;?wH?H;?HB?H?\$0H?L$P??????D$ ?????L$(H?H8H????H?L?D$ H?T$(?PL??H?D$8H??$?H??t$H?L?A H?L$PH;???H??A??HDŽ$?K??H??I?H??I+?tL??I??3??KL?FH?L+?I???_D?L??L??I??H???XH??$?H3???L??$?I?[0I?s8I??A_A^_????????]??????????H?\$H?l$H?t$ WATAUAVAWH??0I??L??L??I???C???H?D$`I?M0H#?H?I?UH?\?M?eM?<$I;?uI??I???bH??C??P???<tH;?t>H?[C??P???<u?I?A?FI??H?\$hH?l$pH?t$xH??0A_A^A]A\_?L??H??H?UUUUUUUI9E??L?d$ H?D$(?I???%_H??H?D$(@?@ I?MH??W?x?H*??H??H???H??H*??X?I?}8?A]W?H??x?H*??H??H??H?ǃ?H??H*??X?(??^?/???^???3??
r/?r?\?/?s
H??H???H,?H??H;?HG?H;?sH??s
H?H?VH?2H?sI?MI?E0I#?H?L??M;$uH?4??L;?uH?4??H9T?uH?t?I?6A?F?????H?
?p??????????????H?\$H?l$H?t$ WATAUAVAWH??0I??L??L??I???c???H?D$`I?M0H#?H?I?UH?\?M?eM?<$I;?uI??I???bH??C??P???<tH;?t>H?[C??P???<u?I?A?FI??H?\$hH?l$pH?t$xH??0A_A^A]A\_?L??H??H?UUUUUUUI9E??L?d$ H?D$(?I???E\H??H?D$(@W?H I?MH??W?x?H*??H??H???H??H*??X?I?}8?A]W?H??x?H*??H??H??H?ǃ?H??H*??X?(??^?/???^???3??
6o/?r?\?/?s
H??H???H,?H??H;?HG?H;?sH??s
H?H?VH?2H?sI?MI?E0I#?H?L??M;$uH?4??L;?uH?4??H9T?uH?t?I?6A?F?????H?
?m???????????????H?\$H?t$H?|$ AVH?? L??H??3?H?H?AH?AH?BH+H??H??t[H????????H;?weH?D$0H?T$0H???W???H??H?H?FH?L$0H??H?H?NI?^I?H+?L??H????=H???H?H?^H??H?\$8H?t$@H?|$HH?? A^??O??????????????????H?\$H?l$H?t$WH??0??)t$ 3?A?A??(?H????C??džH???[]3?H??A???C??u??dž??H?????
?????i??+Ѓ????]3?H??A??C???Jdž??H????
?????i??
??+Ѓ?
????\H?\$@H????(t$ ??H?t$PH?l$HH??0_?????????H?\$H?l$H?L$VWAVH?? H??H?????J?I?B?A?J?IH?? H?? ??L???3?I?I?FI?FH???H+??H??H??tBH?????????H;?wUI???
OI?>H???H???H+?L??H????;H??H??I?F??????H??H?\$HH?l$PH?? A^_^??K??????????????H?\$H?L??L?JL??L?B3?H?ZH?ZH?H?L?AL?IH?R(I?J I?BI?Z I?ZI?Z(I?CI?K I?S(I?R@I?J8I?B0I?Z@I?Z8I?Z0I?C0I?K8I?S@I?RXI?JPI?BHI?ZXI?ZPI?ZHI?CHI?KPI?SXI?RpI?JhI?B`I?ZpI?ZhI?Z`I?C`I?KhI?SpI???I???I?BxI???I???I?ZxI?CxI???I???I???I???I???I???I???I???I???I???I???H?\$I???I??I???I???????????????????H?\$UVWAVAWH???H??H3?H??$?H??H??H?L$(?????H?NH?U?????H?N0H?U0?????H?NHH?UH?????H?N`H?U`?s????E3?L?vxL???L???H???H+]xH??I?????????H????I;???H?L$0????H?H8???D$ H????H?H?T$ ?PH??H?L$hH??tH?H?T$0H;????P H?~xH???H??H???H?~xH???H?UxH+?L??H???9H??H??H???H???H???L???L???L???H???H+??H??H????I;???H?L$p?????H?H8???D$ H????H?H?T$ ?PH??H??$?H??tH?H?T$pH;????P H???H???H??H???H???H???H???H+?L??H???$8H??H??H???H??H??$?H3???H??$H???A_A^_^]??*???????????????????+???????????H??(H?QH??tA?H?	?5T?H??(????????????????H?\$H?t$WH?? H??H?Q3?H??t L?A(L+?I??H???/UH?wH?w H?w(H?OH?AH?0H?H??tH?A?H?O?S?H??H??u?A?H?WH?O?S?H?\$0H?t$8H?? _??@SH?? H??H?H??tL?AL+?I???T3?H?H?CH?CH?? [?????????????H??(H?QH??tA?H?	?5S?H??(????????????????H?\$WH?? H??H?H?BH?H?H??tH?A?H????R?H??H??u?A?H?H????R?H?\$0H?? _??????????????????????????????????????H?\$H?t$WH?? H??H?I3?H??t9L?C(L+?H????????*I??H??L??I???L?H??H?K?$??H?sH?s H?s(L?M??t8H?KI+?H?gfffffffH??H??L??I???L?I??H???RH?3H?sH?sH?\$0H?t$8H?? _???????????H?\$WH?? H?YhH??H?K8H??tH?H;????P H?C8H?O`H?_(H??tH?H;????P H?C8H?\$0H?? _???????H?\$WH?? H?YPH??H?K8H??tH?H;????P H?C8H?OHH?_H??tH?H;????P H?C8H?\$0H?? _???????@SH?? H??H???H??tKH???H+?H???H??rL?A?H??'I+?H?A?H??w-I????3?H???H???H???H?K H?? [??>?????????????H?\$H?t$WH?? H??H???????H?Kx?????H?S`3?H??t L?CpL+?I??H?K`???H?s`H?shH?spH?SHH??t L?CXL+?I??H?KH???H?sHH?sPH?sXH?S0H??t L?C@L+?I??H?K0?W??H?s0H?s8H?s@H?SH??t L?C(L+?I??H?K?.??H?sH?s H?s(H?H??tL?CL+?I??H?????H?3H?sH?sH?\$0H?t$8H?? _?????????????H?	H??t
???&???????????????H??SVWH??)p?)x?D)@?D)H?D)P?D)X?D)?x???H???H3?H??$?EH??E(?H??E??UA(??YAT?XA\?D(?A(??YGX?Yd?XG`?D(?(??Ywh??D(?(??DD(?(??tD(?(??i?fDo@(??e?(??W??A(?A?A(??A?A?A?Y?A??A(?Y?A?A?\?(?Y?(?(??????U?X??X?W????R?(???Y?(????Y????Y?\?(?Y?(?(???U????X?A(?A?˪?X?A(??wl?x?D????Y?W???W??R?D(?(??
}???E??DY?DY?A(???(?X?DX?E(?E??U?AY??X??1CD(??t$@(??EY???U(??AY???U?|$@?X??C(??DT$@?GtA(??AY???U?Y??X????B?Y??H???H?L$`?ǥD??D?EX??c???H?? H???H?L$P?K???H???H?L$@?:???A(?L?D$0YD$@H?T$pH??XD$P)D$0?N(D$`YH??AX?H??$?H3???L??$A(s?A({?E(C?E(K?E(S?E([?E(c?I??_^[??@SVWH??H???H3?H??$???H??H??3?H?L$pA?????H?sH?H;??/H??$?L??$?)?$??5cH??H?L$P?????H???H?L$@?.???H???H?L$0????(D$0L?D$ YH?T$`H?L$pXD$@)D$ ?M(\$P(?Y?C@fn?(?[??Y??X?W??]?(???U?Y??۪?_??Y?(??,??C@?CAfn?[??X?W??]??_?(??,??CA?CBfn?[??X?W??]??_??,??CBH??PH;?????(?$?L??$?H??$?H??$?H3????H?İ_^[??????????L??H???A)s?A){?H??H3?H??$??=B?W?L??$ W?AA
q0!(???U(??(???(?)\$p(???U???(?A[????(?"?r03??(?A[?????U(??(?׋??(?)\$(???U???(?)\$ ???(?A ?Ap0?(?)\$0(????U(???(?)\$@(???U???(?)\$P??(????)\$`?%&?W?T\@\?\Tp(????(??????????Y?Y?\?.?z??(?(???U???˪W?W?H???^??^???????H????|???$???$???(?Y?(?(??????U?X??X?W?????$??R????Y???$??(?AY?(?(??????U?X??X?W????R???Y?AH??$?H3??C?(?$?(?$?H???????????????H?\$WH??`)t$PH?z?H3?H?D$@?	H?T$0fo5??H???H?? )L$0?????OH?T$0?H?O )L$0?????OH?T$0?H?O )L$0?????OH?T$0?H?O )L$0?l???H?O ??????W?H?????\?W?Y?(???U?X????D$ ?Q??L$ H;??tH?B?
H????L?D$ H????
 ???W?OH?????\?W?Y?(???U?X????D$ ?Q??L$ H;??tH?B?
H????L?D$ H???????W?OH?????\?W?Y?(???U?X????D$ ?Q??L$ H;??tH?B?
H????L?D$ H????6??LJ?H???H???H;?tW?fD?XH?????H;?u?H?L$@H3????H?\$x(t$PH??`_???????????????H??H?XH?pH?x UATAUAVAWH??????H?? )p?)x?D)@?D)H?D)P?D)?x???H??H3?H???H??W??E(3?H?]?H?]8?EH?]?H?] H?I H+NI????????*I??H??H??H??H???H?tL?D$0H?M(?????H?E8H?E?H?N H+NI??H??H??H??H???H?tL?D$0H?M?????H?E H?E?H?M0L?m(I+?H??H?}H??t"foȟH??I??H+?H?@H??u?L??L?FH?N I+?I??H??H??H??H???H???M??L+??5??f?H?JcL??I??L?JcDH??H??H?JcDL??I??L?A*(?\?Y?(???U(??ª?X??X?W????Q?/???A (?\?Y?(???U(??ª?X??X?W????Q?/???(?\?Y?(???U(??ª?X??X?W????Q?/?wz\?\?(????(????Y???????Y?\?(?Y?(???U(?????X??X?W????R???Y?B?H???H?D$ L?M@I??????(??I??H??H??L?FH?N I+?I??H??H??H??H???H?L;??????H?}3??D$@H?\$HH?\$P?H?L$H?[BH?H?@H?D$HH?\$XW??D$`H?D$pH?D$x?Df??D$@??L???H?L$X?8??E?H?]?H?]?H?M???AH?H?@H?E?H?]?W??E?H?EH?E?E???L???H?M??7??E?H?]?H?]??H?M??AH?H?@H?E?H?]?W??E?H?E?H?E??E???L???H?M??R7?L??H?N H+NH????????*H??H??H??H????D??H??fDo
??L??M??L+?I????????*?H?NI?HcH??H?H?D?A(??AY???(?A(?A??U?AY??ʹ(?E????EY?A(?费A???)??H???H?L$@?????H?T$pH#?H?L?D$XI?L?H;L$Ht3M??A??P???<tI;?tH?IA??P???<u??3?H??uZL???H?U@H?L$@?????H?DI L???H???H?M??????H?DI L???H?UPH?M??????H??A A(?B?7P???<tdL???H?U`H?L$@????H?A BX7A L???H?UpH?M??]???H?A XA L???H???H?M??X???H??A H??H???T???I??I??H??H?N H+NI??H??H??H??H???H?L;?? ???L?m(H??L?H?NI+?I?gfffffffI??H??H??H??H???H???fff?FA(??AY??շ(?A(?A??U?AY?迷(?E????EY?A(?詷(?A???)??L???H???H?M??f???H?fnq [?L???H?UpH?L$@?&???H?(???I ^?H?LL???H?U`H?M?????H?fnq [?L???H?UPH?M??????H?(???I ^?H?L H?\(?Y?(???U(?????X??X?W????R???Y?DH?\ (?Y?(???U(?????X??X?W????R???Y?D H??H??PL?H?NI+?I??H??H??H??H???H?H;??m???3?H?U?H??t L?E?L+?I??H?M???>H?]?W??E?H?M?H?AH?H?H??tH?A?H?M??=?H??H??u?A?H?U?H?M??q=?H?U?H??t L?E?L+?I??H?M??>H?]?W??E?H?M?H?AH?H?H??t@H?A?H?M??=?H??H??u?A?H?U?H?M??=?H?T$XH??t$L?D$hL+?I??H?L$X?!>H?\$XW??D$`H?L$HH?AH?H?H??tH?A?H?L$H?<?H??H??u?A?H?T$HH?L$H?<?H?UH??tL?E?L+?I??H?M?????M??tL?E?M+?I??I??H?M(?????H???H3??3?L??$ I?[8I?s@I?{HA(s?A({?E(C?E(K?E(S?E([?I??A_A^A]A\]?????L??M?K M?CI?SVWH??H?AI??H?1H?D$(H;??hI?k?H??$?M?c?L??$ M?k?L??$(M?s?L??$M?{?L??$?)|$`E)C?D)L$@?D
'?D)T$0?D?I?[?)t$p~0?AMD(??A\$?AY?(?D??U?\?A/?vYD?EH??$(??D^?A(??X???E?H??$?A(؋?@???E?H??$?A(؋8H??$??? ????(??X?D/?vsH??$?D\?D?EH??$?A(??D\??D^??A\?(??????E?H??$?(ދH??$?????E?H?L$ (ދ8H??$??????	?]I??A???AM?A$D?(??AY??\?/?v"?^?D??H??$ ??(??Y?????$ ?:(??X?/?v'?\???H??$ ?\??^?(??&?????$ ???$ H??$??~@H??PH??$?H;t$(?T???D(T$0D(L$@D(D$P(|$`(t$pL??$?L??$?L??$?L??$?H??$?H??$?H?ĸ_^??????????????̃???????H?QH?H;???W???(????(?????U???W?????W?@??(????(?????U???W?????W?X@ ??(????(?????UW????????X H??PH;??e???L?A H?QI;???
?B??JH??I;?u?Ã???H?QH?H;???W?(?(??ê??U???????W????????W????`(?(??Ī????U?????W????????W????`X (?(??ê??U???????W???????????X H??PH;??M???L?A H?QI;?t?
?B??JH??I;?u??????????????H?\$L?D$H?T$UVWATAUAVAWH??0M??H??L??L?BL+H?gfffffffI??H??H??H??H???H?H?N H+NH????????*H??L??I??I??H???L?M?}I?]I;?tMf?H?VH;Vt-KJC B K0J0C@B@H?FP?L??H???.???H??PI;?u?M?} I?]I;?t<?H?V H;V(t???C?BH?F ?L??H?N????H??I;?u?L?FH?N I+?I????????*I??H??H??H??H???H?L;?sTO?vI???K?H?HH;?t(H??H;?u?I??I??L?FH?N I+?I??H??H??H??H???H?L;?r?H?V3?H?nH?NH?nH?H?.I?$I?L$I?T$H?V(H?n(H?N H?n H?FH?nI?D$I?L$ I?T$(L?NM??t2H?N(I+?I??H??H??L??I???L?I??H?N???H?nH?n H?n(L?M??t8H?NI+?H?gfffffffH??H??L??I???L?I??H???5H?.H?nH?nI???k???I??H?\$pH??0A_A^A]A\_^]????H?\$ H?T$UVWATAUAVAWH??H??I??L??L??W??E?H?E??E?E3?L?U?I?HI+H?gfffffffH??H??H??H???H?tL?E@H?M?????L?U?H?O H+OI????????*I??H??L??I??I??H???L?H?u?H??L?E?I+?I??H??H??H??H??H???H?L;?s
K?II?4??XvZM+?I??I??H??H??H???H?L;?vL?E@I??H?M??????H?u?L?E??%L+?tK?IH??L??3?H????H?L?E?H?u?E3?H?M?H+M?H?????????H??H??H?H??H??H???H???3?E3?L??fDH?H?M?????B;(???U(??ت?]???E?H?E???\H?H?M?詭??BD;(???U(??ت?]???E?H?E??D?\H?H?M??l???BD; (???U(??ت?]???E?H?E??D$?\,H?H?M@???B\;0(???U(???E@H?E??\0??U?D4H?E?L?@$L?H?PH?H?HH??E???H?M?H??H?H???"???H?A?D@H?M??D8I??M?PH??????L$ E?~?A??AΉL$ E;???????~t5E??~0H??K??H??M??ff?H?H?D?H?I??u?A?E??D$ D??????A?V?E?fL??Hc?H?IH??H?D$P?L$ ??~rE??M??E??A??A?[?D??f?B??T$@A?A??D$DH?OA?E?LC?A?DH?G?D$@?ADE?LM?@A??I??u?A?V?H?D$P?L$ A??E?L?D;??x???L?H?OI+?I?gfffffffI??H??H??H??H???H?tdH??A)D$@H???H????H?L?D$@H?T$P?PfoD$PH?H??H??PL?H?OI+?I??H??H??H??H???H?H;?r?H??H?L$`H3??ڝL??$?A(s?A({?E(C?E(K?E(S?E([?E(c?D(l$pI??A_A^A]A\_^][??Xm??Rm??????????????H?\$ L?D$UVWH??H??LH3?H?D$pI??H??H??H?QH?	H??H+?H??H;???H?L$0?`?????D$ ???L$(H?H8H????H?L?D$ H?T$(?PH??H?L$hH??tH?H?T$0H;????P H?L?FL+?I??M??tH???H?>H??H?FH?FH;?tf?H?H??H;?u??
L??$??X??H?L$pH3?舜H??$?H?Ā_^]??4l????????????????H?\$WH?? H?????????H??H;?w_H??H??u3??5H??r$H?K'H;?v<舔H??H??t5H??'H???H?H??H???j?H?H?GH?H?\$0H?GH?? _??@G????2???????????H?\$H?t$H?|$AVH?? H??I??H?	M??H??H??t,L?SH????????*L+?I??H??L??I???L?H??H???;???H?;K?vH??H?KH?vH?t$8H??H?|$@H?KH?\$0H?? A^???????????H?\$H?t$H?|$AVH?? H??I??H?	M??H??H??t-L?SH?gfffffffL+?I??H??L??I???L?H??H???H?;K??H??H?H?CH??H?t$8H??H?H?|$@H?CH?\$0H?? A^????@SH?? H?ٹ0?	?H?
???H?L?@H?KfDM???H???A@?I?AH?A?A@?I?AH?A?A@?I?AH?A?A@?I?AH?H??u?AIAHH?Q I?P H?? [????????H?\$WH?? H?ٹ??U?H??H?D$0H?SH?ίH?H?O?ʭ???H??H?\$8H?? _????????????H???H??A?B?A?BH?????H?I?H??A?B?A?BH?????H??H?H???A?B????????̄?t
?0????H?\$WH?? H????H????????t
??H??辑H?\$0H?? _????????????@SH??0A(H??L?D$ )D$ H???p???H??H??0[????????H?\$ WH??p)t$`)|$PH?%HH3?H?D$@?e^H???A]H??W?H???H???H+??_?H???Y??3?H??t??/?sH???\?H;?r?H??W?xK?H*??Y?^?W?H??x?H*??H????H??H??H*??X??X?H?T$ H?K((?蝧??H?T$0?+H?ƒ?H??H??H*??X?(?H?T$0H?K(?p???H?T$ 0H?K((???U?X???fo
P??H????H?L$@H3?裗H??$?(t$`(|$PH??p_????????????@SH??p)t$`H??)|$PD)D$@D)L$0?ED)T$ ?DQA(?A(??]AW=??A(??]ID(?A(??AY??D_??_?(?A(??AY??\?W?.?w	W??Q??(??(?A(???|(?D(??Y??\?W?.?w	W??Q??(??h(?(??|D.
m\(?A(??\??AY??X?zuA(??W?D.?zu(?(??)?(?(??AY???fo
?H??(|$PD(D$@D(L$0?AY?D(T$ ??3(t$`H??p[????????????????QW??\Q??[H???A]fo
???_??Y??YY?XQ???????????????????IW??^IH???x[?A]?_??YQ?Y?(?(?fo
(??????????????????@SAVH??(H????????L??H?Ȼ??H??H;??sH?B?H?t$HI?vH?H??H?|$PL????L?|$ H??I?NH?????H?C?I?^8I?F0I?^H?H??H;???H?l$@@f?H??H?SI???????I#F0M?NH??L?I?H;?uI?I?Y?I?AK@??Pȃ???u/L?L;?t!H?SH?:H?OL?I?@H?I?HH?WH?CI?Y?EH;?tH?@@??Pȃ???tQH;?u?L?CI?8H?WH?H?HH?H?PL?GH?KI?H??H;??3???H?l$@H?|$PH?t$HL?|$ H??(A^[?L?H?SH?:H?OL?I?@H?I?HH?WH?C?H?
??c?????H?IR?????????H?yR?????????H?)S?????????H??R?????????H??R?????????@SH??H??BH3?H?D$pH??H?L$0苊????D$ ?[???L$(H?H8H??tHH?L?D$ H?T$(?PH??H?L$hH??tL?H?D$0H;???A?P H??H?L$pH3???H?Ā[??b??H?\$WH??H?LBH3?H?D$pI??H??H?L$0贉????[???L$ H?|$(H?H8H??tJH?L?D$ H?T$(?P?H?L$hH??tH?H?T$0H;????P H?L$pH3??r?H??$?H?Ā_?? b????????????H?\$WH??H??AH3?H?D$pI??H??H?L$0??????????L$ H?|$(H?H8H??tJH?L?D$ H?T$(?P?H?L$hH??tH?H?T$0H;????P H?L$pH3??ґH??$?H?Ā_??a????????????H?\$WH??H?AH3?H?D$pI??H??H?L$0?t???????L$ H?|$(H?H8H??tJH?L?D$ H?T$(?P?H?L$hH??tH?H?T$0H;????P H?L$pH3??1?H??$?H?Ā_???`???????????H?t$WH?? H?qL??L?H??I+?I????????*I??H??H??L??I??I??H???L?M;?sK?II??H?OH?t$@H?? _?vdH?II??I+?H??H??H??H???H?L;?vL?D$0I??H??H?t$@H?? _?̙??M+?t"H?\$83?K?IH??H??L???}?H?H?\$8H?wH?t$@H?? _???????H?t$WH?? H?qL??L?H??I+?I?gfffffffI??H??H??L??I??I??H???L?M;?sK??H??I?H?AH?t$@H?? _?veH?II??I+?H??H??H??H???H?L;?vL?D$0I??H??H?t$@H?? _?w???M+?t"H?\$83?K??H??H??L????H?H?\$8H?wH?t$@H?? _??L????3?D?H??H=r????L?I???A? ?4I??W?Ai???9>Wɹ90+ȸ?????A??+??????i??+ȋ??H*?3??^??Y??X?/?r?\?/?sI??A?I??H,?W?H?B?A?A?B??90Ai???9>+ȸ?????A??+??????i??+ȋ??H*?3??^??Y??X?/?r?\?/?sI??A?I??H,?W?H?B?A?A?B??90Ai???9>+ȸ?????A??+??????i??+ȋ??H*?3??^??Y??X?/?r?\?/?sI??A?	?H,?W?H?B?A?B??90Ai???9>+ȸ?????A??+??????i??+ȋ??H*?3??^??Y??X?/?r?\?/?sI??A?I?H,?W?H?B?A?AB??90Ai???9>+ȸ?????A??+??????i??+ȋ??H*?3??^??Y??X?/?r?\?/?sI??A?I?H,?W?H?B?A?AB??90Ai???9>+ȸ?????A??+??????i??+ȋ??H*?3??^??Y??X?/?r?\?/?sI??A?I?H,?W?H?B?A?AB??90Ai???9>+ȸ?????A??+??????i??+ȋ??H*?3??^??Y??X?/?r?\?/?sI??A?I?H,?W?H?B?A?AB??90Ai???9>+ȸ?????A??+??????i??+ȋ??H*?3??^??Y??X?/?r?\?/?sI??A?I?H,?H?B?A?AI??B?I???$???I?H??fff??A???????H?IH??u????@SVWH??pH?q:H3?H?D$`H??H??H?I8H;?tH?B8H;?t
H?C8H?J8??H??$?3?H?l$XD??H??t@H;?u/H?H?T$ ?PH?K8L??H?D$XH??tH?H;????P L?D$X?L??H?L$XH?k8H?O8H??t=H;?u0H?H???PH?C8H?O8H??tH?H;????P L?D$X?L?D$X?H?K8H?o8H??$?M??t;H?D$ L;?u-I?H??I???PH?L$XH?G8H??tH?H?T$ H;????P ?L?G8H?L$`H3???H??p_^[???????????2?A??r?:EFKEuA?????C??H?\$WH??@Mc?M??H??H??A??rvA?8EFKEumA??rg3ҹD;?v[f?E3?H?AI;?w??t	F?H????E3?H?AI;?w??t	F?H????A??BIN_tIc?H?I;?r?2?H?\$PH??@_?N?M??t?H??H??H?\$PH??@_??????H?\$ H?T$H?L$UVWH?? H??H??3??AH?l?H?H?iH?
H??tH??H?KH??t
H??PH?kH?H?CH??uO???H??H?D$PH??tW??@H??PH??H??H?l$PH?KH??t
H??PH?kH?{H?H??t	H??PH?.H??H?\$XH?? _^]??H?\$WH?? ??H??H???H?H?IH??tH??PH?CH?9JH?@??t
?H???{?H??H?\$0H?? _??????H?\$WH?? I??I??3?I?A?H?IH?L??H?T$0?P ?H?L$0H??u2??+H??P8?Hc??#?H??H?H?L$0H?Lc?P ?H?L$0H??tH??R???H?\$8H?? _???H??tH???????H?\$H?t$WH?? H?3?H?2H??H?H?H??tSH?K H??t=H?S0H+?H???H??rL?A?H??'I+?H?A?H??w4I???yH?s H?s(H?s0?HH???`H?\$0H??H?t$8H?? _????????????????????@SH?? H?H??H?H?	H?H??t
???H??H?? [????????????????H?L$SVWAVAWH?? L??H??I????????I;??)L?yL+9I??H?IH+H??H??H??I??H+?H;???H?
I;?s
I??H?D$h?H?D$hI;???H?4?H??u3??=H??r)H?N'H;????~H????H?X'H???H?C??H????}H??H?\$XJ??M??M+?N??3???L?GH?L+?H??????H?H??t1H?WH+?H???H??rH??'L?A?I+?H?A?H??w3I????}H?J??H?GH?H?GH?? A_A^_^[??_0????)^????K????H?L$SVWAVAWH?? L??H??I????????I;??9L?yL+9I??H?IH+H??H??H??I??H+?H;??H?
I;?s
I??H?D$h?H?D$hI;???H?4?H??u3???H??r.H?N'H;????|H????H?X'H???H?C?H?\$X?H???|H?D$XH??J??I??I+?t?H?H?IH??u?L?GH?L+?H???m??H?H??t1H?WH+?H???H??rH??'L?A?I+?H?A?H??w3I???[|H?J??H?GH?H?GH?? A_A^_^[???.????\?????????H?\$H?L$VWATAVAWH??0L??L??I????????I;???L?aL+!I??H?II+H??H??H??I??H+?H;??{H?<
I;?s
I??L?|$ ?H?|$ I;??ZH??H??u3ۋ?H?\$h?IH??r.H?O'H;??0?B{H???.H?p'H???H?F?H?t$h?H???{H??H?D$h3?I??H??H?H?L$(H?L$xI??I+?t"@?H?H?YH??H?L$xH??u?M??H???{??M?FH??I?I;?t)H?H?YH?H?H?BH?AH?H?ZH??H??I;?u?M??H???\{???I?H??t@M??I?V?G{??I?I?VH+?H???H??rH??'L?A?I+?H?A?H??w?A?H???fD??H?? H?\$X?????C????H?K?e??H?C????H?C????H?C$????ǃ?ǃ?@Hǃ?????Hǃ?????Hǃ?????D???D???fD??H?kxL?? Hǃ?????Hǃ?????Hǃ?????D???D???fD???H?5??H??pǃxHǃ|HH???H?\$X?????C????H?K?d??H?C????H?C????H?C$????ǃ?ǃ?@Hǃ?????Hǃ?????Hǃ?????D???D???fD??H?kxHǃH????HǃP????HǃX????D??xD???fD???H??8ǃ@HǃDHL???L???D???	fD???	L???	L??
fD??
D??
LJ
??LJ
??H??
?U?H???
H?\$XD?3?C????D?sH?CP????H?CX????H?C`????D???D???fD???H?s@?CH@?CL@L???D???H???D?t$ E3?E3?3???s??D???D??XD??\?D$ ?A??E??A??H?L$X?s?????`?D$ ?A??E??A??H?L$X?rs?????dHLJh??D???LJ?????H????????H??H?\$`H?l$hH??0A^_^????????????H?L$SH?? H???H??W????H?KHW????H??H?? [???????????E3?H??L?H??L???I;?tRD?
P@W?f~?D+?H??f?E??u
3?H??A?????A???A???A??D?Q?H??H?A?I;?u?H???H?H@H;?tD?@??D?H??H;?u?H????????????@SH?? H???a??3?fǃ?H???H???H???H???H???H???H???H???H???H???H??????H??H?? [????????????ǁ?3҈Qt3?H?QxW?H???A????????Hǁ???Q$H?Q(D????A0ǁ???ǁ???Hǁ?????????H??ǁ???H??????H?A????H?A????H?A????H?A????A4ADW?ATAd???????????H?\$WH??0H??3??9H?A????H?A????H?A????H?A????H?y(H?y0H?y8H?y@H?yHH?yPH?yXH?y`H?yh?ypǁ???ǁ?????ǁ???ǁ???f???@???H???H?????????????H??0H??H?D$ L?
Y?8A??x?????W?Ct??W?????H??H?\$@H??0_?????????????????H?????????????????????@SH?? H?H??tZH?K H??t?H?S0H+?H???H??rL?A?H??'I+?H?A?H??w.I????o3?H?C H?C(H?C0?HH??H?? [??oH?? [??e??????????????H??(?9H?\$0H??u0H?|$ H?yH??tH???Y?H???toH?CH?|$ H?K0H?\$0H??t??H??(?KoH??(???????????????H?i?H???????H?\$H?t$WH?? H??H?ύH?3???H?IH?C H+?H??H??t2H??H??tH???H?CH?4?H??H?KH?C H+?H??H;?r?H??@?????H??HL?
??8A??w?H????bH????VH??8
?H???	?>???H???	H??t
??H??@H??t???
?H??L?
c?A??w?H???H??t??
?H?K0H??t
H??PH?s0H?KH??t=H?S(H+?H???H??rH??'L?A?I+?H?A?H??w.I???mH?sH?s H?s(H?ۋH?H?\$0H?t$8H?? _??;????@SH?? H??H?IH??t?H?S(H+?H???H??rL?A?H??'I+?H?A?H??wI???Em3?H?CH?C H?C(H?? [????????H?\$WH?? H??3?H???H??tMH???H+?H???H??rL?A?H??'I+?H?A?H???
I????lH???H???H???H???H??tMH???H+?H???H??rL?A?H??'I+?H?A?H????I???|lH???H???H???H?K`H??t=H?SpH+?H???H??rL?A?H??'I+?H?A?H??weI???-lH?{`H?{hH?{pH?K H??t=H?S0H+?H???H??rL?A?H??'I+?H?A?H??wI????kH?{ H?{(H?{0H?\$0H?? _??{????H?\$WH?? H??H???H??t
??kH???H??t
??kH???H??t
??ykH???H??t
??ckH???H??t
??MkH???H??t
??7kH???H??t
??!kH???H??t3H?OH??t
??kH?OH??t
???j?H????jH???H??t
???jH???H??t
??jH???H??t
??jH?\$0H?? _??????????????H??(L?
?????A??qs?H??(????????????????H?\$WH?? H??H??8?:
??H?K 3?H??t=H?S0H+?H???H??rL?A?H??'I+?H?A?H??weI???jH?{ H?{(H?{0H?KH??t=H?SH+?H???H??rL?A?H??'I+?H?A?H??wI????iH?{H?{H?{H?\$0H?? _??T?????????????@SH?? H??H?I@H??tH??PH?C@H?? [???????????@SH?? H??H?IPH??tH??PH?CPH?? [???????????H???????????@SH?? ?H?ك?uH?IH??tI????H?C??5u0H?|$0H?{H??tH???????H????hH?CH?|$0H?? [?????????@SH?? H??H??0L?
??8A??q?H????\???H????P???H?K H?? [??????H?? H??t
??
??????????@SH?? H??H???????H???H??t?H?? [??H?? [???????????@SH?? ?9H??u6H?IH??t??H?CH?KH??t??H?CH?? [???????@SH?? H?;?H??H???t
???gH??H?? [??????@SH?? H???H??H???t
??fgH??H?? [??????H?\$WH?? ??H??????@??t&H??@??u?l?H??H?\$0H?? _ú??0??H??H?\$0H?? _???H?\$WH?? ??H??H??`?E????H??HH??tH??PHǃHH??????@??t&H??@??u???H??H?\$0H?? _ú????H??H?\$0H?? _??????H?\$WH?? ??H??H??8??????H??0H??tH??PHǃ0H??????@??t&H??@??u?o?H??H?\$0H?? _ú??3??H??H?\$0H?? _??????H?\$WH?? ??H??H???H??tH??PHǃ?H??P?(???H??????H???????H??????@??t&H??@??u???H??H?\$0H?? _ú????H??H?\$0H?? _???????????????H?\$WH?? ??H??H??@?????H??0H??tH??PHǃ0H???????@??t&H??@??u?O?H??H?\$0H?? _ú????H??H?\$0H?? _??????H?\$WH?? ??H??H????%???H???????H??X?
???H?? ????H????????H?????????H??@H??tH??PHǃ@H???C???@??t&H??@??u??H??H?\$0H?? _ú@?W??H??H?\$0H?? _??????????H?\$H?t$WH?? H??3?H?I`??H??tAH?SpH+?H???H??rL?A?H??'I+?H?A?H????I????cH?s`H?shH?spH?K H??t=H?S0H+?H???H??rL?A?H??'I+?H?A?H??w:I???cH?s H?s(H?s0@??t
??H???ocH?t$8H??H?\$0H?? _??????????????????H?\$H?t$WH?? H??3?H?????H??tMH???H+?H???H??rL?A?H??'I+?H?A?H????I????bH???H???H???H?K`H??tAH?SpH+?H???H??rL?A?H??'I+?H?A?H????I???bH?s`H?shH?spH?K H??t=H?S0H+?H???H??rL?A?H??'I+?H?A?H??w:I???UbH?s H?s(H?s0@??t
??H???6bH?t$8H??H?\$0H?? _??????????@WH??0H?t$HH??H?qH??L?t$PL???^??????H?OH?\$@H??P8???(؃?un(?(??Y???Y?????(??Y???Y?????(??Y???Y???????????????P??t;??uF?Y??(??Y?????(??Y?????????Y?????H?OH??P8(?H???L?????-H?\$@H???N??????F???	????H?OH??P8(?(??Y??	?Y??	?Y??	???	???	???	H?OH??P8(?(??Y??	?Y??	?Y??	???	???	???	????6H?OH??P8(?(??Y??	?Y??	?Y??	???	???	???	H?OH??P8(?(??Y??	?Y??	?Y??	???	???	???	H?OH??P8(?(??Y??	?Y??	?Y??	???	???	???	H?OH??P8(?(??Y??	?Y??	?Y??	???	???	???	H?OH??P8?Y??	H?O???	H??P8?Y??	???	?t??u6H?OH??P8?Y??	H?O???	H??P8?Y??	???	?9??u4H?OH??P8?Y??	H?O???	H??P8?Y??	???	H???????H?t$H??t_H?OH??P8?Y??	H?O???	H??P8?Y?
??
?Gq/?
vH?OH??P8?Y?
??
???	??
???	??
???	??	
???	??
I???A??L?t$P???????)t$ (5???Y?????????u????Y????????uz?????Y??Y?????????(?Y??Y?????4??(??@?Y??Y???4??@?U??uP??x????Y??Y???x??????????Y??Y??????????H?? ????Y??Y????????????	??u-???	???	?Y??Y????	???	?&??uU???	???	?Y??Y????	???	???	???	?Y??Y????	???	?????????	??uc???	??	?Y?Y????	???	?Y???	???	?Y????	???	???	?Y????	?V??uQ??	???	Y??Y???	???	?Y????	???	???u??	Y???	?????t
??t??u????Y????(t$ ?((?(??^?????(??^?????(??^?????(??^?????(??^?????(??^?????(??^??????^??????^?????H?OH??P8?Y?H?O??H??P8?Y??
???
H??0_??????????@SVWH??@H??H3?H?D$8I??I??H??L??M??tvE?E??xnH?IH?H?T$ ????H?L$ H??tE?y8~E3?H?T$(H??? ??H?L$ ?y<~A?H?T$(H??? ??H?L$ H??tH??P?H?L$8H3???`H??@_^[??????????L?D$H?L$SUVWATAUAVAWH??XA????H??3?D?JH?H??L?J?ZD?JD?J?Ix?Vt9^hA??A???D,??E???D,??E??D??$?A??NÅɉD$(N?D?|$$=????}??????}D?E??A??E??NÅ҉D$,N?=????}??????}D??FXD?X?=????~
?????E??D???IfAn?[?(??YN|?Y???D,??,?E?A???N?=????|E???E???????}D?4E??A??N?=????|A?????????|A????H??$?D?yD+y?AD?iD?!A+?D+iD??$?D?yD+y?D$ 9^l???$?A??+?$?;L$ A??AN?+L$$D?Ћ?$?D$$;?$?AN?D??A??????~A??E???A??+?A;?~E?4/H??$???????~E??A?????A+?A;?~C?+H??$?E??DN?A??????|A????D$(=????|A???Aĉ?A??N?=????|A???D?|$,A??????|A???AljG???N?E??DN?=????|A???A??????|A???A‰G?A??N?E??DN?=????|A???A??????|A???A??G?A??NÅ?N?=????|A?????????|A???ʼnG?A??N?E??DN?=????|A???A??????|A???AÉG?A??N?E??DN?=????|A???A??????|A???AƉG?A??NÅ?N?=????}??????}D?D?O9^p??H?H?΋?D??D??D???P ??~X?H?A??H???P(L??H?T$0H??L?A?QH9\$8H??H?O\$89l$<Ol$A??t8A??????C]????I?BI;???A??C`H?\$H?t$H?|$??C]H?\$H?t$H?|$?M;?wA??tA?M?щCD?A?I?JI;?wA??tA?L?щCH?A?I?BI;?w
A??tA??CLH?CTH?\$H?t$H?|$??????H?\$H?l$H?t$H?|$ 3?Ic?H??H??D??D??D;I|/H??r#H?A?H?AH??rH?BA?H?A?A?I?BH;?w A??tAA(?ALL???I8?A?I?BH;?w A??tAA@?ALL???IP?A?I?RD;I??H;?waA??t[A?2??L?????????~RH?JH;?w
H?2L??H?C ?A?I?BH;?w'A??t!A2CX?AL2L???Kh?
@???A?I?JH;?wA??tA?2L?щCp?A?9kpucI?JH;?wA??tA?2L?щCt?A?I?JH;?wA??tA?2L?щCx?A?I?JH;?wA??tA?2L?щC|?A?M?JL;?wA??tA?,2?	A?M??@????D????@?Չ??D?????????;?N?A;?DO?D;?DN?I?QA??D???H;?wA??tyA?1???????????H?JH;?w?2????	A?H??H?QH;?wA??t?1H?ʉ???A?H?AH;???A?????1????|ƃ??sH;?wA??tA?2L?҉At?A?I?JH;?wA??tA?2L?щCx?A?I?BH;?w
A??tA?2?C|Hǃ?ǃ?ǃ?H?\$H?l$H?t$H?|$ ????????????????H?\$H?l$H?t$ WAVAWH?? E??H??H??3?H?D?D?	H?H??H????u}Lc:H??H?M??A??|H???H???b?L?9n??F?
?.????F.??????F.?????????????u5HcH??H?L??A??|H????H?H??,?ՙH???u!HcH??H?H??xE??D??????H?m??u$HcH??H?H??H?? L??膙H?D??u$HcH??H?H??8E??D??????H???u~H?BH?H?L$@?/???H??H???? ???H?L$@H??t
??????E??H?H?????\Hc?HH????@8??H????@x??H???ǀ????????H?BH??H?@H??H?D$@H??t(W?3?CC C0H?C@?+H?KW??ET?H??H?\$@H?T$@H???????H?L$@?`???E??H?H????[Hc?HH????@8??H?\$HH?l$PH?t$XH?? A_A^_??H?l$H?t$ WH?? H?H??A??H??D?D?	H?H??H??	??uyHcH??H?A??|FH
H?l$@H?t$HH?? _??W??F?@?F?F.?z u?F.?zu?F.?zu????H
H?l$@H?t$HH?? _?H?\$8??u7HcH?PH?H??L????|H?N?N?H?H?N,?=?H???uHcH?PD??H?H?NxD??????H?{??uNH??H?L$0H??????H??H?? ?ݿ??H?L$0H??t
?????H?D??H?? ?ZHc?H?(??u?(H????uH?H??8H?H?\$8H?l$@H?t$HH?? _???H?\$H?l$H?t$ WH?? A??H??H??H?D?D?H?
H??H?
???????uGH??t??uwGH?H???OH?H???OH?H???O H?H???O$H?H??H?H?H?G(H?H??H???@|E??u??G0H??3??w0????u GIOA G(H?0?????????i=H?D$03?H??t5W?3?@@ @0@@@P@`@pH???H????????H??H?G???=H?D$0H??t6W?3?@@ @0@@@P@`@pH???H???~???H??H?wD??H?H?O?HXHc?HH?D??H?O?3XHc?HH?\$8H?l$@H?t$HH?? _?????????L??UVWAVH??H?z?H3?H?D$hL?q3?I?[?H??M?c?M??M?{?H??L?L$(M??t
I?I???P????ʼnFH??H??H????u,?FXW?H???	3???	H???	????H?NH??P@??
|H??H??H??????F8H?NH??P@??
|H?????H??
dž?????H?I??Lc8H??H?I??P@??|H?H?NvM??L?5"M???L)H??H?D$(H??t"W??@?@L?0H?H?????I??H?FH?OXI?M?tI?tM??t1??????A?F??u!I?I?????????A?F??u	I?I???PH?OXE??H??I??;H??I??H?G`H+GXH??H;?L?5jL?B????tH???OH?H??H???GH?H??H?A??@|J??GH?H??H???GH?H??H???GH?H??H???GH?H??H???G??OH?H???OpH?H??H???GtH?H??H?????H?H??H?A??????GxH?H??H?????H?H?A??@????G|H?H?????H?H?????H?H?????H?H?????H?H?????H?H?????H?H?????H?H?????H?H?????H?H??H??]?Gt?Gx???????Ot?O|??????????????????????????????H?A??|?H??H??H??H???????????2Ɉ?????H????H?H??H?D9?t?H?H????H?H??H?D9?t? H?H??0E3?E??H??H??????A??@??A??Ik?8H???.H?H??H??.???v??uD.H??`??u\D.H?H???L.H?H???L.H?H???L. H?H???L.$H?H??H?H?H?D.(H?D?l.0????u#D.HL.@ D.(H?0?????????9%H?D$(H??t5W?3?@@ @0@@@P@`@pH???H??蠱???I??H?D.????$H?D$XH??t5W?3?@@ @0@@@P@`@pH???H???O????I??H?D.E??H?H?L.?@Hc?HH?E??H?L.???Hc?HI??I???\???H?????H?H???A?E??H???????H?????H???Hk?8H????>0H?H??H???>0??????u?78H????uq?78H?H????7HH?H????7LH?H????7PH?H????7TH?H??H?H?H??7XH?D??7`???u,?>8H?>H@ ?>XH?0?????????0#H?D$XH??t5W?3?@@ @0@@@P@`@pH???H??藯???I??H??78????"H?D$(H??t5W?3?@@ @0@@@P@`@pH???H???C????I??H??7@E??H?H??78?>Hc?HE??H?H??7@??=Hc?HH??H???'???H?????H?H?????H??$A??
|H?????H??
D???A??	|`A??}!H??H??H??????????~?H?????H?A??|$H???E??H???%???H???E??H???????Gp??Gt???????$???4???????????G????G????G????G????G????G????G????????h?????l?????p??0????`???D$0??T?D$4?L$8??L?D$H?O H??tH??PH?_ A?F?G(I?M?A]H??W?x?H*??H??H???H??H*??X?I?]8W?H??x?H*??H??H??H?Ã?H??H*??X?(??^?/????^???3??
/?/?r?\?/?s
H??H???H,?H??H;?HG?H;?sH??s
H??H;?sH??H??I???I?E0H#?H?I?UL?D?I?ML;?uH?L$ ?OL??L?WM;Pu1I?HL?OI??M??tL+??fA9	uH??H??u?I?H?D$ ?M;?tM?@?L?D$ H?t$ H?VI?EH?7H?WH?:H?~I?MI?E0H#?H?L??M;EuH????:???p??????8???????8???????8???????:???$??????8???\???8???I???8???6???:??????????8???????8???????8???????:??????????8???T???8???A???8???.???:???@??????8???????8???????8???????:??????????8???L???8???9???8???&L???M?BI??M;?t5L???M+?@f??A.????H??I;?u?L???M?BI??M;?t-L???M+?D?A.?Z?TH??I;?u?L???M?BI??M;?t-L???M+?D?A.?)?#H??I;?u?L???M?BI??M;?t-L???M+?D?A.????H??I;?u?L??M?BI??M;?t-L??M+?D?A.????H??I;?u?L??M?BI??M;?t-L??M+?D?A.????H??I;?u?L??H??M?AI??M;??sH??I+??.zhufH??I;?u?2??H?´I??????H?¼I??????H???I???????H???I???????H??I??????H??I???l???I???d??????:??????????:???o??????:??????:???J??????:???7??????:???}???:?????????:??????????:???E???:??????????:??????????:???
???:??????????:??????????:???????:???j??????:???W??????:??????:???2??????:?????????:???h???:??????????:??????????:???3???:??????????:??????????:???????2????????????????@SH??0H???H???????H??H??0[???@SH??0H??PH??????H??H??0[???@SH??0H??H??????H??H??0[???@SH??0H??`H???~???H??H??0[??????@SH??0H???H???[???H??H??0[???D?L$ SH??0H??L?L$XH???????H??H??0[?????????????H?T$SH?? H??H????'?H?H??t
H??PH?H?? [????????????H?\$H?l$ VWAUAVAWH??0L??L??H?y?H?:?L?qI?I;???H??`H??tH??H??`I?7H??t
H?H???P?H;?tXH?C?xt"H?C?xuH;Xu
H??H?@?xt?H???#H??H??yu?H??H?H?Ȁxt?I;??y???I;]tn??h??h_H??I?M?'???H??H??`H??tH??RHǃ`A?H??I?M?u?I?}H?H?X(I??H?L$ ???H??H????H?\$pH?l$xH??0A_A^A]_^??????????????H?\$H?t$H?|$ AVH??0L??H??H?yH???8H?H???,H?PL?@ M????H??H?x(vH?H?T$ L?D$(L?D$ H?T$@?d???H?\$@H;^???K(?{(??L?KL?CM?H?%#"???˹t I??f?A?	H3?I??H??I;?r?H#V@H??HV(H?H9ZuH;?u
H?FH?H?B?H?CH?B?H;?uH?H?H?H?N H?CH?H?CH?AH?K H??tH??PH?C A?H??H?N?Q?H?~H?H?X0I??H?L$@???H??H????H?\$HH?t$PH?|$XH??0A^???????????H?T$SH?? H??H??P?g????H?H??t
H??PH?H?? [????????????H?T$SH?? H??H???'????H?H??t
H??PH?H?? [????????????H?T$SH?? H??H??`??????H?H??t
H??PH?H?? [???????????????H?T$SH?? H??H????????H?H??t
H??PH?H?? [????????????H?T$SH?? H??H???j????H?H??t
H??PH?H?? [???????????????H?\$UVWATAUAVAWH???H?"?H3?H??$?L??H????????H??A?A??H??H;???H?B?I?H????I??I?]H?\$(O?<6I?U I?MH??H+?H??I;???H?L$0??????B???L$ H?H8H????H?H?T$ ?PH??H?L$hH??tH?L?B H?D$0H;???A??I?mI?u(H+?H??H??tWH?L$p?J???????L$ H?l$(H?H8H???H?L?D$ H?T$(?P?H??$?H??tH?H?T$pH;????P I?}J??I?E I?E(H;?t ?H?H??H;?u??
L?D$(?h???I?F?I?E0M?u8I?MH?	H??H;??iI?%#"????I??DH?H?iH?yL??M??E3?M??tfDA?)L3?M??I??M;?r?M#E0I??M?uM?I?6H;?uI?I?N??I?FH;xuYL?HL??H??tL??M+?E?fG9u?????H??D(D$0D(L$ ??(|$@?(t$PH?t$pH??`_???????H??H?XH?pWH??p?H??)p?H??H)x?D??D)@?H??D)H?D(?D)P?D(?A(?(?????H???D??A(?A(?D(?????H???D??A(?A(?(?????H?OD??A(?A(?(??j???L?\$p?DFI?[H??E(C?E(K?E(S??~(|$P?v(t$`?I?sI??_?????????@SWH??(?H?Z?AH????A?C?A4?C?A8?C??C?A?C?A?CH????~uH?l$HH?t$P??L?t$ D?4? ??H?[H?W ?D$@H;W(t?D$@H?B?H?G ?L?D$@H?O?J???H??u?H?t$PA??L?t$ H?l$HH??(_[ø H??(_[????????????????@SH?? 3?A??@|??HӉH???
????H?? [???H?\$H?l$H?t$H?|$ AVH?? E3?A??H??H??A??|
?A?I??H??H??????Hc?H?NHD??H?????H?l$8?H?\$0A?H?t$@H?|$HH?? A^?????????H?\$H?l$H?t$WAVAWH?? E3?A??H??L??A??|
?A?I??H??H???=???Hc?I?NHH?D??H???(???Hc?I???D??H?????H?l$H?H?\$@?H?t$PA?H?? A_A^_???H?\$H?l$H?t$H?|$ ATAVAWH?? E3?A??L??L??A??|
?A?M?H??I??????Hc?I?OHL?D??I??????Hc?I???L?D??I???z???Hc?I???D??I??d???H?l$H?H?\$@?H?|$X?H?t$PA?H?? A_A^A\?????????????(?(??YA43??YQ8?A4?Q8L?AH?A I+?H??H??t"(??AY??A?H??H?A I+?H??H;?r???????????????@SH?? H?H??H?H?	H?H??t
??`?H??H?? [????????????????H?\$H?l$ H?L$VWAVH??@)t$0(?E??H??3?H?qH?q??uH????H?D$ H??tD??$?(?A??H???CHH??H?OH?wH??????????~?H??H?D$`H????3?A?H???@??A??H???pY??3?A?H?????????u??A??A???
?????iA??+Ѓ?A??H???#Y??3?A?H?????????JA????
?????i??
A??+Ѓ?
A??H????X??????$????H??H?OH?oH??t
??????$??H??H?\$pH?l$x(t$0H??@A^_^?H?	H??t
?????????????????H?	H??t
??f???????????????H??H?XUVWATAUAVAWH?l$?H??)p?)x?D)@?D)H?D)?x???H??H3?H?E E??L??H??E3?H?2D?6?Ɓ??D?A(?A??@?P?F?D$@?F??F?A?F?AH?L$0?????F?D$0?F?D$4?F?D$8? W??L$8?\$4?T$0.?zu.?z
u.?zu2??????????H?L$`????GHO @ G0H0O@H?M??????DOG W0O@E(?D??DD???(???D???A(????D???A(???D???H?L$`????|$`DD$pu?DM?H?T$`H?M?????H??H?M?????GPHO`@ GpH0???t$@A??ubD?4H???^5l???.?H??H??t3?H??I???1E?????AH???H???H????H???'???A??u%?^5?????H???H????A??uaA??A}?^5A??D?4H???^5?????pD?0H???H???H???k????\A?????NA??A} ?D?D$@D?$3?D?D$0?t$0?Y??D?4?D?D$@D?d3H????D$0H???D^T$@?^????H?D$@H??t%?L$0?L$(?t$ A(?E??A??H??????E3??E3?A??L???H???M????I?NH??t
????I?NH??t
????I?????hA??u?L$ ??t
??t??u$HcH?L$0H??L??H??I?>H???30H?;I??|$ u]?fdž???H??tW?)H???H???H??t
???(D$0Ɔ?H????2???|$ ???fdž??H??tW?H???H???H??t
????D$0?L$4Ɔ?H????H????D$8?HH????L$ud)|$ ?=f{/?r2?5]{?X?(??\??????\??Y?(|$ (?(t$0H??H??\??X?(?????(??Y??X?(|$ (?(t$0H??H???????H??H)t$0W???u6(?(??Yqt?YAx?Y??Y??Y??YQ|?X??X?(?(t$0H??HÃ?u
(?(t$0H??HÃ?
u(??Y?(?(t$0H??HÃ?u$?5?z(??\??Y??\?(?(t$0H??HÃ?uU?
Uz/?r(??X??Y??Y?(?(t$0H??H??50z(??\??X??Y??Y??\?(?(t$0H??HÃ?u(??Y??Y?(?(t$0H??HÃ?u+?5?y(??\?(??Y??Y??\?(?(t$0H??HÃ?uH??y/?r ?X?(??Y??Y??Y?(?(t$0H??H??5?y(??\??X?(??G??u(??Y??Y??Y?(?(t$0H??HÃ?u?5Dy(??\?(???? uh?$y/?r$?X?(??Y??Y??Y??Y?(?(t$0H??H??5?x(??\??X?(??Y??Y??Y??Y??\?(?(t$0H??HÃ?(u (??Y??Y??Y??Y?(?(t$0H??HÃ?)u3?5?x(??\?(??Y??Y??Y??Y??\?(?(t$0H??HÃ?*uX?Zx/?r?X?(??Y??-????5Ax(??\??X?(??Y??Y??Y??Y??Y??\?(?(t$0H??HÃ?2u3(?(??Y5???Y???Y??Y??Y??\?(?(t$0H??HÃ?3uF?5?w(??\?(?(??Y???Y???Y??Y??Y??\??\?(?(t$0H??HÃ?4???vw/?r;?X?(?(??Y5_??YS??Y??Y??Y??\??Y?(?(t$0H??H??52w(??\??X?(?(??Y??Y	??Y??Y??Y??\??Y??\?(?(t$0H??HÃ?ud)|$ ?=?v/?r2?5?v?X?(??\???????\??Y?(|$ (?(t$0H??H??\??X?(?????(??Y??X?(|$ (?(t$0H??H???????@SUVWATAVAWH??H??_H3?H?D$p?zH?ZL??$?M??L??$?I??H??$?H??|MH??H?L$P膬??H?G$M??H?D$@H?OH?L$8H?D$PH?D$0H?L$`H?\$(M??I??H?l$ 轰??(H?L$pH3??ʯH?ĀA_A^A\_^][?????????@USVWAVAWH??$????H??XH?_H3?H?? L???I?????H??H???H??H???M?ыL???L???=???u
fo/w????u(L?D$0M??H?L$(M??H?T$ H??H?????????u*(??Y???YS?Y
?tX(???YC X??f??u1?^??H?NxL??H?T$`H??{tW??]??_???0??ul(??Y??YK$?YLt?XK ?YC(?X??(T$`???????????????(??(
??O(??????u-?^??H??pH?S H???sW??]??_??넃?u)???H?T$`H?? (??E???(T$`X?_??????Q???D)?$@D)?$0?xo??H???`k??L?L$`L?E?H???H?M )E H)M0@ )E@?p???(E?H?T$p(M?H?MPfEP(E?fM`fo
IufEp)???X???H?M?蟗??I?I???P0H??Ή????rW?H?L$LWۃ?uI?q???H?L$@臔??(L$`L?L$L(??L$@??UL?D$@?ɪH?M?I???L$H?D$D诟???G?(???H?L$@?>???(L$`L?L$L(??L$@??UH?T$@?ɪH?M?M???L$H?D$D????H?U?H?EH????E?w???H???H???h???(m?(e?D(?(???(?YD$p?ʪD??UDYM?Y????DX?Y?DX?DX?PD(?(?D??U(?DYE???YD$p?ʪY?DX????Y?DX?DX?P (?DD(?$0(???U(?Y]???YD$p?ʪY?X????Y?DGD(?$@X?X?_ ?JCH?T$`?H?M?)D$`芪???(?H?M?(???U?ʪ衭??HO@ G H??H?? H3??)?H??XA_A^_^[]??????????@USVATAUAVAWH?l$?H??0H?aZH3?H?E??M??L???M??L???L??H???H??L?D$P??u@H??H?L$p? ???L?L$PM??(D$pI??H?\$0H??L?L$(M??L?l$ ?????????B,H?BH??$(?J?L??fo-?gfo=???DBe?D
5e?D%??H?D$`3??D$4?D$h@f?fn?E3?[??T$0fAn?3?[??D$8fn?W?A??t$$?DD$ [???YX?)]?M???MM??)\$P(?(?(?fDo?fDo
???[?[???[?X?\??[?D(?D(?T
!?D(?DY=E?f~?fp?UfA~?(?D\=\?Y??L?A?D??UD\5D?Y?D?\
??AD?T??B?T?A?DY?fpɪfA~??|??B?\?DX=??E?D??E???\%fA?F?D?A?F?L?A?C?T?A?B?D?DY?fEn?D?L=?fn?A(?fn?A??U)E?A(?A?Ǫ)D$@fAn?D?D?fDb?fb?fDl?DT?)e?fAo?fAo?fv??fAo?fv??fEf?T5??fEf?DT%??V?fr?fAr?fDoX??G?T??C?D?fAn?fEn?fDb?fn?fn?fb?fDl?DT?A(?\?fEf?fo-?fAo?fv
?fAf?fAo?fAo?fv?T?V?DT??(?U?fr?AT?fAr?V?A(?U?(?A(?ET?AU?AV?W?ET?AV?AT?AW?X?(?UM?T?V?U?A(?T?V?W?EU?AV?AW?X?A(???\?Y?X?(e?(?(????(???U?ê?\??\??Y??Y??X??\$ ?X??\??YT$@?X??Y??L$$??a?X?(T$PY??fo-?cfo=??Y?)T$P(??L$$(??\$ I???????foe?W??Y?M???T$ )d$P?X??Sa?D$(?L$$?fo=x?(?fo-M?D(??[?fDo?fDo?[???[?X?D\??[?E(?E(?T
??f~?fp?UfA~?A(?AY?fpɪ???fA~?A?AY?A(?Y
??D??
??AD???EٍBE??U???E?\
??D\5??A?E??F???AY?????B???A?A?CE??????A?X
=?F???A?B???D\=`bfn?Y?fEn?(?)L$@??U)E?(????)E?fAn?fDb?fn?fb?fDl?DT%J?fAo?fAo?fv?fAo?fv?fEf?T5?V?fr?fEf?D??=??G???A(?D????C???ET?DT%z?E(?D\?afAn?fn?fn?fb?fEn?fDb?fDl?DT??fAf?fAr?fAf?fAo?fv
i?fAo?fvl?fAo?Tp?V?DT?(?AU?fr?AT?fAr?V?(?U?AT?AV?A(?AU?W?ET?AV?AW?X?(?AU?AT?V?U?(?AU?V?W?AT?V?AW?X??D$@??\?Y?X?(e?(?(????(???U?ê?\??\??Y??Y??X??X??\??YU??X??D$(?DT$ (d$PfDo???D
^?Y?AY??AY??DX?)d$P?D$(?DT$ I????????D?]W?(u?I???EY??EX??H?T$@ft$@H????Y?AY?AY??EY??X?H??u??D?]?t$$?D%=?fDo-??f\$@A(?f\$@E(?W?A??D??AY??AX?A??A\?AY?(?(?Y?(?(?(?(?(??????U?X??X?W????T$(?Q?D/?voA(?H?L$`A(?????W?H?L$`??A(???A(???????W?H?L$`??A(???A(?????~??W????????(?(?(?(?Y?(?(??Ī??U?X??X?W????L$(?Q?D/?v?O?(?????????fo-?^A??fo=??X??T$0A??A??AY?Y???[?f~?fp?Uf~??D$8fpɪf~?A;?DL?A;?DL?A;?DL?3?E??AO?3???E??AO??3???E??AO????A?I?????????A??A????????D$4???D$4???j???H?D$pH???H3?覕L??$?I?[8I?s@I?{HA(s?A({?E(C?E(K?E(S?E([?E(c?E(k?E(?p???E(?`???I??A_A^A]A\]??????????????H??H?XUVWAVAWH??foӲE3?AYH??fo%?)p?)x?D)@?(??[?D)H?fDo
?\[?D)P?H?\?D)\$PD)d$@fAn?D)l$0fo?D)t$ D)|$fr?AT?X?fo??\?f,$D(?(?D??U???fo-Ʊ?[?T?f??T%d?fpªfA~?fp?Uf~???N??f~?D??J??D??A??????E??A??A??fn?fAn?fb?fn?fb?fl?D[?f~?DY???fAn?J??D??E\?A??E??????A??A??fAn?fn?fb?fn?fb?fl?D[?fp?Uf~?fAn?DY???N??K??D??E\?A??E??????A??A??fAn?fn?fb?fn?J??D??A??????fb?fl?D[?E??A??A??fn?fAn?fb?fn?fpĪf~?fAn?fb?fl?D??D[?L??K??D??A????fAn???E??A??A??fn?fAn?fb?fn?J??D??A??fb?fl?D[???E????A??A??fAn?fn?fAn?fn?fb?fb?fl?D[?DY?DY?DY?DY?E\?E\?E\?E\?fAn?N??K??D??A??????E??A??A??fn?fAn?fb?fn?J?֋???fb?fl?[???D??????fAn?Y???fn?fAn?fb?A\?fn?fb?fl???W[?A(?Y?(??A\???A\?D(??D\???(???AY?E??E(?A(?AY?EY?DX?(?Y?fo<$?\?DY?X?(???Y?DX?(?Y?AY?DY?A(?AY?EY?X?(???DX?Y?DY?AX?Y?DX?D(t$ L??$?I?[0H??A(s?A({?E(K?E(S?E([?E(c?E(k?D(|$DEE(C?I??A_A^_^]???????H??H?XH?p UWAVH?h?H??)p?L??Hc?H??)x?D)@?fDo3?D)H?fDo
5?D)P?D)X?fDo2?D)d$0?D?H??E??EY L?E?A(?A\?f}??Hc?L?E?H??f}?(??~?
VEX?Hc?L?E?W???H???fDE??IHc?L?E?H??fDE?(??)?
?UL?E?Hc?H??EW??D?D?D\?A(?A\?f}???Hc?L?E?H??f}?(???Hc?EX?(?L?E??H??=?fDM??Hc?L?E?H??fDM?(??D(?D?DհL?E?Hc?D\?A(?H??A\?f}??MHc?L?E?H??f}?(??2fo??EX?Hc?L?E?(?H????fD]??Hc?L?E?H??fD]?(???fo$H??H?D$83?H??t???D???H?? [???@SH?? ?=H??uH?
W???7 H??H?? [???H??(H?	H??t)H?H?@???L??H??tH??H?I?????H??(???H??(3?H?L$0?,???H?
?????H?%xH?L$0????H??(??@SH?? H????????H?CH??te??H?K?D?B|HI@ A H0I0@@A@HPIP@`A`I?HpI?I?H??u??C?
?r?cH?C?)H?HH?KH??t	?? H?CH??H?? [???H?\$UVWH??@Hc?H??H??u??H?p????H?r?*H??u?C???w?? ??????sUH??u
??????t??OH?WH??H??Xt?H???H?????H????????t<@?|$hA??\$i?D$j?5H?WH??H??u??????@???H??????\$hA??D$i?D$8H?D$p?l$0L?D$h?D$(?H??H?D$ ?,???/??????D$pt
?L$q???H?\$`H??@_^]????H?\$H?l$ VWAVH??@Hc?H??H??u?H?p?yD???H?rD?2H??u?C???w?? ???????sOH??u
??????t??IH?WH??H?@?,Xt?H???H?????H????????t6@?|$h?\$i?D$j?4H?WH??H??uNj????P@???H????ƈ\$h??D$i?D$8H?D$pD?t$0L?D$h?D$(D?ͺH?D$ H???????-??????D$pt
?L$q???H?\$`H?l$xH??@A^_^????H??H?XH?hH?pH?x ATAVAWH?? L?qH????????H??E??I+?H??H;???H?iM?$I??H??H;?wH??H??H??H+?H;?vH???$H?*H??H;?HB?H?NH??u3??H??r?>?????H??H?KH?CH??v@?='L?t4H??H?QI?L?QH???I?M?L??H;?L??I??LF?L;?MF?????L?cM??H?sH??H??vHH?3H???GwH?UF?<7B?D7H??rH?N?H??'H+?H?F?H????H??H???4?H???wF?<7B?D7H?;H?SH?KH??v=?=ht4H?BH??H??H?H?H?H???H;?L??L??LF?H;?LF?H???????H?l$HH??H?\$@H?t$PH?|$XH?? A_A^A\??[???????@SUVWAVH?? H??3?H?L$X??????H?5rH?t$`H?=VH??u=3?H?L$P????H9=>u??????H?H?%H?L$P????H?=H?ML?4?H;ysH?AI?H??uh?3ۀy$t?z???H;xs
H?@I?H??uFH??tH???H?EH??tH?P(H??u
H?P0?H?U?H?L$ ??????cH??MH??3?H?@??t
H?L$ ?Q???L??$?I?[I?k I?s(I??_????L??I?[WH?? ?AqL?QL?QL?I(L?I8H??A??H??L?A??L?A ?A|H?SHH?SPH?CLH?CXH??0H?K@I? H?!? I?"I?!?"H??tJI?cM?K I?cM?CI?c I?SH???ڊH?D$0H?CH?C H?D$8H?C8H?C@H?D$HH?CPH?CXH???H?]H?chH?CtH?\$@H?? _??H?\$WH?? H?H??H??H??H?@???E3ۄ?tL?[h?FH?{hL?SL?SL?CL?C L?K(L?K8H?K0H?K@H?SHH?SPH?CLH?CXM?L?D?M?M?D?H?\$0H?? _???H??(H???H??t?C?H??(???H??(H???H??t?3?H??(???H?\$H?t$WH?? 3?H??H9??tQH?IH?GpH9u"H???L???H?D+?H?G8H?H?GPD?H??????H?????H?H#??????HD?3?H??D?B?????H?\$0H??H?t$8H?? _?̸???H?D$(H?L$@L?H?D$0H????M+ȸ???L;?LO?H?D$(L;?AB??H?D$(L?????@SH?? H??H??????H??H??H?? [?G??????H?\$H?t$ UWAVH?l$?H??H?K?H3?H?E??????H??;?u3??%H?A@H?8t0H?QXLcI??HH9sA?H??Ɖ
H?S@L?I?HH?
A?0??H?????L?CH?CpI9u H???H???I?+?H?C8H?H?CP?H?KhH??u@??H????K;??L?E@?uH?H?StL?D$8L?ML?E?L?D$0L?EH?@8L?D$(L?EL?D$ L?E?+???t??t??u??M?L?uH?EL+?tL???H?MM?ƺ??L;?uH?E?CqH9EE???H?M?H3??L??$?I?[0I?s8I??A^_]?H?\$WH?? H?A8H??E3???H?H??t.H?CH9s%???t?A?;?uH?CP?H?C8H????AD????uH???H??tf???taL9Chu@???t???u?L?K8H?SpI9t@L?SL?CP@?:I?H;?tH???I?HcI	H???I?H?C8+ڃ?qH?I??늃??H?\$0H?? _?H?\$H?l$H?t$ WH?? H?yH??H?I@??H;?siH?wH;?tGH??vA?=w?L?t5H?QI??I?M?SH???H?GI?L?H;?L??L??LF?L;?MF??????H?sH?{vH?@?,;?D;?D?D$0D?ͺH???/???H?\$8H?l$@H?t$HH?? _???H?\$H?l$VWAVH?? H?A8L?qpA??I??H??H??L90uA??u
H?yhuH??H???tz??????tqH??u??tH???D??H???????uQH???H?T$@????ucsm?u(H?=?tH?
??0??t?H????H?EA?H?I?Ջ?I??\5D?H?EH?L??I?͋?I?G@I?H?D$(I?G(H?D$ ???Y5??;;?*????3??I?o I+??D??M?B?D?L;???B?D?L;?s?F t?3?E??t4??HɋD?H;?r?D?H;?sB?D?9D?uB?D?9D?t??A;?r?;uH??H????H?HɃ??H?I?V????H??A9~tIc^?A???H??H?ϋ?H??u4I9}(??H????Ic^I?VI?M(?e???H??L??H???-?;I9}(tiH??td??t?????H??IcFH??H??H??tGA?$??????????L$ ???3?H?\$PH?t$XH?|$`H??0A_A^A]???????????????????????H?\$H?t$H?|$AUAVAWH??0M??I??H??L??3?A9xtMcx?6???I??H??D??H???zE??t????H??HcCH??H??@8y?W9{u	9{?I9{|	?CHH???C?t2A?t,H?{?H??t ???H???0H???'H?H???`?CtI?M(H???H???H???A?tJI?U(H????H????McFH???+A?~??H9>??H?I?V????H??A9~tIc^?>???H??H?ϋ?H??u4I9}(??H????Ic^I?VI?M(?b???H??L??H???+?;I9}(tiH??td??t?????H??IcFH??H??H??tGA?$??????????L$ ???3?H?\$PH?t$XH?|$`H??0A_A^A]????????????????????????H?\$H?t$H?|$AVH?? I??L??3?A9}H???IcpH2???????t?????????H?\$ L?D$H?T$UVWATAUAVAWH????9?I??M??L??H????"???D??$0D??$(H??$ H?xt[3??G?H???????H9XtE?>MOC?t=?>RCC?t5H??$8L??D?|$8M??H?D$0I??D?l$(H??H?|$ ????????H?EH?D$hH?|$`???D?l$(H?T$`L??H?|$ E??H??$??^????$?fo?fs?f~??L$p;?$??2D?t$xfI~?L??$H?D$pH?HcPA??H??I?AL??AIcT??$?f~??$?A;???fH~?H?? D;???H?]H???fs?fH~?H?? H??H??Hڃ{t1Lcc????I?tE??t????HcKH??3??xu\L??$?@uOH??$8L??H??$M???D$XH???D$PH?D$HH??$?D?l$@H?D$8H?d$0H?\$(H?|$ ?Y???L??$A??L??$D;?$??????H??$H???A_A^A]A\_^]??\?????@USVWATAUAVAWH?l$?H??8H??yH3?H?E(?9?I??H???L??L???H??H?D$pL?D$x?z????D???D???H?xtZ3??ƇH???r???H9XtD?>MOC?tRCC?t4H?D$pL??L?D$xI??D?|$8H??H?D$0D?d$(L?t$ ?p??????L?GH?MI???L
?}?D?d$(H?UL??L?t$ E??H?M?????M?fo?fs?f~??M?;E????E?L?
?5??fI~ȉD$`L?D$hA@fH~?E?A;???H?? D;???L?OH?U?L?GH?M?E?	?.	H?E?H?M?H?E??H?E?H?M??]?H?E??	??tH?M???H??u?}?t(?B???HcU?H?t??t?0???HcM?H??3??xuO?E?@uIH?D$pL??L?D$xI???D$XH???D$PH?D$HH?E?D?d$@H?D$8H?E?H?d$0H?D$(L?t$ ?????L?D$hL?
?4??I?P?
??J??	??B??	??H+ЋB???I?PA?@?
??J??	??B??	??H+ЋB???I?PA?@?
??J??	??B??	??H+ЋB???A?@ H?BI?P?
A?H$?L$`??I?@?L$`;M??h???H?M(H3??????H??8A_A^A]A\_^[]??e??H??H?XH?hH?pH?x AVH?? 3?M??H??H??9Y??Hcq?????L??L?????tHcw????H??H?ˋ?8Y????t
?E????t????H??HcGH??H??????H??HcEH?H;?tK9_t?\???H??HcGH??H???\???LcEI??L?H?FL+??B?+?uH????u??t3??9??Et?t$A?t?tA?t?tA?t?t?????H?\$0H?l$8H?t$@H?|$HH?? A^????H?\$H?l$H?t$WAVAWH?? 3?M??L??H??9Y?Hcq????L??L?????tHco?v???H?(?H?ˋ?8Y??H?w??t
A?????t?F???H??HcGH??H???F???H??IcFH?H;?tO9_t????H??HcGH??H??????McFI??L?H?FL+??B?+?uH????u??t3??FH?w?A?t?t-H???H??A?t?tA?t?tA?t?t?????H?\$@H?l$HH?t$PH?? A_A^_??H??H?XH?hH?pH?x AVH??`H??I??I??M??H???{?>???H??$??)??&??x@u8??csm?t09u?uH?` ?t9t?%???="?r
?C$???Gf???{?{??$??m?G t]9u7L?F H??H???????????k;C?bD??H??H??L????,9uD?O8A????:D;K?0H?O(??L??H??H?????????{uB?%???=!?r?{ t?????HcK H?u ?%???="????C$???????csm?un?rh? "?v_H?G0?xtU????H?O0L??HcQL?t@??$?L?΋?$?M?ƉL$8H??H??$?H?L$0H?ωD$(I??H?\$ ????>H??$?L??H?D$8M?Ƌ?$?H?ՉD$0H?ϊ?$??D$(H?\$ ?+????L?\$`I?[I?kI?s I?{(I??A^?????H?\$H?l$H?t$WAVAWH??H??I??I??M??L???A????H??$?3?A?)?A?&?9p@u+?;csm?t#D9u?{uH?{` ?tD9t	? ???Cf?9w??HcWL?=?.??HU?
??J??9??B??9??H+ЋB??????9?$????C ??D9ucL?E H??H???????D?ȃ????9wt'HcWHU?
??J??9??B??9??H+Ћr???D;??_I??H??L????*D9uDD?K8A????9HcWHU?
??J??9??B??9??H+ЋB???D;??	H?K(?L??H??I???g?????L?EH?L$PH???9t$Pu	?@???;csm?um?{rg?{ "?v^H?C09ptU?q???H?K0L??HcQL?t@??$?L?͋?$?M?ljL$8I??H??$?H?L$0H?ˉD$(I??H?|$ ????>H??$?L??H?D$8M?Nj?$?I?։D$0H?ˊ?$??D$(H?|$ ?h????L??$?I?[ I?k(I?s0I??A_A^_??
???/??????@SH??@??$??D$8H??$?H?D$0?D$x?D$(H?D$pH?D$ ?/??????`????@x??????H??@[??@SH?? 3?W?H?AH??H?A?AH?AH?A$A0L?A@D?IH9BtEHcRI?L?4,??H?Q?
??J????B????H+ЋB???H?ˉH?SH?S???H??H?? [???3?W?H?AL??H?AA9B??HcRI?L??+??H?Q?
??J????B????H+ЋB???I?QA?I?Q?
??J????B????H+ЋB???I?QA?A?
??J????B????H+ЋB???I?QA?A?
??J????B????H+ЋB???A?A H?BI?Q?
I?AA?I$??I???@SH?? H??H??H?
)?W?H?H?SH?H?????H??H?H??H?? [?H?aH??H?AH???H?H?????@SVWATAUAVAWH??pH??E3?D?|$ D!?$?L!|$(L!?$??W???L?h(L?l$@?I???H?@ H??$?H?wPH??$?H?GHH?D$0H?_@H?G0H?D$HL?w(L?t$PH???B????H?p ?????H?X(?????H?P H?R(H?L$`?Y???L??H?D$8L9XtDŽ$??????H?HpH??$?A?I??H?L$H?H??H?D$(H??$??x?D$ ?????`@H??$???$?t!?H???5???H??$?L?I D?A?Q?	?
L?N D?F?V???{D?|$ H?\$(L?l$@H??$?L?t$PL?d$8I???????E??u2?>csm?u*?~u$?F - ???wH?N(?-?????t
?H???????????H?x ?????L?h(H?D$0HcHI?H?????H??H??pA_A^A]A\_^[???H??SVWATAUAWH??H??E3?D?d$ D!?$?L!d$(L!d$@D?`?D!`?D!`?D!`?D!`?D!`??S???H?@(H?D$8?E???H?@ H?D$0H?wPH??$?H?_@H?G0H?D$hL?(H?GHH?D$pH?GhH?D$x?Gx??$??G8??$?H???)
?????H?p ?????H?X(?????H?P H?R(H?L$P?@???L??H?D$HL9gXtDŽ$?????H?HpH?L$@A?I??H?L$h??H??H?D$(H??}H?\?pH???H?\$(I??H????H?|$8L?|$0?|?D$ ?I????`@?@?????$??HxH??$???$?t?H???????H?L$@L?I D?A?Q?	?
L?N D?F?V???xD?d$ H?\$(H?|$8L?|$0L?l$HI??????E??u2?>csm?u*?~u$?F - ???wH?N(???????t
?H???k???????L?x ????H?x(??????$??Hx?u????@x????H??H?ĘA_A]A\_^[?轹?????3?L?k&???AW?H?AL??H?A$A0H?AD?H?PD?IH?QA??t'?
??J????B????H+ЋB???A?@I?PA??t?H??I?PA?@ A??t'?
??J????B????H+ЋB???A?@$I?P?L?RA?@(?0A??M?P"?A??t@<uIc
I?BI?@I?H0?D"?A?? ??IcI?RI?PI?@0H?BHc
I?@?<u0A?
??J????B????L+?A?@HA?R????M?PI?@0?D"?A?? u\A?
A?PH??J????B????L+?A?B???M?P?I?H0A?
??J????B????L+?A?B???M?P?I?H8?@SH?? L?	I??A? ?csm?A9	uaA?yA? ?uA?A A+???wH?B(I9A(u?A9	u3A?yu,A?I A+ȃ?w I?y0u?U????@@???3?H?? [??H?\$WH?? A??M???g????؅?u?????xx??H?\$0H?? _?D?L$ L?D$H?L$SVWATAUAVAWH??0E??I??H??L???????L??H?D$(L??H??I???[??????????@0?????A;???????;~?Lc?????HcNJ???<?|$ ????HcNJ???|t?m???HcNJ??Hc\?[???H??3?H??tYD??H??I???%????t?????xx???A?>?????????xx?t??????xx??????@x??????????@0H??H?t$p3?H??$?W??$?9St?HcSH?
??L??!??J????B????H+ЋB??艄$?H??$??!?$?H??$?H?D$0H?T$8H??$?H?D$PH?T$XH?D$PH?D$ L?L$0E?ŋ?H??$??u?H??$?H??$?H??$?H??$?L?|$8L;??9L;|$X?.H?T$8H?L$0?tL?|$8H?\$0s?$?(D$0f?$?H?T$8H???C?CL+?L?|$8H?D$0H?D$ D??L??$?A??H?L$P????D$D?d$@E3?fo?fs?f~?fo?fs?f~Ʌ?DE?D?L$@E?????GA??A???vIc?HA?I???0	?5H?D$`H?fs???u
f~?L??fA~?L?Ic?HA??	H?L$h??????|$DH?t$pL?t$xL??$?D?l$H?????????x0~?????H0H??$?H3??J???(?$?H??A_A^A]A\_^[??޲??H?\$H?l$H?t$WH?? H??I??I??H??????L?L$HL??H??H?͋??6???L??H??H???????;?~#D??H?L$HH??????D??L??H??H????????L??H??H????????H?l$8??H?\$0H?t$@H?? _???H?\$H?l$H?t$ WATAUAVAWH?? H??L??H????E2?3?92??????H??I?E0Lc`I??L?????H??I?E0HcHD?4
E??~THc?H??H?D$X????I?]0H??Ic$H??X???H?T$XL??HcMH??H??H??9?????uA??I??E????A???;u?q???H?\$PA??H?l$`H?t$hH?? A_A^A]A\_??X?????H?\$H?l$H?t$WH?? 3?H??9)~P3??????HcOHƃ|t????HcOH?Hc\????H??3?H?HH??q???????t!??H??;/|?2?H?\$0H?l$8H?t$@H?? _ð??L?L?~??L??L??A???J????B????L+?A?@????L?????A?BA?J?A???v??uJH??H??H?A?J?H??H??H?A?JH??
??J????B????H+ЋB???I?A?B?H??I??H?????I??L??H??E??I???L??I?[M?K ?T$UVWATAUAVAWH?? H?A@2?E2?I?C3?M??E??H??H?p?L??99~CE?cA;?uH??@?A;?uL??A?@??tE??uH?T$`H?????????;;}H?D$`??L?d$xI?$I?t$KHH??$?H?L?xKH?\$pIH?? A_A^A]A\_^]???H?\$H?t$WH??0H?|$`??I??L??H?WI;PwwH9QwqI?@H??I+JH+?H;?}-AD$ I;RvKH?L$ H?T$(????H?D$(??H9Gw??-A??D$ I9PvH?L$ H?T$(?????H?L$(??H9Nw??????H?\$@H?t$HH??0_???????ff???????ff???????ff?H?L$H?T$D?D$I?? ???????????????????????????H??nH?.V??H;?t#eH?%0H???H;HrH;Hv?
?)??@SH?? 3?H?ͬE3?H??H?ʺ?????t?֬?Ã?rӰ??
2?H?? [???@SH?? ????H????H??H???gk?
????u߰H?? [??H?\$H?l$H?t$WATAUAVAWH?? ??L?=??I???M??I??L??I???ؒ?I;???H????M;????uI??????H??tI;????kM???0?3?I??A???kH??H??u~??k??Wu-D?CI??H?h??????tE3?3?I????kH??H??uFI??L?=_??I?????H??I;??l???M???ؒ3?H?\$PH?l$XH?t$`H?? A_A^A]A\_?H??L?=??I?????H??t	H???+kI??H???OjH??t?H??I???ؒ??@SH?? H??L?
??3?L???H???????H??tH??H?? [H?%{lH?? [H?%?j???@SH?? ??L?
???L???H????A?????H??tH?? [H?%2lH?? [H?%vj??@SH?? ??L?
e??L?Q?H?R????????H??tH?? [H?%?kH?? [H?%j??H?\$WH?? H??L?
0???H?'??L??????H?Ӌ?H??t??k???iH?\$0H?? _????H?\$H?t$WH?? A??L?
????L???H??H?????N?????H??H??tD????k??giH?\$0H?t$8H?? _??????????????ff???????ff???????ff???????ff?H??(H?L$0H?T$8D?D$@H?H??????????????H??H?T$8H?A?????H??(?H??(H?L$0H?T$8D?D$@H?H????????????H??(???????H??(H?L$0H?T$8H?T$8H?A??_???H??(???????????H??(H?L$0H?T$8L?D$@D?L$HE??H???-???H?L$@???Q???H??H?T$8A?????H??(??H?\$WH?? H?9H??u@??g??D$0u
H?g3??G?H?WH?L$0?b??L$0H??H???gH??tH?H?\$8H?? _?????H?\$H?t$WH?? H?13?H??H??u;??g?D$0@8{u
H?{?C?H?{H??H?L$0????L$0H??H??agH?\$8H??H?t$@H?? _???H?\$H?t$WH?? 3?H??H??8Zu?"g??H?_?G?g?H?ZH??H?\$0H?t$8H?? _?H?\$H?t$UWAVH??$???H???H??WH3?H???A????ك??t?	???3?H?L$pA???g?3?H?MA???V?H?D$pH?D$HH?MH?EH?D$P?	fL??H?T$@I??E3???eH??t6H?d$8H?L$XH?T$@L??H?L$0M??H?L$`H?L$(H?MH?L$ 3???eH??H??H??H???t$pH???H??H?E??|$t??e3ɋ???eH?L$H??e??u??u???t??????H???H3??U???L??$?I?[(I?s0I??A^_]??H?
???H?\$UH??H??pH?e??=s??E??E??E??E?u:Z?E??E?H?E?H?D$(H?E0H?D$ ?J?}?uH?E??????}?t?]?H?M??????X ?}?t?]?H?M???????X$H??$?H??p]??H?\$H?l$H?t$WH??0H??A??H?L$hI??H??????H??tGH???H??t;I?p*W4H??H?L$`H??H?L$ L??H??D???fH?\$@H?l$HH?t$PH??0_?H?T$hH?
???-???L?zUH?A??L3ك????I??M??tI?p*W4H??I???H?D$`D??L??H?D$ H??H???R??H??8H?d$ E3?E3?3?3??{???H??8???H??8H?d$ E3?E3?3?3??[???H?d$ E3?E3?3?3????H??(???c??t??)A???A?H?????tcH?Ⱥ?H??(H?%ic??D$?D$?????H??(H??t
H???H?I??????H??(??H?\$WH?? 3?H??tPH?B?H??uG?CH;?HG?H?x?H?AH?H;?v
?[???0H???gDH??t#H?_H??H?H#?H?C???.???????H??H?\$0H?? _??H??h(?)t$P?L$pW??L$p?????Ћ???=?v(t$PH??h?????es
?5???+??rz.
?iz
uW??.
??zu?56?? ??(??A?H?
??D?L$@A????t$8?L$0?D$(!A?Q?D$ ????X(??yW%h???~r,?[i?\??YKi?T$p?D$p(??Q?(??
(??Y??T$p?-r?(??Y;??\??G??Y??\-/??Y??X-'??Y??Y??\??^?????y3W??Y??Z?Z??\
???X?????X??\?fZ???t$x?X?D$x%???D$x?\$x?T$p(??Y?(??Y???X??\??Y??^??X??X??X?(??.???W??Y??Z??
Y?Z??\??\??\?fZ?(t$PH??h?????H??h?=????fW?f~¸?D??D#?D;????Z?fH~?L??I???A?f(?H?-DT?!??L;?)f(??Y?3?I???-??fffffff?fIn?L;t??.f(????f(??-???Y?M??I??4?X????f???
?????Y??\??Y?f~?f(??\????fH~??-??H??H??5L+?I??~(f(??Y??Y??\??\??\??\?f(?f(??\?H?????H???~Tf(??Y?D#?t'????Y??Y??\??2ffffff?????Y???\???D#????????ff?H?T$ L?T$0??H?T$ L?T$0A?f(??-???f(??Y?D#?tS?
??Y????Y??-??Y????Y??X
??Y??X-??X??Y??X??]f??
x???Y??X?Y??<?Y??Y??X
D?Y??X(?X??Y??X???X?????tfW??\?f(???Z?H??h????H??h?fffff???~?D???A#?A;?????Z????~?I???L;
????L;
7?}EL;
>?}??X
D???nD?H??h????Y8???ѭ???Z?H??h?fD????(???Y???Y
???\???
D???
C???
*???
??Y???o???????Z?H??h?fff????n?L;
D?}b??T
J???(?????????????y%???T%8???????????o????????Y????\???\???\????~??,????n?L;
??}????fff????H??s4??
???Y????
????
n???
]??Y??????Jf???(????Y???Y
????\???
???
???
????
???Y???o?????H??H??H??????n???W???Z?H??h???H??h??H??h?=????fW?f~¸?D??D#?D;??cf(??Z?fH~?L??I???A?H?-DT?!??L;???H???L;?}fH? ?L;?}'f(????Y
'??X
'?H??h?ff????%T??Y??Y??Y??\???fffffff????Y??
?Y????-??Y????Y??Y??X
??Y??X-??X??Y??X??afff?I;?A?tA??\???L;X??*???~????-b??Y?M??I??4?X??k?f???
?????Y??\??Y?f~????\??k?fH~??-n?H??H??5L+?I??~(???Y??Y??\??\??\??\??????\?H?????H???~P???Y?D#?u#????Y??Y??\??.ff??h??Y???\???D#????????ff?L?\$ H?T$8L?D$0fH~??7?L?\$ A??L$8?D$0???Y?D#?uU?
5?Y????Y??-?Y????Y??X
?Y??X-??X??Y??X??_fff??
????Y????Y??|?Y??Y??X
??Y??Xh?X??Y??XP??X????A#???A??A#????u??fW??\??Z?H??hÐ??H??h?fD??~?D???A#?A;??5??Z????~?I???L;
????L;
??}EL;
??}??(???Y
????X
??H??h???Y???Y???ѝ????ff???(???
???Y????
????
????
???Y??????????n?L;
4?}b??T
*???(b????I???????y%???T%(???????????o????B???YZ???\???\???\??_f?L?
)???~?I??I??4I???M??I??I??I??K?H??H??H??4I??āzoH??L??L?????~?H??I??fs?I?H??L??L?????~?H??L?H??6I??I+?H3?H??sI??I??I??H??H??H????n?I??H??
I??I??H??@L??I??uM??M??I??I??I??@L?H??4H??|(tFM??I??I??H??@H??I??M??.ffffff?H??I??I??I??H??@H??H??L?I??MȐI???I??4I??L?H??4L????n???Y:????~?H??H??t;??
???Y????
????
????
???Y??????Nf???(8???Y????+??
;???
:???
!???
??Y???o???????Y)????Y)????V???U????W???U
????W???Z?H??h??G?H??h????D$H??X???D$h?T$h??#?;?u_????t??H??X????yH?L$`H?
??A?W?D?L$@A????D$8?L$0?D$(!A?Q?D$ ????????????????u??QD$`H??X??H??H?XH?hH?pH?x AVH?? ??3ۿ??u??;?L?HcȺ???{?3?H?????H9ڔu/??=ŔH???Q?3?H??????H9??u????uH??H?5'EL?5EI?N0E3?????H???L?	?H??H??L?4H?Ń??H??I??H?L?(H??H??w?????H??I??XH??H??XH??u?3?H?\$0H?l$8H?t$@H?|$HH?? A^?̋?H?
DHk?XH?????@SH?? ?p?L?3?H?
?H????H?ۓH?H??0??QH??H??u?H?
?????H?%??H?? [??H??(H??u讓??G?????"H??tH?AH?M??tI?M??tH?AI?3?H??(??H??0H?%MQ?H??0H?%IQ?H?\$L?L$ WH?? I??I??H?
??????H???>??H????????H?\$0H?? _????@USVWATAVAWH??$0???H???H??BH3?H???H??0E3?I??H??L??M??u,?@0E3?H?D$(E3?3??@,3?L?d$ ????????H??tH??t?M??D?d$IfD?d$MD?d$OH?t$0H?|$8L?d$@A??u
D?d$HH??u?D$HH?D$XH?L$PH?D$0D?d$pH???W?H??8H?D$hD?d$tL?d$xD?e?fD?e?D?e?D?e?f??L?|$PL?L$`D????Hc?H??tJA??t#H??u	??t????6H?D$@H;?u(??x(H;?v#??M??tKH??t??yD?&?H?D$@H;?tGD?$H???????H???H3?????H???A_A^A\_^[]?H??t?H?D$@H;?u??????D?d>???H?\$H?l$H?t$WH?? H????????H??H;?vA?@02?A?@,?\3?H?4H9?u	H??v	H;?w??7H????H??H??tH?????H??@?H??3????@??H?\$0H?l$8H?t$@H?? _?H??H?XH?hH?pH?x AUAVAWH??0L?:A??H??L??M??u葐??*????2??tFA?@???"v=?A0E3??A,E3?L?l$(3?H?d$ 3??&???H?KH????H?H??yA?7M?GA??E3???L???@??-E?t@??+u	A?0I??L?A???t	A;????F?<	w	@?ƃ????F?<w	@?ƃ????F?<w^@?ƃ?Ʌ?uSA?I?PH??A???t-??L??Eŋ??t;A8t6虏??2???L??!@?2L?B??L?DE?A??????
Eŋ?3҃????D?ȍNЀ?	w	@?΃???#?F?<w	@?΃????F?<w	@?΃??????;?s0A?0A???ō3?;???3?E;?D??????????I??L??I??L?@??tA80t????z???@??uH?CL?;H??tL?83??A??E?H?@??u@??tV@??tE;?vQ?E;?vM??A?E0??A?E,"?uA????1H?S??tH??tH?H?
A???+H??tH?H?
A???@??tA??H?CH??tH?H?A??H?\$PH?l$XH?t$`H?|$hH??0A_A^A]?H?\$H?l$H?t$WH??0H??@??I4????t(?????????tZ?????????K(?H{?????H?CH?p??????tH??y	H?ރ?@?K(?{0???C0???K(?H?C?????H?CtH?p???p?묋K(?H?C????@??H?CtH?p???p?넃??`??????W??????N????7???H?CE3?E3?3?3??@0?@,H?CH?D$(H?d$ ????2???K(?H?C?????H?Ct	Hcp??
????p?????HcS0???L?C?K(H?KP?+???H??u?c(??CLD??H??H??u
H?????????C(???t?{Ht	H?K@?90tH?K@H?K@?0?CH?H?\$@H?l$HH?t$PH??0_????H?\$H?l$H?t$WH??0H??@??I4????t(?????????tZ?????????K(?H{?????H?CH?p??????tH??y	H?ރ?@?K(?{0???C0???K(?H?C?????H?CtH?p???p?묋K(?H?C????@??H?CtH?p???p?넃??`??????W??????N????7???H?CE3?E3?3?3??@0?@,H?CH?D$(H?d$ ?????2???K(?H?C?????H?Ct	Hcp??
????p?????HcS0???L?C?K(H?KP?C???H??u?c(??CLD??H??H??u
H???^?????C(???t?{Ht	H?K@?90tH?K@H?K@?0?CH?H?\$@H?l$HH?t$PH??0_????H?\$H?l$H?t$WH??0H??@??I4????t(?????????tZ?????????K(?H{?????H?CH?p??????tH??y	H?ރ?@?K(?{0???C0???K(?H?C?????H?CtH?p???p?묋K(?H?C????@??H?CtH?p???p?넃??`??????W??????N????7???H?CE3?E3?3?3??@0?@,H?CH?D$(H?d$ ?????2???K(?H?C?????H?Ct	Hcp??
????p?????HcS0???L?C?K(H?KP?[???H??u?c(??CLD??H??H??u
H???"????e?C(???t?{Ht	H?K@?90tH?K@H?K@?0?CH?H?\$@H?l$HH?t$PH??0_????H??XL??H??PD??H??u??
H??I??PH??H?P?H?I?P@H??A?H0??E??t$?A?A??A?@0??I?@@??0A???I?H@I?@@??A+P@H??A?PHI?@@????H??XL??H??PE??D??H??u??
H??I??PH??L?@?L?M?A@I??A?I0??E??tN?A?A?A0?????A??????????D*?A??0A??A??D??<9~A?ˀ??????I?A@?I?I@I?A@?E+A@H??E?AHI?A@???L?IPE??I??D??H??u??
L??H??PH??L?@?M?L?A@I???Q0??E??t8?B?A?Ҁ?A????0?A0?€?9vA?Ӏ??????H?A@?H?I@H?A@?D+A@H??D?AHH?A@?H??XL??H??PL??H??u??
H??I??PH??H?P?H?I?P@H??A?H0??M??t$?A?A??A?@0??I?@@??0I???I?H@I?@@??A+P@H??A?PHI?@@????H??XL??H??PE??L??H??u??
H??I??PH??L?@?L?M?A@I??A?I0??M??tT?A?A?A0H?????????I??H????????D*?A??0A??A??L??<9~A?ˀ??????I?A@?I?I@I?A@?E+A@H??E?AHI?A@?L?IPE??I??L??H??u??
L??H??PH??L?@?M?L?A@I???Q0??M??t8?B?A?Ҁ?I????0?A0?€?9vA?Ӏ??????H?A@?H?I@H?A@?D+A@H??D?AHH?A@?H??H?XH?pH?x UAVAWH??H???H??H??4H3?H???H?H??L?qL?8I???\?H?KW?L?@??H?S L?M?	H?:H?KL?H?K?d$@?d$H?d$L?d$Pf?d$X?d$h???H?L$(H?L$ ?D$D?D$lf?pL???L?T$ L?\$0H?|$8?NH??x???$?H??xM??I??@???~???H???H3??e???L??$?I?[(I?s0I?{8I??A_A^]?H?H???H?D????t?Њ?A:?tH????Є?u?H????t8?	,E??t	H?????u?L??H?Ɋ<0t?A:?H?Q?HE?L+?A?H?ˆ??u????L??I?[I?kI?s WH??0H?iH??H?AH??I?KH??I?K?I?S?H?],A?A?
I?CH??I?C??^????3?H?F8H0t?x,"tH?D$@H;FrH?F?H?t$X??H?],H?\$HH?l$PH??0_????H?\$H?l$VWAVH??0H?AH??H??`???3?H??u9?@0?@,H?D$(E3?E3?H?l$ 3?3??f?????H?\$XH?l$`H??0A^_^????t?H9ku1H?CE3?E3?3?3??@0?@,H?CH?D$(H?l$ ??????????h??h??L?5?H?C?kH@?k$D?H??H?CD?C9E???NE??9k ?BA?@?D?C9E??I??;?|oH??H?GH??Q%?tZH??`H?AH9Au@8it?C ?#?s ??C H?AH??`H?D?H??`H?H?CD?H??H?CD?K9E????H??`H?AH9Au@8it?C ?#?s ??C H?AH??`H?D?	H??`H?H?CD?H??H?CE??D?C9E?????????h??h?w????C H?\$XH?l$`H??0A^_^?H?CE3?E3?3?3??@0?@,H?CH?D$(H?l$ ?F???H?C?@0?@,H?CH?D$(E3?E3?H?l$ 3?3??????????H??8?A9?Q4??t ??t??	t?y4
t?A9,c???????2?L?I@A???t?AL???H?Գ?H?Q@?AL?AH???H?\$H?l$H?t$ WH??P?I(H?ًA0??y?A9,A$?????????
?A0?u?y9gt3??y9Gu?A0?L?AH?yP]H??Hc??????A???u$H??XuA???
H??PH?荈?????K0??K0H??H??HD?H?C@H?CH?CL??XL?[H?3?@??k9?D$`M??uL??I???$L??I??H??PL??PI??M?H??I??L?\$H?D$@H?t$8?L$0H?L$`?l$(H?T$ H?????C(???t|?{0uvH?{?(uH???H?K@L?OD?I??A?<etI?H??D?B?@u?A???<xuD?AI???H?QHE?H???H?ŠA??D?H??D????u?C9,G??u)?C(???uH?{?(uH???H?K@H?W?????H?K@?<-u
?K(@H??H?K@?,I<%wH?!!H??s?c(??C9sH???H?€<u?H?l$p?H?t$x?SHH?\$hH??P_???@SH??0H?ًI4??tj??t??	t?{4
tZ?C9,c??????tLH?CH??XH?CL?KH??uA?H?SP?
L??PI??L?L$ H?KHD?H?????t.?C8?(H?CPL??M??LD?H?CH?K?Q?A??CHH?KP?H??H??HD?H?S@H??0[????H?\$WH??0H?AH??H?AH?x??????u1H?CE3?E3?3?3??@0?@,H?CH?D$(H?d$ ?8???2??N?K4?? t7??tK??t??u?C f??'?C ?? ??t??t??t
??t??u?HcC H??C8?H?\$@H??0_ËC ???@SH?? H?AH??H?AD?C0A???H?H??????S4DD?H?K@??t??Y??Y??X???Y??X?H???#?H?
???Y??X?fr?fs?4f???Z?V?fo|$0fot$ H??h?ff?A??O????%?=K:?\$@?T$@?ʀ?T$P?T$P?-??*??T$@.??G??s?-??fp???\??fH~?H???H;q??A???f(=??f(?f(??X
c??^?f(??Y??X?f(??Y?fp?DfY??Y?fX%b??Y??Y?f?fY?fp???X??\??X??j???ffff?D??f~ʸA?????L?DL?Oй?A???A??KO?C?\$@D?D$@A?ȀD?D$P?T$P?D-??A*??T$@.?E?uA??C?s	A?Ɂ???fn?A??tD?
?fo???fo|$0fot$ H??h?@???Gf~?f~ʁ??t????t?ff????W?rf?D???????L?Oѹ?A???A??KO?8?\$@D?D$@A?ȀD?D$P?T$P?D-??A*??T$@.?E?uA??C??fn?fo|$0fot$ H??h??????????????f~???r??????????A??????EЁ???AB?fn???tfo?D?
???A?fo|$0fot$ H??hÁ????A???????f???tkf~ʁ????y???fA~?A?????A???wfo|$0fot$ H??h?f~?@fn?D?
8???fo|$0fot$ H??h?ff????vh???s`?с?@fn?D?
???x?fo|$0fot$ H??h??=?s)???fn?D?
ń?D?fo|$0fot$ H??h????fn?fo|$0fot$ H??h?fD???fn?fo|$0fot$ H??h?fDf??fo|$0fot$ H??h?fff???fn?fo|$0fot$ H??h?fDf~???@fn?D?
???fo|$0fot$ H??h?Df~?
@fn?D?
??g?fo|$0fot$ H??h?fDA????t+f~???@fn?D?
???-?fo|$0fot$ H??h?f~?
@fn?D?
????fo|$0fot$ H??h?f?f??V?D?
j????fo|$0fot$ H??h?ffff???fn?V?D?
=???fo|$0fot$ H??h?????fn?D?
??{?fo|$0fot$ H??h???b???????~???~?D??%????????=???=???v????
??Z?A?????I??p?????\????~?H??,???????H??,???n???????p????s?4????????H?
???\???Y???(???%I????%܂???%o???Y???Y3?H?
????X???\???Y???.????.?????Y???????????~????????(?????????e?????????Y?H???#?H?
h????????ffffff???r???s?4??????Z???V???o|$0??ot$ H??h?f?A??S????%?=K>???\$@?T$@?ʀ?T$P???T$P??-???*????T$@??.??S??s??-S???p????\6????~?H???H;??:?????p?D??(??????X
???^???(???Y???X???(???Y???p?D??Y%	???Y???X%
???Y???Y??????Y???p????X???\???p????X?????f?D????~ʸA?????L?DL?Oй?A???A??KO?F???\$@D?D$@A?ȀD?D$P???T$P?z-???j*????T$@??.?E?uA??C?s	A?Ɂ?????n?A???????D?
???o??>???o|$0??ot$ H??h?fffff????'??~???~ʁ??t????t?ff????7?Rf?D???????L?Oѹ?A???A??KO?;???\$@D?D$@A?ȀD?D$P???T$P?z-???j*????T$@??.?E?uA??C????n???o|$0??ot$ H??h?wn?????????v??~???r???????fff??A??????AB???n???o|$0??ot$ H??h?fD?????A????????o??ffffff???t[??~ʁ????u??????w??o|$0??ot$ H??h???~?@??n?D?
?}?x?fo|$0fot$ H??h?????vh???s`?с?@??n?D?
?}?8???o|$0??ot$ H??h??=?s)?????n?D?
?}????o|$0??ot$ H??h??????n???o|$0??ot$ H??h?fD?????n???o|$0??ot$ H??h?fD??????o|$0??ot$ H??h?fff?????n???o|$0??ot$ H??h?fD??X???o|$0??ot$ H??h?fff???~???@??n?D?
?|?6???o|$0??ot$ H??h?D??~?
@??n?D?
?|????o|$0??ot$ H??h?fDA????t+??~???@??n?D?
R|?????o|$0??ot$ H??h???~?
@??n?D?
(|????o|$0??ot$ H??h?f???????V?D?
	|?|???o|$0??ot$ H??h?fff?????n???V?D?
?{?G???o|$0??ot$ H??h?fD?????n?D?
?{????o|$0??ot$ H??h?????????????????ff?H+???t?:
uOH????tE??u?I?????????I?????????g?
%?=?w?H?H;
u?N?H??H??I#?I??t?3??H?H????H??H?XH?p?@WH??@)p?(?H??H??u??3??\???W??????????;r?L$VH????f#?f;?u>??(??ˠ??tc??t^??tY(޹?X?`?H?|$ (??R??Cf.5Hzzu(?????t?#?-?3???H??(????(?H??H???q(?H?\$XH?t$`(t$0H??@_??g|???H??XH???H3?H?D$@E3?L??A??L??H?? E?YsqD?L I?H?? |?????H???????L ??MÈL A???u?D\$ ?E?M?E?A??A??I??????B?T t?Ic?H?L$@H3???2??H??X??E?????k-???????H??8?=1?_f~?D?~A#?A;??1?Z?fI~?I???L;
?}??L;
?}}TL;
?}}???Y
?}?X
?}H??8?f?f(??Y?f(??Y??YP}?X??fffffff?f(?f(??Y???|?Y??X?|??|?Y??X?|?Y??X?|?^??Y??Y??X??[fIn?L;
?|}ef(?fT
A|f(I|?Y??X?|f?????fT%=|f(?f(??Y
?|?\??Y?|f(??\??\?f(??\??^L?
?fI~?I??I??4I???M??I??I??I??K?H??H??H??4I???CoH??L??L??fH~?H??I??fs?I?H??L??L??fH~?H??L?H??6I??I+?H3?H??sI??I??I??H???H??H??fn?I??H??
I??I??H??@L??I??uM??M??I??I??I??@DL?H??4H??|#tAM??I??I??H??@H??I??M??)f?H??I??I??I??H??@H??H??L?I??MȐI???I??4I??L?H??4L?fIn??YB{f~???f(??Y???z?Y??X?z??z?Y??X?z?Y??X?z?^??Y??Y??X???ufHn?z?^???fT-YzfW??Z?H??8?ffff??Z?H??8??NqH??8?fffff???~?D??zA#?A;?????Z????~?I???L;
|z??L;
?z}4L;
.z}??Y
lz??X
tzH??8???Y???Y???љ?y??????Y????y????y???y????y????y??^???Y??????<???n?L;
?y}Y??T
y??(y????y??????y%???T%y??????????o?????y??Y?y??\???\???\??[L?
Ρ???~?I??I??4I???M??I??I??I??K?H??H??H??4I??āzoH??L??L?????~?H??I????s?I?H??L??L?????~?H??L?H??6I??I+?H3?H??sI??I??I??H??DH??H????n?I??H??
I??I??H??@L??I??uM??M??I??I??I??@DL?H??4H??|#tAM??I??I??H??@H??I??M??)f?H??I??I??I??H??@H??H??L?I??MȐI???I??4I??L?H??4L????n???Y"x??T?w??~???Y????w????w???w????w????w??^???Y????Ã?u
???n?w??^???T-Hw??W???Z?H??8?fff???Z?H??8??>nH??8??H?\$L?L$ WH?? I??I??H?
??????H?SH?H?H??tZ?I????
$tN??$<u???u
??r??7H?C?8uH?H??A??$tH?H?	?5???tH?C??H?C??H??ْ??H?\$0H?? _???H?\$L?L$ VWAVH??`I??I???
??H??%Hc?%L?4?H?\$8I;???H?H?D$ H?H??t!?H????
$t??$<u???u??r?H???H?VH?NH?L?D$ L?D$@H?D$HH?L$PH?T$XH?D$ H?D$(H?D$0L?L$(L?D$@H?T$0H??$?????멋?UH??$?H??`A^_^?H?\$L?L$ WH?? I??I??H?
?Ñ???H?H?	???H?蹑????H?\$0H?? _ÈL$UH??H??@?e(H?E(?e L?M?H?E?L?E?H?EH?E?H?U?H?E H?E?H?M??E??E??????}?E EE(H??@]????H?\$H?l$H?t$WH?? H??H??I??$<uN???tI?;+{?cH?sH?3??~5H??蒎L??D??H?֋???;?t
??K?????C???t??c?3?H?\$0H?l$8H?t$@H?? _???H?\$H?|$UH??H??`H?e?H?ك=?'?E??E??E??E?u???E??E?H??u3?????????1H?U???????t?????C???tH???Ս??????u?3??}?uH?E??????}?t?]?H?M??5z???X ?}?t?]?H?M?? z???X$H?\$p??H?|$xH??`]???̱?9????H??8H?L$HH??u?%????L?Q??$<u???u
??r3??2H?D$HH?D$XL?L$PH?D$HL?D$XH?T$ H?D$PH?L$@H?D$ ????H??8???H?\$L?L$ WH?? I??I??H?
?S????H???H??H??K???H??H?\$0H?? _??H?\$H?l$H?t$WH??0H?H??H?qH?(H???'?L?@??L?C H?SH?KL?SM?	M?H?H?	L?T$ ??L??H??@??H??貍H?l$HH??H?\$@H?t$PH??0_???L??M?K M?CI?SI?KUH??H??pH??t-M??t(M??u+H?E0E3?I?C?3?M!K?3??@0?@,?{??3?H??p]?H?E(L?M?H?E?L?E?H?E0H?U?H?E?H?M?H?EL?M?H?E?L?M?H?EH?E?H?E H?E??????H?\$H?l$H?t$ WATAUAVAWH??0I??M??L??L??H??t7M??t2H??uLH??$?E3?H?D$(E3?H?d$ 3??@03??@,??z??3?H?\$`H?l$pH?t$xH??0A_A^A]A\_?3?H??uH??$?E3?H?D$(H!L$ E3??H???I??L;?w?A?A??tE?y ?A?I??I??H??H????C???????tB?C??t;???C???HcCH??H?H;?I??HC?L???Zq)kH+?H+??A??H;????C??tH??$?H????????u]?????H??E??t3?H??H??H+?H;???H??B?l$h?1?L??$???D??I??脻???t;ŋ?G͋?H+?;D$hsC??KH+?3?H??I??????A?MH??L??$???????t?D?{ H?νE??D??L?H???????I???i??????H?\$H?|$UH??H??pH?e??=.#?E??E??E??E?u???E??E?H?E?H?D$ ?????}?H??uH?M??????}?t?]?H?M???u???X ?}?t?]?H?M??u???X$L?\$pH??I?[I?{I??]????E3??D$?T$????;?A??=?Kr=?vT???a=??s??tBE??t
??@?3W??.?¹???+ȃ????#‰D$?D$E??t;?t?\????D$H??XH????????(?(?W??Z?W??T$pL?D$p?Z?M??I??L#?H??4?\$pL?\$pM??I??L#?H??4??#?#Ѓ???????;?B?=??%M;?u!H??L#?L?D$p?D$pfZ??L?L$p?T$pL?T$p?\$psW?/?vWcNW??Z??_?\$hD?D$h;?~v+ʸ???*????????ЍR???Hc?H?p>H??4H?L$p?D$p?Y?H?D$p?d$p(؅?~'??(??^??,?fn?????Y??Y??\?H??u?(?D?D$h?^??,?fn?????Y??\??T$p?T$hW?/D$`(?vW?M?Z?????~H???????L??tH???????u?H??m?????C I?p(?2[.?H?KH??~????????-?H?? [?H?\$WH?? ???/?H??tBH???H??t6?{ t?mH?KH?A?H???w??H?KH?A?H???w	?????̋??x?????H?\$H?t$WH?? H??H???(?J??d3?H???(YH??u3??L?CH?;H??H?s??6?H??H?\$0H?t$8H?? _????H?\$H?t$WH??0??H??M??u????gu??3??I??I???a???H??H??t=H?D$PH??H?D$(L?q????D$`L??H?ΉD$ ???H??H??uO???????3?H??t(H?KH??t???H?KH??t?K?H???CX3?H??H?\$@H?t$HH??0_?H?T$hH??t?D$P???H??(?[???????D$H??(?H?L$0?Ӫ???Ƀ?v73?H?L$0轪f??t&?D$0??f?D$2t
?X?;??X????D$0H??(????H?\$UVWATAUAVAWH??@)t$0??)|$ I????????W?W??Z?I???Z???$?H??$???$?H??H??$?L??H??4H??H??4#?#?L??+?M#?M#?M;?v??$???$???[?/M;?v??$???3?D?k M??uH???wfZ??M??uH??xI????WI??????????~'H??y
?5?q??5y5I???W(??????H???
??j???}H??y
?5Fq??W????????H?0FH??$?H????$??Y??^???$?H??$?L??I#?H??L#?H??4??dvH?Y?H????????H??4H#?H??>H????????H#?H?Hиe+???6?d*???H??H?ڃ?H??H?I?H??$???$?fZ?I????????0??????^????????}$H??yH??y
?5Jp?????5?-????M;?uHM;?uCH??yH??y
?5p?????5?o?}???H??y
?5?o?k????5?o?^????-?GH??yW?H??yW?f/????…?t	(?(?(?(??^?f/%^ovk??oW??Y?(??Y??X%fo?,̋?????H*?H??g(??Y??Y??Y??\??X??^?(?(??X$??Y??Y??Yo?D??nf/?w:?
?n(??Y?(??Y?n?\???n?Y??Y??\??Y??\???t?eX?\?(?H??y?YX?\?(?H??yW?W??Z?H??$?(t$0(|$ H??@A_A^A]A\_^]??@SH?? 3?H??E3?H??H?ʺ??d??t???Ã?rӰ?	3??$2?H?? [?Hc?H??H?bH??H?%/????@SH?? ?x?H????H??H?????
Y??u߰H?? [??Hc?H??H?H??H?%?????H??(?[gH?
?H??(H?%???H?
}H?%????H?\$L?L$ WH?? I??I???
?H????H???H???????H??H?\$0H?? _????H?\$H?t$ UWAUAVAWH??H??@H?A3?H??H?0H?D?0H??uA???EL???L??H?D$ ???E3?H?M8?ܹ???
??"?H?M8??]3?H??H??u ?R3?L?\$@I?[@I?sHI??A_A^A]_]?L?E8L??H?L$ ?H???}???t??????"??H???H??A???sDH??L???QM??t??5L??M??E3?3?H???H?M?H???H?E?H?e0H?M?H?M0H?D$(H?d$ ????t???G??"?>?X3?L????LH?֋??*X3?L???LH?֋??X3?H???LH?ֹ??W3?L???LH9\$X??M????M????M????H????I?̋ÈH??=|?A?H??$??n????]??$??O??$??D$P;?v[A????uI??$?A??? ?re?;H??$?8?$?t*8Yt%??A;?wHc??B?  ?A;?~?H??8u?A?I???H??8M?L$?\$@?D$8???D$0H?L$(3ɉD$ D?@???????A?H???H??8M?L$?\$@A??D$8???D$0H?L$(3ɉD$ ?????\A?I???\$0A??D$(M??H?L$`??H?L$ 3?諻???&I???f?A?^?]A??????H?D$h9t$P??A????uMM??L??L+?M????A????>???A?˃?2fG?fA?
M?RC?A??LƁ??~??TH??$?8?$?tCA??8Zt8?
?B;?w%Hc?fE??EB??0???(???B;?~?H??8u?I??IH???AEH?ApAMA?I?AE AM0A?I?AE@AMPA?I?AE`I??AM?IAEA AMI0AE A@AM0IPAE@A`AMPAE`I?Ep?AxA?Ex?A|fA?E|A??xA?A?AA? ANA?0AF A?@AN0A?PAF@A?`ANP?A?pAF`?ANpA?FxA??|fA?F|A??~A?F~???x?E? M?0E ?@M0?PE@?`MP??pE`?Mp?Ex??|f?E|??~?E~H??H??tJ?????;?u?H??H???????H??H;?u?H?\$0H?? _????H?\$WH?? H??H??H;?t%H?H??tI?p0R^G'??ó??uH??H;???3?H?\$0H?? _?̸csm?;?t3?Ë???H?\$H?l$H?t$WH?? H????NE3?H??H??tH?H??L???I;?t
98t H??I;?u?3?H?\$0H?l$8H?t$@H?? _?H??t?L?@M??t?I??u
L?HA?@???I??u?????H?kH?s?x??H??0H????L?IH??H;?u?8???{tz?8??tk?8??t\?8??tM?8??t>?8??t/?8??t ?8??t?8????u@???6???/???(???!???????????????SI?p3?0O???I???;??{?L?HI?ps?PI??ƋHI????H?k???????H?\$L?L$ WH?? I??I???
??????H?????????H?\$0H?? _?@SH??0H?ـ=p?????O?H????u>H?ϠH?@?H;?t"?ȃ??H3?H??I?p(?xE.?E3?3?3??y?H?
R????u
H?
\??g?H??8uH?w?H?
P?????H?t?H?
e??????H?C?8u???H?C?H??0[????????D?D$?T$UH??H??PH?E?????H?\$`??E??uJ3??W?H??t=?MZf9u3HcHuH??H?EHH?}@L?M@H?D$ E3?H?}H3?H???I???L?}@A?H?UHI???????H??H??u?????3ɉ?)?j???N??H??H?EHH??L?M@H?D$ ?????A??u?E@??H?Q??C?3??iH?U8H?}8H???/?????tH?M8?P)H??H?}8?D)????H?U8H??H??H9:tH?@H??H98u?
??3?H?}8H????
)H??H?}8?)H?\$`??H??0A_A^_^]???H?\$WH?? 3?H9=I?t3??O?·詻H??H??u3??(????1H???5H??u????H?$?H??3??(H???(??H?\$0H?? _??H??H?XH?hH?pH?x AVH??0H??3?L?Ɗ?%??=H?AHD?H??H???H??A?<u?I??L?A???u?H????3H??H??u3??(3??rL????t_H???H?ŀ<.u?H??<=t5?H???T3H??H??t%L??H??H????3Ʌ?uGI?>I???'H??H???C3??'?3??'H??H?\$@H?l$HH?t$PH?|$XH??0A^?H?d$ E3?E3?3??ZD????H??t;H?\$WH?? H?H??H???H???F'H?H?H??u?H???2'H?\$0H?? _????H??(H?	H;
??t????H??(???H??(H?	H;
z?t????H??(???H??8H?D$ ????H?
H??????H?
C??????H?
F??Q???H?
2?H??8?A???????????H?\$L?L$ WH?? I??I???
?????H???S????^?????H?\$0H?? _??H?\$L?L$ WH?? I??I???
??????H????????"?????H?\$0H?? _??H?\$H?l$H?t$ WAVAWH?? H?3?L??H?H???hL?͗H?3A??L?K???H?[I3?M3?H??I3?I??H??L;???H+޸H??H;?H??HG??E H?HD?H;?rD?EH??H??腹3?L???%M??u(H?{A?H??H???a?3?L???g%M????L?/?M??I??I??H??I+?H??H??L;?HG?H??tI??I???H?L???A?@I?yA??A?ƒ??+?I?GH?A??H??I3?I?H?˖?ʃ??+???I?H??H3?H?H?1A??H????ƒ??+?I?H??H3?H?H?zH????ƒ??D+?I?A??H??H3?H?3?H?Y????H?\$HH?l$PH?t$XH?? A_A^_?H?\$H?l$H?t$WAVAWH?? H?H??H?H??u?????H?;L??H?[I3?I3?A?ȃ??H??H??H?G?H?????A??M?????L??H??H??H;?r_H?I;?t?I3?L?3H??I?pH?V?>????L???H?A?ȃ??H?L?
H?BM3?I3?I??H??M;?uH;?t?M??I??H??H???H???tH???#L?h?H?H?L?H?H?L?AH?H?L?A3?H?\$@H?l$HH?t$PH?? A_A^_?H??H?
???m?L??I?KH??8I?C?????I?CI?C??D$P?D$XM?KM?C?I?S I?K?????H??8??H??u????H?AH9uH?ÔH?H?AH?A3???H?T$H?L$UH??H??@H?EH?E?L?M(H?EH?E?L?E?H?U?H?M ?E(?E??????H??@]?H??(H?
??"H?
?H?%??p"H?
A?H?%???\"H?
5?H?%%??H"H?% ??H??(??H?y?H????????H??(H?
??????H?
???????H??(??H??(?????H??(?@SH?? H???H???=??H???????H????H???o?H????????H?? [????3??u???@SH?? H?
S????????uH?
@?H?I?H;?t?w!H?(??H?? [?H?IRH?
BQ???H??(??H????H??(?H??(??H??(?H??(??tH?=?t??????H??(?H??QH?
?PH??(??????H??(?;?H??(?@SH?? 3?H??tH??tM??u?????????^=????H?? [?L??L+?C?A?I????t?H??u?H??uو?????"???H?\$H?|$UH??H??pH?e??=*??E??E??E??E?u??E??E?H?e?H?U?H?M?A?H?M?A?
?1????}???uH?M??????}?t?]?H?M??8???X ?}?t?]?H?M??8???X$L?\$p??I?[I?{I??]?M??u3???f??tf;uH??H??I??u???
+??H?\$L?L$ WH?? I??I???
?(????H?H?H???????d???H?\$0H?? _??H?\$L?L$ WH?? I??I???
??????H?3?H?	????&???H?\$0H?? _????H?\$L?L$ WH?? I??I???
?????H?GH?H?H?H?	?^???????H?\$0H?? _????H?\$L?L$ WH?? I??I???
?`????H?H?H???H??t???????uH?j?H;?t????|???H?\$0H?? _??@UH??H??PH?M?H?E?H?E?L?M ?L?E??E ?E(H?E?H?E?H?E?H?E???EЉE?H???H?E??Q(H?
oLH?E?H?H?
?H?E؉??H?E?H????JBH?E?H?U(f???H?E?f???H?MH?E?H????&???L?M?L?E?H?U?H?M????H??P]????H??tSH?? H???H???H?? [?@UH??H??@H?E?H?M?H?E?H??K??E ?E(H?E?H?E???E??E?H?H;?tH???JH?M?H?Ip?=H?M?H?IX?0H?M?H?I`?#H?M?H?Ih?H?M?H?IH?	H?M?H?IP??H?M?H?Ix??H?M?H?????H?M?H?????L?M L?E?H?U(H?M?????L?M?L?E?H?U?H?M?9???H??@]????H?\$WH?? H??H??H???H??t,??H???H;
5?tH???H;?t?yu?̲H???H??tH???,?H?\$0H?? _??@SH?? ?
\????t*?,H??H??t?
D?3??,H???m???H????H?? [????H?\$H?t$WH?? ????
	?3??؃??t??+H??H??t
H???HD??r?
?H????+??uH???Z????'?
??H??H??u3??+3??r??H???p+??u?
??3??_+H????H???????3??C????H??tH?\$0H??H?t$8H?? _??:?????@SH?? ?
D????t?+H??H??tH???tx?m?
$?H?????*??tc????H&?
?H??H??u3???*3???6H???*??u?
؎3??*H????H??????3??H??H?? [????????H?\$H?t$WH?? ?+??
??3??؃??t?O*H??H??t
H???HD??r?
k?H????6*??uH???Z????%?
D?H??H??u3??	*3?????H????)??u?
?3???)H????H???N???3????????H?\$0H??H?t$8H?? _?H?\$H?t$WH?? ?
ύ3?H????t?)H??H??tH???ty?m?
??H????u)??td?????$?
??H??H??u3??M)3??>?7H???<)??u?
^?3??+)H????H??????3??Hi??H?H?t$8H??H?\$0H?? _???H??(H?
1?????(?????u2???T???H??u	3????H??(????H??(?
ތ???t?(?
͌??H??(???H?\$L?L$ WH?? I??I?؋
?????H?CH?H?H???H?	?vL?C H?CH?M??H?	?
H?KH?H????H?C H?H??t-L?ύL+??B?+?uH????u??t????H?H?CH?H???H??p?H?H?	?M?H?CH????u]?֎uTH???H?
v??9?H?j?H???H?
??H?H?
???H?
5??H?H?	??H?H?	?????M???H?\$0H?? _???H?\$H?t$L?L$ WH??0I???
??????H???H?5o?H?\$ H???H;?tH93tH??H??薰H?H???֋?????H?\$@H?t$HH??0_???L?L$ SH?? I??I????H?H?????H?? [????H?\$ WH??PH???X??"H?3?H??H??H??tRH?L?L$hH?D$ L?D$ H?GH?T$pH?D$(H?L$`H?GH?D$0H?GH?D$8H?G H?D$@??D$h?D$p????H?\$xH??P_???H?\$H?t$WH??0H??I??H?IM??H??L??H??X?U????u*H?SL??H?L??????uH?t$H?CH?\$@H??0_?H?d$ E3?E3?3?3??2????H?\$H?t$WH??0H??H??tC?U????H??H??Us0H?E?!/H??H??tH?VL??L??H??臿??uH???3?H?\$@H?t$HH??0_?H?d$ E3?E3?3?3??2????̸????L??H??(?M?KM?C?D$8I?S?D$@I?K????H??(???H?\$H?l$H?t$WH??0I??H??H???֊3??ueH???f9(tL?
UGH?D$ D?EH??H????H??f9(tL?
2GH?D$ A?H??H????H?\$@H?l$HH?t$PH??0_?E3?H?l$ E3?3?3???1?????H?\$H?l$H?t$WAVAWH??0H??A??3?H???-E3?fD9;u3???f?;.u1L?CfE98t'?H??D?J???????fD????A???L?4CA?6??u0H??@??L?ȍW@L??H???ӽ????f??.A??@???N??uH??@stf??_tnH????W??"??u]H??sWf??tf??,uLH???L??L???t???uMf??,?&???f??????I?^??H??EH???D?H???E??????H?\$PH?l$XH?t$`H??0A_A^_?E3?L?|$ E3?3?3???/?????H??(H????H????H;????L??D?H~AJAHB A@ J0AH0B@A@@JPAHPB`A@`M?JpI?AH?H??u?AJAHB A@ J0AH0B@A@@H?BPI?@P?a??H??(???@USVWATAUAVAWH??$????H??hH?كH3?H??PH???E3?L???I??H?D$pM??H?T$xH??H?|$0H??L?t$hH??u%3?H??PH3?????H??hA_A^A]A\_^[]?f?9Cu,fD9yu%L?DH??H??腇E3????E?.H????u???H?L?l$HA?UH?|$PH??H?D$XE??D?|$`H?H H?L$8L??XH?H$H?L$@L??*I????????;H???L??3?I??fB9<{u?I???sLL??I??M+??B?+?uH????u????H?D$@L??L+??B?+?uH????u??????$??H?M?H??@???D?????uy??L?E?H?|$8H?M?H??t????????tZL?E???I???g???H???3?H??f9qu?H?T$0L???A?I??M?6?O?E3???`I???H?|$8H???!E3??t[E?MD?l$0L?D$0? H??????t?D$0??u?????L?É??I?I??L???߹????L??H???`H??H?M???
????H????!???????f????L????ȃ?????Q Gу?uuD????B????J Gʃ?tu,????B????J Gʃ?fuf???8u
fE????f???-ufA??8u
fD9??teM??E??u(H?L$X?UL?L$PH??XL?D$H??????I???????A?D?l$0L?D$0? H??????t?D$0??u?????L?É??I?I??L??蕸????H???H??fD9,pu?A?H???L?H?L$H????D?t$`fD9+t$I???sH?L$@L??L?ú??9???uQ?H?D$@fD?(?E3?H?D$8M??H?L$hH?T$p??H?L$x????u?????E3?E3?L?l$ E3?3?3??*???E3?L?l$ E3?3?3??*??????E??~ID?D$L?L$ SUVWH??8H?|$x3?H???H??H??H?H??L?H???
???u??;\$p|?H??8_^][?H?d$ E3?E3?3?3??0*??????H?T$?L$UH??H??`H?e?H?e???v??????)??3??g????H?E(?f!??H?E(L?M?L?E?H?U H?M ???H?E(H?E?H?E?H?E?H?E(H?E?H?E?H?E?H?EH?E?H?EH?E??????H?E?H??`]????H?\$H?l$H?t$WATAUAVAWH??0H?ٿ???&E3?H??H??uH?\$`H?l$hH?t$pH??0A_A^A]A\_?L?p?8fE?&L?{HI?A?QL?
?=A?H?D$(A??H??>I??H?D$ ?^???H?-{=L?t>I??I??艴???M?W I?I??H+?D??D+?uH????u?E??L?T$(A??A?D?I?Ջ?H??H?>I??I?? H?D$ L?M?????H?_=H;??{?????uSH?K8???H??t?????u	H?K8?SH?S0H??t????
?u	H?K0?7L?c0I??L?c H?s8L?s(?????H???H?K8???H??t?????u	H?K8??
H?K0H??t?????u	H?K0??
H?ChL?c0L?c L?c8L?c(?d???E3?L?d$ E3?3?3??'?????H?\$ UVWATAUAVAWH??H?f|H3?H??$E3?I??H????t H??t
?P?cHc?H??H?D(?R?A??H???<fA?8L?efA?xC?YfA?x_?MH??<H???w?L??H???.H??H+?H???f?8;?A?L?=a;I?L??H?????????uI?H???H??fD9,Au?H;?tA??H??;I??L;?~?I??H?<I??跴H??H??ufA?>;??A??JL??H?L$@M?ƺ?荳???,H?H=?L?D$@fD?l@A??H???H??t??I?^?f??tH???f???????????H???l???H??$H3??\???H??$hH??A_A^A]A\_^]?3???H?D$0A??H?D$(L??$PH?T$@H?D$ UH??????H??t?A??L?w(??t@I?H?D$@H+??D?A+?u	H??E??u??tL?D$@??H???GH??uA???????I?? ??~????8????+???I???3????&????E3?L?l$ E3?3?3??
%???H?\$ UVWATAUAVAWH??$????H??0H??yH3?H?? I??Lc?H???????L??L?MpH?D$@A??H?D$(H?T$`H??H?D$ U????E3?H???AI??H?L$`H??H?D;(L??L+??F?	A+?u	H??E??u???H?D$`H???H??fD9pu?H?u?? L??H????H?L;(L?D$`H?L$HH?VJ???(H?L$P?O?L$DH?H?}3????6f?|$`CI?D$H?D;(uf9t$bu???	H?Mp?4???J???(A?????D$@D?ƉGH??I???A????9Gt!I????A??I????H??H??H??|??E??tA??I????I???I????A?????GE?Hz?D$0L?97?D$(A?Q?H?? 3?H?D$ ??v?΅?t:H?? ????f!H?@??r?H?GzH?? A????#??????A????GA???A????G?A??u	?D$@?G?
A??u?D$@?GK?H?*7I?px?v?6?H??H???K???t_H?D$HH?D;(J???(?H?D$PI??J???(?k?D$D?G3?H?? H3?????H??$?H??0A_A^A]A\_^]?H?
?zH9L$Ht?H?D;8???????u.H?L;8?H?L;0?J???(??H?t;(J???(A?$H?D;(L?d;8?r???E3?H?t$ E3?3?3??!??????H?\$UVWATAUAVAWH?l$?H??H?qvH3?H?EL??A??3?H???E3?L?e?A??A?uE??H???tA??tH??6I???s??H???H??fE9,Fu?M?t$?H?M?4FI?$A?I??E?|$I????-t?+?tj??1t?H+??	H+???H+?tYH;??H?U?H???h????H?U?H????????H?U?H????????H?U??A??2???H?U?H???????H?U?H?????t H?U?H?????uiH?U?H?????uYH?U?H???`??tFH?U??4H?U?H?????t0H?U?H???.??u#H?U?H???*??uH?U?H???F??uA??@???H?U?H???v?2?H?MH3??J???H??$?H?ĐA_A^A]A\_^]????H??8?zt2?H??8?L?JH??L???ì??u???H?d$ E3?E3?3?3??n????H?\$WH??0?zH??H??uPH?RH?B?H??wBH?????t6L?K?@L?H???`???u+L?KH?? L??PU?F???u??2?H?\$@H??0_?H?d$ E3?E3?3?3?????????H?\$H?l$VWAVH??0?zH??H?????H9SuH??O??u6H?{??L?33?A?4~???????f;?wk?p??tbH??H??r?L?KH???L??@葫??uR?xU??D?HL?	?
H?? ?m???u2L?KH?? L????T???u??2?H?\$PH?l$`H??0A^_^?H?d$ E3?E3?3?3???????H?\$WH??0?zH??H??uV?H9SuKH??g??t?A?L?v?
H?? A?QT?֩??u+L?K?PUL?H?? 輩??u??2?H?\$@H??0_?H?d$ E3?E3?3?3??^????H?\$H?t$H?|$ AVH?? 3?H??L??H??t+A?4^蜰??H?и?f;?w,?r??t H??H;?rհH?\$0H?t$@H?|$HH?? A^?2??????H??t6SH?? L??3?H?
???,???u??????????????????H?? [?H??(H??u??????K??H???H??(?L??3?H?
??H??(H?%????@SH?? 蕿?؃??西??H?? [????H?\$H?t$ WH?? H??H???f????D$8???с????#?#?ωL$0?=?tt%??@t ?I??!??t?L$0???4??t$8????&???H?\$@H?t$HH?? _?@SH?? H????????Ë?H?? [????H??(?۾???H??(????H??SH??P??$?????$?????H?H??$??@??H??X?L?@?????H?L$ ????u???6?D$@H??P[????H?\$H?t$WH?? ??H???????t@??y??7???????W?@??tH??	s
????????<@??tH??
s????????? @??tH??s@??t
?????????@??tH??s
? ????????H?t$83???H?\$0??H?? _???H??USVWAVH?h?H???)p?H?MoH3?H?E??L??????A??I????????M_H?D$HH?\$@?D$@H?T$H?D$@??????uw??u@?}u?E?????u????E?D?E_H?D$@H?D$(H?T$HH?EoD??H?L$PH?D$ ??1?o???t4??t0H?D$HM???D$@???]o?UgH?D$0?D$(?t$ ?????????5H?L$H????-????D$@H?M?H3?????(?$?H???A^_^[]??H??USVWAVH?h?H???)p?H?%nH3?H?E??L??????A??I????????M_H?D$H?\$@?D$@H?T$H?D$@?????uw??u@?}u?E?????u????E?D?E_H?D$@H?D$(H?T$HH?EoD??H?L$PH?D$ ??3?H???tA??t=?D$@M???]o??H?D$H?UgH?D$0Z?Z??D$(Z??L$ ??????Z??????3H?L$H?????????D$@H?M?H3?跽??(?$?H???A^_^[]??H?H?H?L$?D$???????L$?D$??????L?
6fI~?I??I??4I???M??I??I??I??K?H??H??H??4I???CoH??L??L??fH~?H??I??fs?I?H??L??L??fH~?H??L?H??6I??I+?H3?H??sI??I??I??H??H??H??fHn?I??H??
I??I??H??@L??I??uM??M??I??I??@fff?L?H??4H??|t1M??I???)f?H??I??I??I??H??@H??H??L??I???I??4I??L?H??4L?fIn?fH~??Y?2?????H??8L?
?4???~?I??I??4I???M??I??I??I??K?H??H??H??4I??āzoH??L??L?????~?H??I????s?I?H??L??L?????~?H??L?H??6I??I+?H3?H??sI??I??I??H??ffff?H??H??H?D$ I??H??
I??I??H??@L??I??uM??M??I??I??I??@@L?H??4H??|#tAM??I??I??H??@H??I??M??)f?H??I??I??I??H??@H??H??L?I??MȐI???I??4I??L?H??4L????n?I??H??@H??I??I??H??4L+?I??4L?M????n???T%r1??\???Y-V1??Yn1??\?????a1??ٹh1????_1??Y%'1???%^1??X???X???\???X?H?D$ H??8?@??(???(%$2??(<2???
?1??\????????~???(??????1??Y???(???٫???\???\???\?????1??\???X???\???(???ѝ
?1H????A?H??1???H??XH?d$x(??L$xL?ڋL$x????E??#?;?uT????uDA??D$x??L?D$xW?D?L$@A???D$8I???L$0?D$(!?D$ ?\???????L$x?D$xH??X????A?H?;1?b?????A? H?C1?N?????@SH??E3?3?D?F?E?HA????$??L$#ȉ\$?T$;?u,3??H?? H?H?T$ H?D$ D??$<ED?D???D???3?H??[?H??H?|$ H?t$0H??H??I??fHn?L?
?1fI~?I??I??4I???M??I??I??I??K?H??H??H??H??4I???CoH??L??L??fH~?H??I??fs?I?H??L??L??fH~?H??L?H??6I??I+?H3?H??s!I??I??I??H??ffffff?H??H???I??H??
I??I??H??@L??I??uM??M??I??I??@ffffff?L?H??4H??|t1M??I???)f?H??I??I??I??H??@H??H??L??I???I??4I??L?H??4L?fIn??YZ0?H?t$0H?|$ H?Ĉ?@SH?? L??H??H??t3?H?B?H??I;?rCI?ظH??HD??辴??t(H???V?????tH?
7?L?ú??uH??t??
?!????3?H?? [????H??eL?ɋ?H3i????H??I?psY2???E3?3?I??H?%?v??H?\$L?L$ WH?? I??I???
?\????H?L?H??e?ƒ???@+?I??L3?L???H?
}????3u??H?
ZeH?
???`?????H?\$0H?? _????H?\$H?l$H?t$WATAUAVAWH?? D??L?5"??M??I??L??K?????L??dH???A??I??H3у????H??H;???H??tH????I;????uI????H??tH;????M????
3?I??A???sH??H?????qs??WuE?X?I??D??H?L?
??????t,D??H??3I????????tE3?3?I???osH??H??u`H??L?5-!??I????H??I;??N???L?dA???@???+?H??I3?K?????3?H?\$PH?l$XH?t$`H?? A_A^A]A\_?H??L?5? ??I????H??t	H????rI??H???rH??t?L??c?@A?ȃ??+ъ?H??H??I3?K???????@SH?? H??L?
p4?L?`4H?a4????H??t I?p??4???H??H??????H?? [H?%t?%?H?? [?@SH?? H??L?
H4?L?84H?94?????H??t I?p??vGX?H??H??????H?? [H?%?s?%?H?? [?H??(L?
]23?L?P2H?Q2?p???H??tI?p0R^G'?H??(H?%js?H??(?H?\$H?t$H?L$WH??PI??I????L?
52L?&2?H?"2????H??tI?p??8H'??H?L$`L??L?Nj??s?0H?D$`H?D$@L?L$4?L?D$@H?T$8?D$4H?L$0?D$8?A???H?\$hH?t$pH??P_??H?%qq?H?%?q?H?%iq?H?%iq?H?\$H?l$H?t$WH??0A??I????L?
?1H??L??1H??1??N???H??tI?pB?|-&u?D??L?Nj?H???Br?3?H??????D??L?Nj??qH?\$@H?l$HH?t$PH??0_??H?\$WH?? ??L?
]1H??H?S1?L??1?????H??tI?p??^e?-ы?H????q???pE3?D?Ë?H????H?\$0H?? _??H?\$H?t$WH?? A??L?
1??L?1H??H???
??Z???H??tI?p??2P>??D?Ƌ?H???Qq???H???loH?\$0H?t$8H?? _?@SH?? H??L?
?0?L??0H??0?????H??tI?p?[Z?]?H??H?? [H?%?p3?H????ȺH?? [H?%?o?H?\$H?l$H?t$WH??0A??A??H??L?
t0??L?c0H?d0??~???H??tI?ps?6.U?D??D??H?׋??rp?
D??H?׋??#?H?\$@H?l$HH?t$PH??0_???H?\$H?l$H?t$WH??PA??I????L?
?/H??L??/H??/??????L??H??t_I?p?WPb??H??$?D??H??$?L??H??$?H?T$@??H?L$8H??$?H?L$0??$??L$(H??H?D$ I????o?23?H???=??D?ˋ?$?L?ljD$(??H??$?H?D$ ?MnH?\$`H?l$hH?t$pH??P_?H?\$WH?? ??L?
5/H??H?+/?L?/????H??tI?p2?T#???H???o?H??趭H?\$0H?? _????@SH?? ??L?
?.?L??.H??.?????H??tI?p(V6ʯ??|nH??(????H??(L?
I-?L?5-H?6-?=???H????H??(???H??(L?
?,3?L??,H??,????L?
?,?L??,H??,?????L?
?,?L??,H??,?????L?
?,?L??,H??,????L?
?,?L??,H??,????L?
?,?
L??,H??,?u???L?
?,?L??,H??,?V???L?
?,?L??,H??,?7???L?
?,?L??,H??,????L?
?,?L??,H??,?????L?
?,?L??,H??,H??(???????H?|$H?=??H???H;?H??[H?H?у??H?H?|$?????@SH?? ??u/H?˯H?H??tH???t??jH?#H??H?@?H;?uذH?? [????H?\$WH??0?d$ ?????????\$$;w?tmHc?H?s?H??H??u?T?A??
$tH?
W?H???Z?????t?D$ H?>?H??H??0?@iH?
)?H???8???H??H?$???뇹?
????D$ H?\$HH??0_????@SH?? ?AH????
?t'?A???tH?I???????c????3?H?CH??CH?? [?H??H?XH?hH?pH?x AVH??H?H??.iE3?fD9t$b??H?D$hH????HcH?p? H?98L8???f?;=?O=ٳ??t`A??H?;?tGH?;?tA?t-??H?E??~I???I??B?<u?I??H?J???>-H??u?-H?_??~1?CL??$??H??A?~(uI???9??I?FH???H?????$?L?`#H??H?H?H+?H??I???I??ID??S???????H?KE??t?EH?F?80tWD?FA??yA???C-A??d|???QA?????????SkœD?A??
|?gfffA?????????Sk??D?DC?|$pu?90uH?QA???3?????H?d$ E3?E3?3?3?????????L??I?[I?kI?sWH??PH??$?I????$?H??H?	W?I?C?E3?M?Kȋ?M?K?D$@??D?D$DE3Ƀ|$@-D?Ћ?$?H??H??$?A??I+?H?l$0DƉD$(H???D?T$ I?HD?L?L$@????t??H?l$(L?L$@D???D$ H??H???H?\$`H?l$hH?t$pH??P_????H?\$H?l$H?t$WAVAWH?? ?|$`H??IcIM??A??t?A?A;?u3?A?9-??H?f?D?0A?9-u?-H??IcAH?????Iu
I?A?80u??2??|$`t
??tH?s?H?sL??I??B?<u?I??H??H??????0H???H؅???H?sL??I??B?<u?I??H??H?????L?|$hA?(uI???f6??I?GH???H???A?F??y:?؀|$`u;?}??H?ǀ<>u?Hc?L?GH?H???r?Lcź0H????H?\$@3?H?l$HH?t$PH?? A_A^_????L??I?[I?kI?{M?s AWH??PH??$?I??H?	H????$?W?I?C?E3?M?K?M?K?D$@跤D?|$DE3??|$@-D?ȋ?$?H??L??$?A??I+?L?t$0?D$(A??D?L$ H???I?8D??$?HD?L?L$@H???آ??t???D$D?ȃ??|>;?$?}5D;?}?H?Ä?u??C?D??$?L?L$@L?t$(H??H???D$ ?????:D??$?H?D$@D??$?H??L?t$8H???D$0H?D$(??$??D$ ????H?\$`H?l$hH?|$pL?t$xH??PA_???H??H?XH?hH?pH?x ATAVAWH?? H?I???????H#?E??I#?H??A??E3?H??H??E??uf??????T??urL?A??I??H#?I#?H??f??v??OsA???H???H??H+?I#?I??u3A??0tI??H???????L#?L#?I???H??L??A??A"Њ??(=uf??t?L9?|??=uf??t?L9?}??2?H?\$@H?l$HH?t$PH?|$XH?? A_A^A\???H?\$H?t$WH??PM??L??H??H??u3H??$??ZH?L$(?A0?Y,H?d$ E3?E3?3?3??w??????oM??uH??$??H?D$(?@0?X,??M??t?L??$?M??tӋ?$???At
?A???v@2??@?H??$?????H?H??H??4%?H=???H???????H??A?H#?u3??-H?H??y
H;?uI???H??H#?H??H?H???H??H???H?BL;?sA??gI?????tA?-I??A?M;?tI??@??H????ҋ?H?L??I??C?<u?3?M;???D?I??L?I??N??膷?????EE3?A???*H?Ӏ? H?????????#?$???A????????tU??t??????ts??t=H??$?H??H?D$H??$??\$@?T$8I??@?t$0?D$(L?D$ M???}????H??$?I??H?D$8H?ϋ?$??\$0?D$(L?D$ M???????rH??$?H??H?D$H??$??\$@?T$8I??@?t$0?D$(L?D$ M????????8H??$?H??H?D$H??$??\$@?T$8I??@?t$0?D$(L?D$ M??????H?\$`H?t$hH??P_?H?d$ E3?E3?3?3??????????H?\$H?l$fD?L$ VWAVH??@3?I??L??H??H??uM??tH???$??H??t?	?H??$?H?????v
??)8_(uH???30??D?L$xH?G?H????u5A??L?D$hL??H?\$hI???U?H??t?????8_0t?_,???7H9?8u[??fD;?v6M??tH??t
L??3?I?????*?G,?G0H?\$`H?l$pH??@A^_^?M??tH??tyE?H??tG???H?D$h?\$hH?D$8L?D$xH?\$0A??l$(3?L?t$ ?#P??t9\$hu?H??t?3???lV??z?u???M??tH??t
L??3?I?????"?w,E3?H?|$(E3?3??G03?H?\$ ?/??????>???H??H?XH?hH?pH?x AVH??0E3?I??I??H??H??H???#M???D82uH???fD?1?
E8q(uH???.??H?SD?RA????u'L?
a?H?\$ L??H??H???Z??????H???L9?8uH?????f???H?fD94H}aD?JA??~+A;?|&A??H??L?ƺ	??A?ʉD$(H?|$ ?nN??uH?CHcHH;?rD8vt	H?C?@?K?C0????C,*?;A??A?H??L??A?????D$(A?QH?|$ ?N??tŸ?	L?5}?3?H?\$@H?l$HH?t$PH?|$XH??0A^?H??(H??u?Ε????g????????AH??(???H?
?E3?H??H9
,????@SH?? H?ٹ?]??H;?t&??N??H;?uH?????????ް??u2???H?? [???H?\$WH?? H??????????????H;?u	H?=????????H;?uzH?=??????C??uc??K?H?H??u9?????3?H??????H?H??uH?K?CH?KH??C ??H?CH?H??C?C ??2?H?\$0H?? _Ä?t7SH?? ?BH????	?t I??H???o????c????c H?cH?#H?? [??D$H?L$?L$H?D$H3?}H??H3?H?L$?D$?(??D$W?L??f.?z	u3??H?D$??L??I??0fD?????T$H?? ???u????E3ɹ???f/?A??A??u$?D$??D$??y???D$????D$t?T$?D$???f#?f?D$E??t
??f?f?D$?D$???D$H?D$H??0f#??D$???f?f?D$?D$?D?L$?????L$????L$H?D$H??0f#º??f?f?D$????D$A?
????D$??H?D$H??0f#??D$??f?f??f?f?D$?D$??D$H?D$H??H?? ???u
??u?Á???u
??u??A??H??H??0fA#?fA;?u??A??fA;?u????u??t??3?Ë??? t??2?t??'?t?????t?????#?ɋ???H??H?XUVWH?h?H???)p?H??AH3?H?EH?}??L???U?H?U??]?(?????u1!D$0H?U?e??H?E?H?D$(H?M?H?E?D??D??H?D$ ?H?}???8??????e??t%??t!?E?W?H?|$((֋??D$ ???????????H????????E?H?MH3?菑??L??$?I?[(A(s?I??_^]????H??H?XUVWH?h?H???)p?)x?H??@H3?H?EH?}??L???U?H?Uw(?(??????u??E?H?U?d$0H?M?????uǃ?D?ΉE?D??H?EwH?D$(H?E?H?D$ ?H?}???4???????c??t%??t!?Ew(?H?|$((׋??D$ ???????????H????????EwH?MH3?苐??L??$?I?[(A(s?A({?I??_^]???H?\$UVWATAUAVAWH??P3?)t$@??)|$0??M??\$$H??D?D????tE??y?O?????????b?D??tI??	s
????????D?D????I??
???N????I?Ź`H#?t`H= t?H=@tH;?ux?Ef/F?
?Vw\?S?Ef/-?
w2?;?:?Ef/?
v#?"?(?Ef/??
v
????W??
?E????A???wI???l?E??A??W?D#?f.?z?DH?T$ ?w????L$ ??????D$(??????}?Y?D??(??	H?D$(D??f/?D??@??$?A??H??0f??fA?f?D$.@?lj?$??????}W?D$(????+ыL$,??#މ?$?t
E??D??DD???D$(@??t???D$(??H+?uϋ\$$??$??L$,D??$??t$(E??t
W5??
?t$(f/?A?DŽ?uE??tE?E??t=t
=u.D2?E???@8?$?t@8?$?u@?t$(tHt$(?t$(A??uE??tI???i??????E??tI??s
? ?P??????(t$@??H??$?(|$0@?Nj?H??PA_A^A]A\_^]?????X?????H??H?d$0H?D$xH?D$(H?D$pH?D$ ?H??H??H??H?XH?pH?x H?HUH??H?? H??A??3ҿ
??QH?E?PH?E?PA??t
H?E????HA??t
H?E????HA??t
H?E????HA??t
H?E????HA??t
H?E????HH?MH?H??????3A??1AH?MH?H??	????3A??1AH?MH?H??
????3A??1AH?MH?H?????3A??1A?H?MH????3A??1A?????H?ШtH?M?I??tH?M?I??tH?E?H??tH?E?H?? tH?E?H??`H#?t>H= t&H=@tH;?u0H?E??'H?E? ?H?E??H?E? ?H?E??H?E? ?H?E?????? ??H?E	0H?EH?u8?H ?}@t3H?E?????!P H?E0?H?E?HH?E?H`H?E!P`H?E??HP?HH?MA??????A A#????A H?E0H?H?EH?HH?E?H`H?U?B`A#????B`H?EH?H?PP????3?L?M??D?B?.IH?M?A?tH?3?A?tH?3	?A?tH?3
?A?tH?3?A?tH?3???t0??t??t??u(H?`?H?3
H?+?H?3H?+
?H?#?????}@t?AP??H?APH?H?\$8H?t$@H?|$HH?? ]????H??HH?D$x?D$0H?D$(H?D$pH?D$ ?????H??H???H??(??t?A???w膉???"??y????!H??(???H?\$?\$ ?T$UH??H??PL?
x??I??E3?9t=A??H?
2
H??H;?|?H?e?H?M8??????????w????E0H?\$`H??P]?Ic?H?I?D?H?E?H??tNjE ???H?M8?E??E$?E?E(?E?E,?E?E0?E??E4?E?]??V???H?M??i\??u???
????E?????H?\$WH?? H??H??H??u
H???+????H??u?w????H???v-?f????3?H?\$0H?? _?躆??t?H???R?????t?H?
3?L??L??3??}GH??t?????H?\$WH?? ?????f;?tH?f;?sH?:???H#??.3?f?L$@L?L$0f?|$0H?T$@?OD??褣??t?D$0??3?H?\$8H?? _?H?\$H?t$H?|$UH??H??H?o7H3?H?E???Hc?I??H?M??????G3?=w
H?E?H??y?H?UЋ???A???H?f9H}?M?E?J@?}??]??
@?}?E?ʈ]?3?D?T$0?E?L?E?f?E?H?MЋBA?҉D$(H?E?H?D$ ?5??u8]?tH?Eȃ???3???E?#?8]?tH?Mȃ???H?M?H3??1???L??$?I?[I?sI?{ I??]?@SH?? H??H?!??1q???H?L$0?RH?H?H??t?bH?b(H?"H?b?J???Oq??H??H?? [??̃I?3?H?H?A?AH?AH?A(?A?H?\$H?l$H?t$ WH?? H?=	?H??Hc-??H??H???H?,?H;???H?H??t=?C??
?u-H???p???
K?C????
??Ku???
??$uXH???W???H??벺X?J??$???3?H?????H?H??t0?H?E3?H???H??0????H???K H???????H??H?&H?\$0H??H?t$HH?l$@H?? _???H??H?XH?hH?pH?x AVH?? 3?L??H?H?ىAA? ?)??A??I??A?fA;?t?f??at!f??rtf??w?u???A?
?	?AI???3?D??@??D??D?ݍu
fA9(?HA???S????A+????tH??t;??t$+?t????E??????a?+????@????@??A??@?????@???????@?׃???C??????C?E????D	3A?A?????Ttg??tS??tE??u0?s?
E??u$?kA?A???$???u??????s@???????????HɃ?L????????E??I?xID??H??fD97t?E??uf9/???C??A?H??H???O???????H???H???fA;?t?f??=??H??fD97t?A?H??H??????u?+?BA?H??H??????u	?+?p? A?H??H???ʞ??u"?+?pH?7?H?I?fA;?t?f???1????s????????H?l$8H??H?\$0H?t$@H?|$HH?? A^???H??H?XH?hH?p WH??PH??I??H?H?A???????3???@?D$0?D$8:?tGD?D$0H?L$pD???D$ ?H??让??u&?؁?D$4?	G?D$p?_H?_(H?_H?H?߉GH?l$hH??H?\$`H?t$xH??P_?H?\$L?L$ WH?? I??I?؋
?4??H?HcL??H?SH??H??L?
??A???O??I??B?D?8t	?????B0?B,	?????΃??H?\$0H?? _?̉L$H??XLc?E3?A???u?B8D?J4?B0?B,	???x`D;y?sWI??L?m????I??H??H??I???D?8t4H?D$`H?T$@D?D$xH?T$0D?D$0L?L$xL?D$8H?D$8H?L$p??????,?B8E3?D?J43??B0H?T$(?B,	3?L?L$ ?O??????H??X????H?\$H?|$UH??H??`H?e??=??E??E??E??E?u?3?E??E?H?U??O?}???uH?M??????}?t?]?H?M??????X ?}?t?]?H?M??????X$H?\$p??H?|$xH??`]?H?\$H?t$WH?? Hc?H????l?H???u3??ZH?'????u	@???u
;?u ???t?6??H???)?H;?t?????H????<??u??&>?؋??E?H??L?Ä???H??H??H??I???D?8??tH?֋???~??????3?H?\$0H?t$8H?? _????@SUVWATAUAVH??0Hc?M??H??H?
e????L??I??3?H??L??L??J?ѹH?L$xN?\?(D?aM??t
fD9"uBL?8?B?d?8?J?JH??H??H;??HA?E?i??fA;??L?IfA;?tI???#L;?s5fE9!?HDD$xH?A??fE9!fAE?f?A?H??H;?r???L??$?H?|$ A?H?T$pI???$=????9?$???I??L?m?H??A???I??O??B?D?8Ht>?D$pfA;?ufD?#?{fD?+f?D$xI??J???Dx?????????A??M???A????A??t?A????A;?AB??????3?H??????3??????L??H??u??w?????w????>3?A??D?B?L?L$@A?D??$?J??J?D?0J??3?L?|$PB?D?8HD?W
??B?D?:A:?tw??tsA?H??|J??M???A??F?T?:E??tSJ??B?L?;A:?tE??tAA?A?z?J??M???F?T?;E:?u'J??B?L?????D??H?׋??????F?H?????F????u]H???c???;?tm???	????????H??8????H??UVWATAUAVAWH?h?H???H?E?????H?XH??H3?H?EI??L?E?Lc?H??L?mL?m?I??H?M?I??H??H?E?H????????H?M?L?L?I??@88t??I??H??I??|?M????L?U?K??Ӡ?B?L?>F??@GA??A??+‰E?H?U?H+?Lc?L;??qH??A??D
?H??I??I;?|?M??~H?M?I?H??荼L?U?L?r???H??K??Ӡ?H?B?|?>H??I;?|?H?}?H?E?H?ENj?A??????D??D??L?l$ L?M?H?U?H?M???H????v?E???Hc?H???N??@GA?ML?E?L+?Hc?I;???H?}?H?uϋǃ?????D??D??H?E?H?D$ L?M?H?U?H?M?譄H????I?E??L?m??L?U?O??Ӡ?C?L?=??t!C?D?>?E??E???C?L?=A?H?U?ID?I?EH?fB9??I??Hc?H;?|?S?cM??~3H??L?U?I??H?E?L??K??Ӡ?J?Ȋ2?D>??H??Hc?I;?|?DC?%?C?D?>K??Ӡ?B?L?=?B?C???'?H??H?MH3??%i??H??$ H???A_A^A]A\_^]???H?\$H?l$VWAV?P?k??H+?H?VH3?H??$@Lc?H??I??A??H??H?
?mA???I?I??H??K??L?t?(3?H??GL;?soH?\$@H;?s$?H??<
u	?G?
H?ÈH??H??$?H;?r?H?d$ H?D$@+?L?L$0D??H?T$@I???O%??t?D$0G;?rH;?r????&?H??H??$@H3??h??L??$PI?[ I?k0I??A^_^???H?\$H?l$VWAV?P?|j??H+?H?RH3?H??$@Lc?H??I??A??H??H?
?lA???I?I??H??K??L?t?(3?H??GL;???H?\$@H;?s1?H??f??
u?G?
f?H??f?H??H??$>H;?r?H?d$ H?D$@H+?L?L$0H??H?T$@?I??D???4$??t?D$0G;?rH;?r???x%?H??H??$@H3??g??L??$PI?[ I?k0I??A^_^????H?\$H?l$VWATAVAW?p?\i??H+?H?2H3?H??$`Lc?H??I??E??H??H?
?kA???M?M??I??H??K??L?d?(3?H?M;ƉC??H?D$PI;?s-?H??f??
u?
f?H??f?H??H??$?H;?r?H?d$8H?L$PH?d$0L?D$PH+??D$(U
H??$H??H?L$ D?ȹ??3??????tI3???t3H?d$ H??$??L?L$@D??H?I??D+???"??tt$@;?r͋?A+ljCI;??4????	$?H??H??$`H3??e??L??$pI?[0I?k@I??A_A^A\_^?H?\$H?|$UH??H??`H?e??=?h?E??E??E??E?uy?E??E?L?M??O?}???uH?M??????}?t?]?H?M??R????X ?}?t?]?H?M??=????X$H?\$p??H?|$xH??`]?H??H?XH?xL?` ?HAUAVAWH??@I??E??L??Hc????uA?A8A?a4A?A0A?A,	?????;=?ms~H??L??I??H??i???H??H?L$0J???D?8tV???eA???H?]iJ??H?L$0?D?8u?C0?C,	?C8?c4?L??E??I?Ջ??`D?????.fA???4H?\$(A?A8A?a4A?A0A?A,	H?d$ E3?E3?3?3??@??????H?\$hH?|$pL?d$xH??@A_A^A]????@USVWATAUAVAWH??H??h3?E??Lc?I??L??E????H??u7A?A8E3?A?y43?A?A03?A?A,E3?H?\$(H?|$ ?????????I??H?Wh???I??H??H?M?L?,?H??B?t?9?F?<w	A???Шt?B?D?8 t3?A??D?B?%???A??H?}??~H?U?L??g???I??B8|?8?@8{(uH???????H?U?L??gH?CH9?8uI??B8|?9??I??H?U?J?L?(??!????@????@??@???;O?$>H?}?M??M;???u?A???f?E??ʌ?M?f;?u6???u?f??
u?
諌?
f;?u?Ɖu???I??M;?????e ?E??E??H?\$ M??H?M?A???R?????x?H?U?L??fI??B8|?8}Q??@??t6??t????E??H?M?M??A???????E??H?M?M??A???????E??H?M?M??A???m????J?L?(L?M?3?E??H!D$ I??H?EЉE??P??u	???EЋ}??E??E?H?U?L?;fH?E?H?? ??u]?E???t,??u?C0?C,	?C8?C4?????M?H???A`??????I??B?D?8@tA?>t?c4?C0?C,?C8?i????E?+??3?H??hA_A^A]A\_^[]?H??H?XH?hH?p ?HWH?? H??I??H???;????KLc???????;3?H?S+{H?BH??C ?ȉC??~L??D??A???h?????H?K;??D$0??nA?B??v"I??H?5eI??H?????H??H??H???H?f?B8 t?3?A??D?B?????H???u???K??L??H?T$0A?A???????????H?\$8H?l$@H?t$HH?? _???@SH?? ?Q????t??^?A??t	H?AH9tL?I??cH??H???t;A?L?D$83?H??????t!H?T$0H???B??tH?D$0H9D$8???2?H?? [????H?\$H?t$WH?? ??I??H??H????????C?u?G,	?G0??K????x?C???t	?G,"?ߋC?tH???'????c??t?H?CH???c???K??c??c?C??uH????????uH???L??H??@?????????t?@??H?\$0H?t$8H?? _??@SH?? ??g??u9!\$0?eH?%`H?H ?y|H?L$0膪??9\$0u??ˇ
_g??H?? [????@SH?? 3ۉ\$0eH?%`H?H 9Y|H?L$0?????|$0t???H?? [?H?\$H?l$H?t$WATAVH??03?I??I??H??L??D??H??uM??t@?H??u1H?D$x?H?D$(?@0?p,E3?H?\$ E3?3?3????????H??tf?M??tH?L?D$pH?|$xL;?LG?I?????v??EL??H??H???zH???uH??tf?8_0t?_,???GH??H??t4H;?v*H?|$p?tf??"?w,?G0H?|$(?^???H??A?Pf?\F?M??tI?A??H?\$PH?l$XH?t$`H??0A^A\_?H??H?PVWAVH??@H?@?????H?XH?h I??I??H??E3?A??H??tM??u3??fD?1H??u-A?A0A?A,H?\$(L?t$ E3?E3?3?踵??H????tE8q(u
H???i???H?T$hH?C?H????u$L?t$`H?\$ L?L$`L??H?T$hH???nu?.H????L9?8u&H??t?f?D84tH??H??H;?r?H?????l$(H?t$ H???D??L?W
?NH?H????????zt?C0?C,*fD?6?D??L?T$hM?…?t*A??E80t"A?H?CH?fD94Q}I??E80t?I??E????E+?H?C?l$(H?t$ E??M?º?H??H?H??uQ?H???L9?8uH??D84:u??6???D?t$(L?t$ D??L?º	?H?H??u?C0?C,*????H??H?\$pH?l$xH??@A^_^?H?\$H?|$UH??H??pH?e??=?]?E??E??E??E?u?
?E??E?H?E?H?D$(H?E0H?D$ ?????}???uH?M??????}?t?]?H?M?茰???X ?}?t?]?H?M??w????X$L?\$p??I?[I?{I??]?H?\$H?l$H?t$WATAVH??03?I??I??H??L??D??H??tM??u=?H??t1H?D$x?H?D$(?@0?p,E3?H?\$ E3?3?3????????H??t?M??tH?L?D$pH?|$xL;?LG?I?????v??CL??H??H???wH???uH??t?8_0t?_,???EH??H??t2H;?v)H?|$p?t??"?w,?G0H?|$(?a???H??A?P?\0?M??tI?A??H?\$PH?l$XH?t$`H??0A^A\_?@USVWATAUAVAWH??H??xH?MH3?H?E?E3?H?U?D?e?I??I??L??A??H??tM??u3???H??u-A?A0E3?A?A,3?E3?H?\$(L?d$ ?????H????E8a(uH??????H?U?H?CD?PA????u!L?M?L?e?L??H?\$ H?U?I??????bH??8M????H??uLH???AA??fD9w'?A?7?H??H?U?f???H??H;?r???C0?C,*?R????xuoH??t$H??H??fD9 tH??H??u??H??H+?H??H??H?E?L??H?D$8D??L?d$03҉|$(A??L?|$ ?}Hcȅ?t?D9e?u?E8d?H?A?HE??H?E?L??H?D$8H???L?d$0D?Ή|$(3?A??L?|$ ?3Lc?D9e??F??t	I?F??G?w??z?*H????H?U?D?h?H?KL?E?L?D$8A?L?d$0L?‹AA;ŋIAO?3҉D$(H?E?H?D$ ?????D9e???????Hc?I;???J?2H;?w4I??H??~?D
?C?7??t H??I??H;?|?H?U?H??H?U?L;??a???I???H??u/?I??f??tA??fA;??O???H??H???f??u?H???LH?E?L??H?D$8H???L?d$0D??D?d$(3?A??L?d$ ??
H?H??tD9e?uH????C,*?C0H??H?M?H3???U??H??xA_A^A]A\_^[]??H?\$H?|$UH??H??pH?e?H?E8?E??E??E??E?H??t??=?Xu??E??E?H?E?H?D$(H?E0H?D$ ?;????}???uH?M??????}?t?]?H?M??v????X ?}?t?]?H?M??a????X$L?\$p??I?[I?{I??]???@UATAUAVAWH??pH?l$@H?]`H?uhH?}pH?JH3?H?E L??M??H??E??H?M??T??H?EE3?E3?A??I??D?h?M???Hc???u3???H??H?H?HH;?H?H#???H??w1H?BH;?w
H????????H?????V??H+?H?\$@H??t"????H???|???H??H??t
???H??H??H??tTD??L??A??I??蹡????t?D???A??A????H?H?d$8H?d$0I#?D?D$(A???H?T$ L??3??????	3?3?H??tH?O??9??u?N????}tH?E??????H?M H3??S??H?]`H?uhH?}pH?e0A_A^A]A\]??@SUVWATAVAWH???H??H3?H??$?H??$03?A??M??L??H?>????L?L$@?D$ ?D??I???!???Hc؅?tC?WH??????3?H?蝐??H9>?H??C?Lc?L?D$@H????~???3????1??z??E3ɉ|$ D??I??I??????Lc?????I?Ϻ觛??H??H??t%L??D?|$ D??I??I???}?????tH??H??H?????H??????????t?;?u;E3?E3???I??????Lc???tQI?ϋ??A???H??H??t?E??L????I???ş??랅?u)???|$0??L?D$0D??I??襟????t?D$0????????H??$?H3???Q??H???A_A^A\_^][?E3?H?|$ E3?3?3??=????@UATAUAVAWH??`H?l$0H?]`H?uhH?}pH??H3?H?E D??E??H??M??H?M?~Q???????uH?E?x???E??M?ċ?҃d$(H?d$ ??????Lc???u3???I??H?H?FH;?H?H#???H??w1H?AH;?w
H????????H????S??H+?H?\$0H??t????????H??H??t
???H??H??H??tPL??3?H???ϧE??D?t$(M??H?\$ ????3D??H??E??tL???H??A???E??H???	3?3?H??tH?H??9??u?????}tH?E??????H?M H3??5P??H?]`H?uhH?}pH?e0A_A^A]A\]????@UATAUAVAWH??`H?l$PH?]@H?uHH?}PH?b?H3?H?EHcu`M??H?UE??H?م?~H??I???U??;ƍp|??D?uxE??uH?D?p???D??M??A??҃d$(H?d$ ?????,Lc????bI??H?H?HH;?H?H#??-H????????H=w-H?HH;?wH??H???H????Q??H+?H?|$PH??t"????H???a???H??H??t
???H??H??H????D?|$(D??M??H?|$ ?A???????H?d$@E??H?d$8L??H?d$0A??L?e?d$(I??H?d$ 訞??Hc????h?D??tR?Ep???*;??KH?d$@E??H?d$8L??H?d$0A?ՉD$(I??H?EhH?D$ ?P??????????H??H?H?AH;?H?H#???H;?w5H?AH;?w
H????????H????P??H+?H?\$PH?????????-???H??H??t
???H??H??trH?d$@E??H?d$8L??H?d$0A?Չt$(I??H?\$ 覝????t1H?d$83?H!T$0D?΋EpL??A?΅?u,!T$(H!T$ ?w????u'H?K??9??u?????3?H???+?D$(H?EhH?D$ ??H?K??9??u??Պ????3?3?H??tH?K??9??u蹊????H?MH3??M??H?]@H?uHH?}PH?eA_A^A]A\]??H?\$H?t$WH??pH??I??H??A??H?L$P??L????$?H?L$X?D$@L?ˋ?$?D?ljD$8H?֋?$??D$0H??$?H?D$(??$??D$ ?o????|$htH?L$P????L?\$pI?[I?sI??_???@SH?? 3?H??t
H??tM??uf???K?????m?????H?? [?L??L+?C?fA?M?If??t?H??u?H??u?f??K???"????H?\$WH?? H?ٺhK????????3?H?C?a???H?{t??K@H?C???KH?C?H?C?{ ?cH?H?\$0H?? _??H?\$L?L$ WH?? I???
?5???H????˃??H3?TH?ˋ??5??H??H?\$0H?? _????L??H??(?M?KM?C?D$8I?S?D$@I?K????H??(???H?
MTH?
NTH?
OTH?
PT????H?\$ VWATAUAVH??@??E3?D!l$xA?D?t$p??t!??tL??t??tB??t=??t?A??w}??????????	????????tt3???m??L??H??u???H??$?H??@A^A]A\_^?H?H?
?
H??H??	9XtH??H;?u?3?H??u?I????V????H?xE2?D?t$p?"H?=WS?H?=FS?H?=MS?H?=,SH??$?E??t??4???H?7E??tH?4??ȃ??H3?H??H????H???A?	??w=A??s7I?EH??$?H?D$0I?e??uS?k???@?D$x?D$ ?
k???@???u2H???
H??IEH?
?
H??H?H?D$(H;?tH?`H????H???H??A?	E??t
??3??H??u3???????u#?j??I?p3?0O???P??H??L?	A???I?ps?PI??Ƌ?H??H?	?҃?w?A??s?H??$?I?E??u??@j???L$x?H?E??t?N?3????hY??????H??(??o??H??(??o??5?w ???;????	wA??A??r??*u/3??+????t ????v????v????t܁???u??H?%???H?\$W????E?ك?I??A??3???5?w???;????	wA??A??r3??*?&????t&????v????v????t????t?????H?D$HE??L?L$@L??LE?LE?tH??t?8L?D$HL??L?L$@E??H?\$_H?%w???L??L??E?M?RA?M?[A?@???E?H ?B?EGȍJ ??A??G?+?uE??u????H??(?=aJu-H??u?F????*???????H??(?H??t?H??(????E3?H??(???H?\$H?l$H?t$WAVAWH??@H??H??H??u?8F????Ѡ????????H??t?I??H?L$ ?F??H?T$(H??8uH??H?????????A?L?=ߤ
?H?[fA;?s??A?DOt
H??????H?T$(?sH?T$(?H?????fA;?s??A?DOt
H??????H?T$(??rH?T$(??+?u??u??|$8tH?D$ ??????H?\$`H?l$hH?t$pH??@A_A^_??H??p?p??NH???NH???????????NH???H??NH???H??N3???H;?s????3?H;??????H??H?XH?hH?pH?x AVH??@E3?A??H??H??H??u$D8r(t
H?J蟂??D?s(L?sL?sL?s ? fD91uTL9ruED8r(t
H?J?o???D?s(??	???H?CI??H????Ѓ??…????K(H?S????H?CD?0?L?t$8A???L?t$0L??D?t$(3ҋ?L?t$ ?p???Hc???u?????hC????C????H?SH;?v@D8s(t
H?K?ԁ??D?s(H???p???H?CI??H????Ѓ?HDօ????K(H?S??u;H?CA???L?t$8L??L?t$0?͉T$(3?H?D$ ?????H?H???l???H??H?C 3?H?\$PH?l$XH?t$`H?|$hH??@A^??H?\$UVWATAUAVAWH??H??PE3?L??H??H??u?C??A?]?距??????W?L?:H??E?L?}?H????H?UHf?EH*?H??D?}J??uH?H??u??H?E????9HuD8u?tH?E?????D???6芊????uD8u?tH?E?????A??D8u?tH?E?????E??L?D$0H?U?H?M?c???L?u?3҅?I??HEʀ9.u?A??u8U?t:I???{???0<.u8Qt?M??M??H???????D???ut8E?tI????z??L?l$8H?U?H????E3????????I?$I?T$H+?H??H;?tH+?H??L?
????E?F?kH?????D8t$ht
H?L$P?z??3??+?}?tI???qz??H??????|$ht
H?L$P?Wz??A??H??0H3??H??t"???????uH?"?H?L$0H;?t?Kq??H?H???H?D$0??H?\$0????H??tH??H?\$8H?t$@H?? _??)3???H??(?=?=uLH?
?H?
?=H???H?
??H??=H?
}=?U??L?
?=L?????????????w=?H??(?H??(?T??H?T=H??H??(?????H?\$H?l$ VWATAVAWH??@H?K?H3?H?D$8H???/???3ۋ????TL?%h?D??I?čk98?ND?H??0A??r?????-???U???????;?u.H?FH?? ?^f?^H?~?ùf?H?????????H?T$ ????????H?N3?A??@??|$ ?~H?? ??H?L$&8\$&t,8Yt'?A?;?w+z?(?L7?H+?u?H??8u?H?F???H?H+?u??N??t.??t ??
t;?tH???"H???
?H???
?H???
?H???
H?? ???n????9?;???????H?N3?A??h?A??M?L$L?=??A?L?@I??M?I??A8t>8Zt9D??BD;?w$E?PA??sA?D?AD2D??BD;?v?H??8u?I??L?L+?u??~?n??t)??t??
t
;?u"H??
?H?ҿ
?H???
?H???
L+?H?? H?V?K?<#?D?f?H?RH+?u?????H???G???3?H?L$8H3??T0??L?\$@I?[@I?kHI??A_A^A\_^????H?\$H?t$WH??@??A??H??A??H?L$ ? 0??H?D$0??@?|u??tH?D$(H??Q??u3????|$8tH?L$ ????H?\$PH?t$XH??@_?̋?A?3?E3??z?????H??(?f?H?:?Q?H?:?H??(????H??H?XH?hH?pH?x AVH??@??3?H??H??u3???H??f90tH???H??f9tEu?H?lEH??f9uu?H?t$8H+?H?t$0H??H??L??D?͉t$(3?H?t$ 3?????Lc???uH??????I???-???H??H??u	3??vl????H?t$8D??H?t$0L??D?t$(3?3?H?|$ ??????u
H???El???
3??u???3????H??H?CH;?u?2???H?\$0H?t$8H?? _?H?\$WH?? H??H??H;?t$H?C?H??tI?p;Y>u???3???t?ge??H?KpH;
4?t?Ue??H?KxH;
*?t?Ce??H???H;
?t?.e??H???H;
?t?e??H???H;
?t?e??H?? [???H?\$H?t$H?|$UATAUAVAWH??H??@E3?H?M?L!}?H??L9?@uL9?HuE3?L?5??pA???A???p??3?L???d??M??uA????I?͋???o??3?L???kd??M??u
I???^d????L9?@?NH??I???o??3?L???:d??M??u
I???-d??I????H??@I?FL??H?D$ A?H?M?A???????I?N A?H?L$ L??H?M?A?Ջ??????I?N(A?H?L$ L??H?M?A????????H?M?I?F0A?L??H?D$ A??????A?M?n8L??L?l$ H?M??A?Q??n???A?PH?M??L??I?F@H?D$ A?Q??M???A?QH?M??L??I?FHH?D$ A?Q??,????H?M?I?FPA?L??H?D$ 3??
????H?M?I?FQA?L??H?D$ 3???????H?M?I?FRA?TL??H?D$ 3???????I?FSA?UL??H?D$ 3?H?M??????H?M?I?FTA?VL??H?D$ 3??????H?M?I?FUA?WL??H?D$ 3??r????H?M?I?FVA?RL??H?D$ 3??S????H?M?I?FWA?SL??H?D$ 3??4???A?H?M??L??I?FhH?D$ A?Q?????A?H?M??L??I?FpH?D$ A?Q??????A?H?M??L??I?FxH?D$ A?Q??????A?H?M??L??I???H?D$ A?Q?????A?PH?M??L??I???H?D$ A?Q??????I???A?QH?D$ L??H?M?A?Q??e????t*I???e???I???ea??I???]a??I???Ua????cI?U??????HЀ?	w?
A?IՊ??u??<;u?L??A?HA?M?@??u?A???H?b???AHAN@ AF H0AN0@@AF@HPANP@`AF`@pAD?AH?DI?D?A?H???H?I?H???H?HI?NH???H?HI?NH???H?HXI?NXH???H?H`I?N`E?,$M??tE?/H???H??t??H???H??t$???????uH????`??H?????_??L???3?L???L???L?\$@I?[0I?s8I?{@I??A_A^A]A\]???H??tfSH?? H??H?	H;
?t?_??H?KH;
?t?_??H?KH;
?t?_??H?KXH;
;?t?t_??H?K`H;
1?t?b_??H?? [?H??H?XH?hH?pWATAUAVAWH??@3?H?H?H??H?X?H9?HuH9?@uD??H?5??!A???A???sj??H??H??uA???WH??????z???HN@ F H0N0@@F@HPNP@`F`@pD?H?DH?D?0x??3?L???~^??M??u
H???q^???u???A?H9?H?2H????w??3?L???J^??M??u
H???=^????A?$H?L$0H??HA?L??H?t$ A???????H?NA?H?L$ L??H?L$0A?֋??????L?nA?L??L?l$ A??H?L$0?????A?H?L$0?L??H?FXH?D$ A?Q?????A?H?L$0?L??H?F`H?D$ A?Q??x????t$H??????H???x]??I???p]??A???I???????I?U?
?HЀ?	w?
I֊??u?E?7E?4$?T<;u?L??A?HA?M?@??u???H???H?H???H?FH???H?FH???H?FXH???H?F`E?7L??H???H??t??H???H??t$???????uH????\??H????\??L???3?L???H???L?\$@I?[0I?k8I?s@I??A_A^A]A\_???H?\$WH?? H????H??0?U??/???H??@?X??H??H?X??H??P?X??H??`???????H??????????H??????????H??0???????H????U??????H????0X??H????$X??H????X??H????X??H?\$0H?l$8H?? ^?H?\$H?t$WH?? 3?H??H9?Pu	H???
?Q????;c??H??H??tH??H???p?????uH??????H??H???W????&3?ǃ\?W??H?? ?????3?H?? H?\$0H?t$8H?? _?@SH?? 3?L??H??t
H??tM??uf??:??????s????H?? [?f9tH??H??H??u?H??ufA???L+?A?f?H?If??t?H??u?H??u?fA??????"???H?\$WH?? E3?H??L??M??u,H??u,H??t??????Is??D??H?\$0A??H?? _?M??t?H??t?M??tM??ufD???I??fD9tH??H??H??u?H??ufE??I???uL+?A?f?H?If??t?H??u??2M??t$A?M?@f?H??f???x???H??tH??u?H??ufD?H???Z???I???ufE?T[?D?RP?E???fE??????"?(???H?\$H?t$WH?? E3?I??L??M??u1H??u1H??t??????@r??D??H?\$0A??H?t$8H?? _?H??t?M??t?M??ufD???H??ufD??H+?H??M??I??I???u?f?H?Rf??t?I??u??3?H??f?H?Rf??t?I??tH??u?M??H?F?HD?H??ufD?M???g???I???ufF?TY?E?PP?R???fD??????"?5???E3?L??fD9H??t)M??fE9tA?f9tI??A?f??u?H??fD9??H+?H????E3?fD9	t(L??fD9
t?f;tI??A?f??u?H????H???3??H?\$WH???H?,?H3?H??$??IH??H?L$0?U??d????~2I???H?D$03?I??fB9H?KH?T$0?/???H???D?oV?????CD?OA??L?D$0H??ҁ???????a????t?H?H?T$0??????K??u??L?ωKI??fB9,Nu??8??uP9k??LcCH?T$0H??/?????KL??I??fB9,Nu?H??XI??L??I???R????????C?#?;??Z?CL?D$0??A?@H??ҁ????????`?????????H?H?T$0?)???????C??	?C9ktU??H??X?Cf9)??H??f9,~u????C?m???H???????]????KL??I??fB9,Nu??*???9ktH?H??H??f9,Ju?;KukH?????uCL?D??I??M??t#A?H???B?f??v
f??af??w?A????H??H??fA9,Au?D;?tK?kH??Xf9)u:H??f9,~u????H??X?Cf9)uH??f9,~u?L?OL??I?????????u3?C???Ѓ?H??$?H3????L??$?I?[(I?k0I??A]_^?E3?H?l$ E3?3?3??_l?????H?\$H?t$WH??0H?+?H3?H??$ H???P3??A?xL?D$0H????K??H??ҁ???????#_??3???u?s?F?IH?H?T$0?L?????u-I???I??fB94Ou?I??H??XL?ǺU???????u4?K?C???Ѓ?H??$ H3????L??$0I?[I?s I??_?E3?H?t$ E3?3?3??sk?????H?\$H?t$WH?? 3?H??H??H????f91??H??
??I????H?̯
H????????tOH?ѯ
H???u?????t? A?L?D$0H??X??]????t/?D$0??}???H?\$8H?t$@H?? _?H???<-???? ?3??????@SH??@H??H3?H?D$8A?	L?D$ H??A?QP?]????tA?	H?L$ H???-????u??3?H?L$8H3????H??@[??H??H?XH?hH?pH?x ATAVAWH?? 3?M????L?????xA??t?I??>?+???Hc?L??I??K?&?P?????u
I?L$I?I??
y?}???u;?~???H?l$H??H?t$P??H?\$@H?|$XH?? A_A^A\????H??H?XH?hH?pH?x ATAVAWH??0I??L??H???0??E3?H??H???H???D?cL??XH?;H?sfE?'H?fD9 tL??A?T$H?
O?
?????H?fD9!H??tMH?fD9 t?h?????1???D9cuAL??H?
??
?@??????tH?H??fD9 t?2???????????|???D9c?SH??fD9'ufD9!u????H???7????؅??&=???????????
M??tA?H????H?? I???fD?&I??fG9$Ou?I??M?ǺUH???|???????D?H@L?źH???H[??????H???A?@L?ǺH???#[???????_H????\H??u?P.H????\H??tA?@L??H??A?Q???Z????tIH??????uA?L?D?
H??A?Q???????u>?A?
H?Ћ?E?A?bE??3?H?\$PH?l$XH?t$`H?|$hH??0A_A^A\?E3?L?d$ E3?3?3??Bg????H?\$H?l$H?t$ WH?? H?
?H3?H??$H???/.??H???'.??H??H????\???L?D$ ??A?x?ȋ?ҁ???????m?3ۅ?u??C??H???H?T$ ??????u H?t?
f;0t??H????
r???w?w????Ѓ?H??$H3?????L??$ I?[I?k I?s(I??_?H?\$WH?? H???f-??I???M??3?H???H?I??fB9H?ܥ
H??????u!?OD?NL?D$0? ?????t-?D$0?9H???g#???/?OL?D$0A?? ?d???u3???D$0??u???H?\$8H?t$@H?? _???H?\$H?t$WH?? ????'????L?D$0???A???
? H?????E3҅?tU;\$0tH??tDL???E??A?I?I?B?f??v
f??af??w?A??H????H???H??fE9Iu?D;?t??3?H?\$8H?t$@H?? _??H?\$H?l$H?t$WAVAWH?? 3?M????H???x0I???+???Hc?L??I??I?.??????t)y?^???~;?~?2?H?\$@H?l$HH?t$PH?? A_A^_?H?EI?I?????@USVWATAVAWH??H??@H???H3?H?E?I??L??L???b&??H??3?H?E??E??Q&??H?M?E3?H???H???I???L???H?H??tfD9 t???
H?
?
??L???????D?e?H???H??tyfD9 tsH?H??tfD9 tH?M??d????	H?M??)???D9e??????
L?????H?
??
????????H?H??tfD9 tH?M??????wH?M???????lH?H??tQfD9 tK?m%??H??H???H???H??fD9$Hu?H??A??H?
??????????????E?uD?e???E?????E?E?D9e???I??I??H?U?H?H#??????؅????????????M??P?????M??tA??M?H???E3?A?qUD???oR??H??td?M?H?? E3?D???UR???M?@D??L?Ǻ?????t9?M?L???D?κ?????tH????D?N?D?F???:??3?H?M?H3??y??H??@A_A^A\_^[]?????????????????ff?H???$?$H??ÉL$?T$??\$?????!L$?T$?f.??
sf.??
v
?H-??H*????̋???H?\$H?l$H?t$WH??0Ic?D??H????????u??uNH??u??E??xAE3?H?-4?
A??C?
?+?A????Hc?H??+)t0?ҍH?AI?????D??DI?D;?~?3?H?\$@H?l$HH?t$PH??0_Å?x?H??UH?H?l?H?????H?؅?~;?}?H??L??H???Ҵ????u?C?H?d$ E3?E3?3?3??[??????H?\$H?l$H?t$WAVAWH?? L??H??tJ3?L?=Wm?????A?U?I??+???Hc?H??H??H?I???`M?,??t)y?}???];?~?3?H?\$@H?l$HH?t$PH?? A_A^_?H?Ic??hM??x?=?s?H?A???3??H?\$H?l$H?t$WH?? ?H?J??SI??3?H??H??t[H??H;?tLH?x0H?O?E3?????N??H?O??H?O?g
???H?7?G

?G
@?1??H????r?H??HH?G?H;?u?H??3??s=??H?\$0H??H?t$@H?l$8H?? _????H??tJH?\$H?t$WH?? H??H??H??H;?tH???!?H??HH;?u?H???=??H?\$0H?t$8H?? _?H?\$H?t$H?|$AWH??0??? r)??????	??xY????H?\$@H?t$HH?|$PH??0A_?3??O?N?????ߋ%H?\$ ;?|6L?=I9D??0E;?wU??4??uE3???A;??E????E3?L??E3?B?L??A??I??H?L??B?L??I?? E?E;?u??E;????]?M??I??E??D?U?M??t:??H?M?L;?wH??4?=?L??3??D?????"?G??D?u????T???A;?t`E??t[E3?L??E3?B?L??A??I??H?L??B?L??I?? E?E;?u?E??t&?}?ss?E?D?D??D?u?E?D?u??E3?2?D?u??D?u?A?DŽ???H?t$x?e?H???E;?H?U?A??H??4HC?L??4AB?H?M????\$@H?U?ICЄ?H?T$PEE?E3?E3?D?????B?4???u!E;???B!??E?qD????E3?E??E????A????A??st]A??E;?u???A?@??B?ENj????H??H?A??H?B?L?ډ??D??I?? A;?tH?T$P?E??tMA??s?????A??E;?u???A?@?????E?A??Hȉ??D??H?? D?م?u??\$@A??s?????H?M?H?T$PE?D;??????E??I??D?u?M??t:??H?M?L;?wH???H;?L??3???A?K????"??D??D?u??T$??3?H??(??H?%]??L??L??M??u3??A?
M?RA?M?[?A???D?I ?B?DGɃ??J A??G?+?uE??tI??u???H??(?=??u-H??u??????V>??????H??(?H??t?H??(?z???E3?H??(???H??H?XH?hH?pH?x ATAVAWH??@I??L??H??H??u?\??????=????????M??t?H??u3???I??H?L$ ????H?T$(H??8uL??I??H??????????A?L?%?A
?H?fA;?s??A?DLt
H??????H?T$(?3H?T$(A?I?????fA;?s??A?DLt
H??????H?T$(??H?T$(??+?u??t
H???y????|$8tH?D$ ??????H?\$`H?l$hH?t$pH?|$xH??@A_A^A\??H?\$WH??PH??$?H??u? ??????????#Ͽ??@t????????????t??????t!??????uA????¹??#?;?uA?>?A????lA?@?bA?w????#?=@t=???;??;A?G???/;?v??v)???A?????????????D??3ҋ??o??H??t?E3?3ҋ??o??H???u?????????????A??\$PH?T$P???f?????t?;?t??uS?9D$Pu	A???L$P????u
?????뗸??;?uE3?H?׋??|n??H????w???A?>?LE3?3ҋ??an??H???u:?[??????D$PD??Hc?H?T$PD+?HЋ??4z??????,????;??3?H?\$XH?l$`H?t$hH??0A_A^_?E3?H?\$ E3?3?3???9????H?\$H?l$VWAVH??0H?????E??A??????????tI??t ??t???????^9?????0???)????@????"???Ɂ????@????ljK?#?ta=tS=tE=t7=tE=t"=t);?t?E??????8???K???!??????????C??tI??t=??t1??t%??@t???????8???%3????@???????	??3??c?s?C?@??y?????u??@uH?L$X?N ??u~9t$Xt?????t?????A#Ƅ?x?C@??@t?k?k?K??s	K??
s?k@?? t?k?@??t?kH?l$`H??H?\$PH??0A^_^?H?d$ E3?E3?3?3???7?????H?\$H?l$WH?? Hc?H?
W?H??H??H?????H??H?ҊL?8??Hux3??yrD?EH??????k??H??H???u?z????8?tM??????FA?f?l$0H?T$0???2c????uf?|$0uH?׋??, ???t?E3?3ҋ??;k??H???t?3?H?\$8H?l$@H?? _????H??H?XH?pH?x L?@UATAUAVAWH?h?H???E??I??D?MwH??D?EoH??A??H?M???????HE?fs?fI~??M?I?? ?M?L?}?A???u????3??0????????B?R???????u?r???3??0????????ϋM?L?M?L?u?A??H?U?E????I?? ??Du????3?H?t$0D?t$(?L$ H??H?? ?E?H?u?E?L?u?? ??]???L??H???u{??#?;?u@A??t:?M?L?M?H?t$0???]?E??H?U?D?t$(?L$ H?M_H?? ?ЗL??H???u3HcL?==?H?????H??H??I?ǀd?8??p????????????I???K???uQ?Q??ȋ??????HcL?=??H?ʃ??H??H??I?πd?8?I????????????E????
????D?u???uA??@?	??uA???I???????HcL?=??H??A??H?????D?u?D?u?I??H??D?t?8HcH?????H??H??I??@?t?9A??t??????D????t??FY??A???ME?L?M???M?H?U?E??)E?@?u??M????D??HcE??t???H?ȃ??H??H???E?I?ψD?9HcH?????H??H??I??A????$?d?=?D?=?E?Hu A??tHcH?????H??H??I?ǀL?8 ????#?;???A????I?????H?M?L?M?D?E???H?t$0?L$(?M??L$ H?M_?]?H?U?H?? ???H??H???u3?v???????HcH?????H??H??I?ǀd?8???v????????HcH??H?????I??H??H?T?(3?L??$?I?[0I?s8I?{HI??A_A^A]A\]?H??8A???D$(D?L$`E??L??H?L$ D??A??I???????H??8??́???????H?|$A?@?3??\$D?L$?A??fA#?A?J?f;?uA??f??@uA??fA;?D??DD?A??A?`A?A#?t'= t=@t
A;¹E??A???	????A??A????%#??A??#???H?|$???A??A#?A?????A???A?ы?%?????????????\$?T$???D?‹ƒ?A??A????D???A???ƒ???D??ƒ?A??ȃ????D?D?A????A?????H?\$H?t$H?|$ ??????A???A#????3?п?A?#?;?tA;?t;?tD???A???A?@?A?@??»A?A#?t&;?tA;?t
A;?uA?`?A?@?A? ?D?Ƌƒ?t???΋ƒ?uD??fAˋƒ?u??fϋƒ?uD??fAʋƒ?t?????fȃ? u??H?t$f?H?\$fD?H?|$ ????\$fE?fD#??D$%???A????D$?T$???̋???????ƒ??؋?Ƀ??? ???\$???ȋƒ??????ȋƒ??????ȋƒ?????? ??????ȋD$????????D$?T$?f?L$H??(???tL?D$8?H?L$0?Z??t?D$0????H??(??H?\$UVWATAUAVAWH??@H???H3?H?D$8H??$?I??H?2M??H?D$ L??L?L$(L??H????H??H???L?l$0I??L??L??LC?I???H??H???tUL;?tL;?r@L??I??H???2%H??t
H?+?x?tH?D$ H??H??HE?L+?H?H?l$(?3?H?X?I+?I?>H???]I?>H????T?H?L$0L??L??3??H???t9H?|$ H??t?|/t"H??H?L$0L??L??H????H???t??H??H?H?L$8H3?????H??$?H??@A_A^A]A\_^]????H?\$H?t$WH?? E3?I??L??M??u1H??u1H??t?X???????-??D??H?\$0A??H?t$8H?? _?H??t?M??t?M??uD???H??uD??H+?H??M??I??I???u??H?„?t?I??u??.?H???H?„?t?I??tH??u?M??H?F?HD?H??uD?M???r???I???uF?T?E?PP?^???D??????"?B????f?L$H??X???f;???H?L$0?????L?D$8A?A?x??u3?L$`A?B?f;?s??L?
B1
A?DAt???.???zI??8?>?T$`fA;?s'??L?
1
A?DAt??I????D????I??8H??t3H?D$p?D$(A?H?D$ L?D$`A????T$`??t?T$p?|$HtH?L$0??????H??X????????????ATAUAVH??PH?\?H3?H??$M??M??L??H??uH??t?]??????+???M??t?M??t?H????H??$HH??$@H??$8H??$0L??$(L?z?M??L?3?H?L$ fff?3?I??I+?I??H?XH????M;?vuK?4.I??H??I;?w*I?p??^??u?H??H??I???_???HO?I?I;?v?M??I??I;?t$I+?fff?????
H?RI??u?M+?M;?w?H?L$ H??H?L$ ??L?l?0L??? ?L???H??I??J?4+I?p??^??u?H??I??I???А??~/M??L??L;?t$f?A?I??H+??
?A?I??I??u?I?p??^??u?I??I??I???????~0M??I??M;?t%M??M+???A?A??
H?RI??u?I?p??^??u?I??H??I???7???~3M??I??I;?t(L??M+?ff??A?A??
H?RI??u?I??I??f?H;?v+I?H;?s#I?p??^??u?H??H??I???ҏ??~??)@I?I;?wI?p??^??u?H??H??I???????~?H??I+?H;?vI?p??^??u?H??H??I???????H;?r8M??H??tL??L+??A?A??
H?RI??u?H;?H??HE?H???F???H;?s(?I+?H;?vI?p??^??u?H??H??I??????t??%I+?I;?vI?p??^??u?H??H??I???????t?I??H??H+?I+?H;?H?L$ |+L;?sL?l?0H??? H??H?L$ I;??????L??????I;?sH?\?0L??? H??H?L$ L;??s???L???????H??$0H??$8H??$@H??$HL??$(H??$H3?????H??PA^A]A\???H??XH?U}H3?H?D$@3?L??H?? L??sw?D H??H?? |?????H???????L ??I???L A???u??A???A?Ƀ?H????T uI??E?E??u?3?H?L$@H3??b???H??X?I????????????H?\$H?t$WL??H?5?9??A??H??I+?H??L??W?I?B??oH??ws???L?H???fs??`fs??Yfs??Rfs??Kfs??Dfs??=fs??6fs??/fs?	?(fs?
?!fs??fs??fs?
?fs??fs?W?A?ft?f?????3??M??uE?Y??E3ۋ¹I+?H;?A??A??+?A;????????H???fs?fs??fs?fs??fs?fs??fs?fs??fs?fs??{fs?fs??ofs?fs??cfs?fs??Wfs?	fs?	?Kfs?
fs?
??fs?fs??3fs?fs??'fs?
fs?
?fs?fs??fs?fs??W?E?????oWfo?ft?f????u5H??I??H?\$H?t$_?k???M??u?D8W??H?\$H?t$_?L????ȋ?I+?H??H??w?D+?A??wyB?????H???fs??efs??^fs??Wfs??Pfs??Ifs??Bfs??;fs??4fs?	?-fs?
?&fs??fs??fs?
?fs??
fs??W?f??fo?A???t4???fn?f`?f`?fp?ft?f????uA?@I????u?3?H?\$H?t$_?H?\$I??H?t$_???????????????????????????????>?M?\?k?z???????????????????????|???????????????????????????????E3??H?\$WH??@H??H??H??u???????#??3??`H??t?H;?s?I??H?L$ ?L???H?L$0H?S??yt$H??H;?w
??Du?H??H+?H?Ӄ?H+?H?ʀ|$8tH?L$ ????H??H?\$PH??@_?H??(?o???3Ʉ?????H??(??H?\$H?l$H?t$WAVAWH?? E3?A??I??L??L??A??D8|$`tA?G-??f??X?L?RM??3?I?r??M?????ȃ?	?WD?p?fAF?H??f?fA???tL??H;?r?H;?rfE?;??????"??x"?????#fD?>A?A?	fA?I??fA?I??M;?r?3?H?\$@H?l$HH?t$PH?? A_A^_?@SH??03?D??H??u???????"????H??0[?M??t??L$`f?H?AL;?w?P????"??A?A??";?w??L$`A??H??0[????????H??83?A??
u??y??D$ ?y???H??8??D?D+?uH+?f??tH???D?D+?t?A??A??????A+????̋????@SH?? A????A#?D??H?٩????t%H??t3?3??e????????.!?????A??A??H??t	?>???53?H?? [??@SH?? H???V?????3????C3?H?? [?@SH?? H?ً	?p????K????H?d$0H?L$0??????u?D$09u
?D$49Cu3???H?? [?@SH?? ?d$8H?كd$<H?L$8?w?????u$H?D$8H?L$8?L$8H??|?????u	?3???H?? [?E3??D$H?T$H????????H??H#?H?@CH;?A??H;?rH??H;?v~H???)??H???H;?s+H??tbM??tH??H?D$?D$?F??????????@UH?? H?ꋅ?????t????H?M0??>??H?? ]?????H??`?>??????H??p?>??????H??P??>??????H??P?D???????H????4???????H????$???????H???????????H??0????????H??@??p??????H????$>??????H??x?>??????H??x?>??????@UH?? H?? H?M(????H?? ]????H??0??=??????H??0?p??????H??p?=??????H??h?=??????H??`?=??????H??`H???=??H??`H????}??H??`H??8???H??`H??`?}??H??p?T>??????H??pH???p}??@UH?? H?꺀H?M0????H?? ]????H??(?Do??????H??`??|??????H??H?4}??????H?T$UH?? H??L?E0H?U8H?M@?????3?3??A????????????H?T$UH?? H??L?EHM?H?UPH?M@?????3?3???????????H?T$UH?? H??L?EHM?H?UPH?M@?_???3?3??޶????????H?T$UH?? H??L?EXH?UhH?MP?r???3?3?豶???????????H?T$UH?? H??L?EXH?UhH?MP????3?3?聶???????????H?T$UH?? H??L?E0H?U8H?M@?r???3?3??Q????????????H??@H?? H???;???????????H??@H?? ?}????????????????H??@H????m;???????????????H????T;??????H????D;??????H????4;??????H????$;??????H????;??????H????;??????H??H??:??????H??0??:??????H??h??:??????@UH?? H??E8????t?e8?H????:??H?? ]????????@UH?? H??E8????t?e8?H????}:??H?? ]????????@UH?? H??E8????t
?e8?H?M0?P:??H?? ]???????????@UH?? H??E8????t
?e8?H?M@? :??H?? ]???????????@UH?? H??E8?? ??t
?e8?H?M@??9??H?? ]???????????@UH?? H??E8??@??t
?e8?H?M@??9??H?? ]???????????@UH?? H??E8%???t?e8???H?M@?9??H?? ]??????@UH?? H??E8%??t?e8????H?M@?[9??H?? ]??????@UH?? H??E8%??t?e8????H?M@?+9??H?? ]??????@UH?? H??E8%??t?e8????H?M@??8??H?? ]??????@UH?? H??E8%??t?e8????H?M@??8??H?? ]??????@UH?? H??E8%??t?e8????H?M@?8??H?? ]??????@UH?? H??E8% ??t?e8????H?M@?k8??H?? ]??????@UH?? H??E8%@??t?e8????H?M@?;8??H?? ]??????@UH?? H??E8%???t?e8???H?M@?8??H?? ]??????@UH?? H??E8%??t?e8????H?M@??7??H?? ]??????@UH?? H??E8%??t?e8????H?M@?7??H?? ]??????@UH?? H??E8%??t?e8????H?M@?{7??H?? ]??????@UH?? H??E8%??t?e8????H?M@?K7??H?? ]??????@UH?? H??E8%??t?e8????H?M@?7??H?? ]??????@UH?? H??E8% ??t?e8????H?M@??6??H?? ]??????@UH?? H??E8%@??t?e8????H?M@?6??H?? ]??????@UH?? H??E8%???t?e8???H?M@?6??H?? ]??????@UH?? H??E8%??t?e8????H?M@?[6??H?? ]??????@UH?? H??E8%??t?e8????H?M@?+6??H?? ]??????@UH?? H??E8%??t?e8????H?M@??5??H?? ]??????@UH?? H??E8%??t?e8????H?M@??5??H?? ]??????@UH?? H??E8%??t?e8????H?M@?5??H?? ]??????@UH?? H??E8% ??t?e8????H?M@?k5??H?? ]??????@UH?? H??E8%@??t?e8????H?M@?;5??H?? ]??????H??8?$5??????H??????????@UH?? H??(H?M@????H?? ]????H?T$UH?? H??H???H?HcPHыB???E3?L9BHAE?ȃ??J?Jt
3?3??.????H?H?? ]??????H??(?6??????H?T$UH?? H??L?E0H?U8H?M@????3?3??????????????H??X?D4??????H??P?D5??????H??PH??? 4??H??PH???4??@UH?? H??XH?MH????H?? ]????H??0????????H??`?4??????H?T$SUH??(H??L?E@H?UHH?M(????L?E0H?UPH?M@????3?3????????????H?? ????????H?T$UH?? H??L???M?H???H????V???3?3??խ???????????????H??@??3??????H?T$UH?? H??L?E(H?U0H?M8?l??3?3?葭???????????H????4e??????H??@?T???????H??(??2??????H??8????????H??0?T???????H???????????H??0H??P?0???H????d???????@UH?? H??L?
???A??PH?M0?X???H?? ]???????H??0H?????????????????????H??(????????H??0H????????????????????H??x?????????H??0H??@?}????????????????H???????????H??0H????M????????????????H???t???????H??0H????????????????????H??h?D???????@UH?? H??L?
????A??PH?M0?8???H?? ]???????@UH?? H??L?
????A??PH?M0????H?? ]???????H??0H??0?????????????????H???????????H??0H????]????????????????H??????????H??0H????-????????????????H??X?T???????@UH?? H??L?
???A??PH?M0?H???H?? ]???????H?T$UH?? H??L?ExH?UhH?M`????H??0H??X?.???@UH?? H??H?????H??H?? ]?@UH?? H??M@H?? ]??N???@UH?? H??M ??N???H?? ]??@UH?? H??H?? ]?CM???@UH??0H??H??H?L$(?T$ L?
|H??L?Ep?UhH?M`?L???H??0]??@UH??H?3Ɂ8?????]??@UH?? H??} uL?MpL?E(H?UXH?MP?Q???H?? ]??@UH?? H??} uL???L?E(H?UpH?M`?aQ???H?? ]??@UH?? H??} uL?MxL?EpH?UhH?M`?5Q???H?? ]??@SUH??(H??H?M@H?M0H?E0H?H?M(H?E(?8csm?t?E ?E ?"?'h??H?M(H?H?E0H?X?'h??H??? ???H??(][??@SUWH??@H??H?MPH?MH??l??H???H?HpH???H?_??l??H?X`H?EHH?H?Y8?l??H?XhH?MH?D$8H?d$0?d$(H???H?D$ L??L???H???H?	?ڍ???yl??H?`p?E@?ED?EDH??@_][??@SUWH??@H??H?MPH?MH?Bl??H???H?HpH???H?_?'l??H?X`H?EHH?H?Y8?l??H?Xh?
l??????HxH?MH?D$8H?d$0?d$(H???H?D$ L??L???H???H?	?,?????k??H?`p?E@?ED?EDH??@_][??@SUH??(H??H?M8H?M0?}XtlH?E0H?H?M(H?E(?8csm?uUH?E(?xuKH?E(?x  ?tH?E(?x !?t
H?E(?x "?u$??k??H?M(H?H H?E0H?X?*k??H?X(??????E ?E H??(][??@UH??@H???k???@x????H??@]??@UH?? H??H?MXL?E H????????H?? ]??@SUH??(H??H?M8?nb???} uHH????;csm?u9?{u3?{  ?t?{ !?t	?{ "?uH?K(?d????t?H???=d????gj??H???H?H ?Wj??H?M@H?H(H??(][??@UH?? H??H???L?M D???H????????H?? ]??@SUH??(H??H?MH?a???} uHH????;csm?u9?{u3?{  ?t?{ !?t	?{ "?uH?K(?
d????t?H???c????i??H?M0H?H ?i??H?M8H?H(?i??????HxH??(][??@UH?? H???d???H?? ]??@UH?? H???ci???x0~?Xi???H0H?? ]??@UH??0H????c???H??0]??@UH??0H???*i???x0~?i???H0H??0]??@UH?? H??H?MHH?	H?? ]?۶???@UH?? H??H?} u
H?M@??????H?M@跶???H?? ]??@UH??0H??H?M@H??0]阶???@UH??0H??H?M`H??0]逶???@UH?? H??H????H?? ]?4???@UH?? H??H?H?ы??V???H?? ]??@UH?? H??H?EH?H?? ]?4???@UH?? H??H?M@?????H?? ]??@UH??0H??H?MX??????H??0]??@UH?? H??H?M8H?? ]?ߵ???@UH?? H??3?H?? ]?!4???@UH?? H??H?M(H???M$3???csm????E ?E H?? ]??@UH?? H??H?EX?H?? ]??3???@UH?? H??H?EHH?H?????H?? ]??@UH?? H??H??8?t?8?t3???H?? ]??@UH?? H??H?? ]?t3???@UH?? H??H?? ]?[3???@UH?? H??H?EH?H?? ]??J???@UH?? H??M@H?? ]??J???@UH??0H??M`H??0]?J???@UH?? H??}pt???2???H?? ]??@UH?? H??H?Eh?H?? ]??2???@UH?? H??H?? ]?2???@UH?? H??H?? ]?2???@UH??@H??}@t=?}Dt(H???HcH??H??H?M???H??H?€d?8?H??????I???H??@]????????????????@UH?? H??H?3Ɂ8?????H?? ]??H??(H?
%4H??tH??PH?4H??(???????????H??(H?
?6H??tH?H?V6H;????P H?z6H??(??????????????H??(H?
??H??tH?H???H;????P H???H??(??????????????H??(H?
}?H??tH?H?6?H;????P H?Z?H??(??????????????H??(H?
??H??tH?H???H;????P H???H??(??????????????H??(H?
}?H??tH?H?6?H;????P H?Z?H??(??H?
?5?d??@SH?? ?AH?H?KH?b7H?H?@?MH??H??tH?H???4?H???>??H?(7H??u?H?? [??H??(H?
7H??t)H?H?@??L??H??tH??H?I????H??(???H??(H?	7HcHL??6H??J?H??6HcH?Q?B?T?H?AH??6H?
?6??3???H??(?H?
)7?P"??H?
?6?\??H??(?&H?
?;H??H??H?]???H??t?<H?E?H??
r?H??(???H?
?;????(0?/?/?/?/?/?/~/l/V/D/4/ ///?.?.`/?().)D)R)j)?)?)?)?)?)?)*6*N*f*?*?*?*?*?*?*?*+"+4+@+V+l+?+?+?+?+?+?+,*,>,R,`,t,?,?,?,?,?,?,---&-8-D-T-b-~-?-?-?-?-?-?-?-?-...,.>.N.d.z.?.?.?.?.?.0?(?(?(t(d(P(:(*( (?((?'?'?'?'?'?'?'?'(P;?P;????????????????8?????????????P?@?0? ?`???p?
???
?????M????x????t???
??{?8? F?Unknown exception}?8? F?(|?8? F?bad array new length0}?8? F?bad caststring too longx?P8?p8??:? 7???P8?p8?0:??6????8? F?`???7? F?: ???7? F?x???7?`D??C??@??A?B?iostreamiostream stream error???P7???
???
?bad locale name????5? >? <? A?A??A?pA??A??@??@??@?H???7? F?ios_base::badbit setios_base::failbit setios_base::eofbit set0??P8?p8??:?`6??9? 9?`;????P8?p8??:?`6?@9? 9?`;?P??P8?p8??:?`6??8? 9?`;????<?<?@<??>?0<?P<?Failed to initialize EffekseerManagerCore : GraphicsErrorFailed to initialize EffekseerManagerCore : RendererError???HC?CH???9?`????
???
???
?f???
???
???
???
???
??i?`l??i?Pl??i?@l???
?j??l??h?k?0i??h?i? k???
???
???
???
???
? 9???
???
???
???
???
???
?`i?pi?`j?pj?0j??l?@j??l??h?k?Pj??l??;??h??j?`g??h?Pi?0k?pl? 9??i??k?vector too long??????????????0??P8?p8??:? 7?@?
???Ў
????P8?p8??:?@v?_NoMip???P8?p8??:??v??0??;?invalid vector subscript????HCTAB????l	&??
*????"?_263_flipbookParameter1_263_flipbookParameter2_263_mCameraProj???_263_mUVInversedvs_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111???Q??????Q?????????????????????????????????U?U????U?????????????
?U????U?U??
?U???
??)?	????U????U??	??	??#?	U?)????
??U??	??	??????U??????*???	U?)U?U??U??U??????????U??????U??U????U??U?U??*???	U?
??????U??U????????????????U????????????
????U????U?????	??	?????U????U????U???U?????U??U????U??U??????????????U??????
??????U?U??U?U?????U???U??????U????U??????++?U????????????????????????	?????	???	??	????????U?????????
????????????????????????U?????U?U???U?????????????????????????????????????
?
???????U??U????U?U???????U?????????
??????????????????????????????????????????U?????????????????????????????????
????
??U?U?????*????+???????Ҁ??????????????????CTAB????p?????? 0L\
|?????.??2??
*?
"?%	&?;?R?j??F?Sampler_sampler_alphaTex???Sampler_sampler_blendAlphaTex??Sampler_sampler_blendTex???Sampler_sampler_blendUVDistortionTex???Sampler_sampler_colorTex???Sampler_sampler_uvDistortionTex_338_fBlendTextureParameter_338_fCameraFrontDirection_338_fEdgeColor_338_fEdgeParameter_338_fEmissiveScaling_338_fFalloffBeginColor_338_fFalloffEndColor_338_fFalloffParameter_338_fFlipbookParameter_338_fUVDistortionParameter_338_miscFlagsps_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111???Q?4UU?>=
???Ga?Q????@??,MĢ.?Q
?@????[??O??O?????????????????????#??B????Ћ??U?????ЀU??U?????Ѐ???????
?X??Ѐ????
U?
???U?????????АB????????U??????????U??U?????????????????
?X?????????????B????????U??????????U??U?????????????????
?X?????
????U??????????X?????X????????B?????? ??U???????X???U?
?????
?X???U???????????B?????????U??D?U????????D???????
?X??????
U?
???U?????
???U?`?B?????????U??????U????U????????????
?X??????U??B?????? ??U????????X?????
?????
?X???????????????#?????????????????????????????X?????X?U???X????X??????h?P?$??$????? ?????	???????	?#?U????????????X?????X?????X??????????X?U??????
????U?X?U?
??
?A??U??U??????????????U????
????????????U???????????
????X??????????????HCTAB????l	&??
*????"?_262_flipbookParameter1_262_flipbookParameter2_262_mCameraProj???_262_mUVInversedvs_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111???Q??@??????????????????	??
?	?????????????????????Ґ???????????ɀ?ҀҀ??U?U????U???????????????U???U??????????????????U??????????????
?U????U?U??
?U?????)??	????U???????	??	??#?	U?)????
?????	??	?????????????*???	U?)U?U?????U?????????????????U??U????U????U??*?U?	U?
?U?U?????U????????????????U????U???????
???????????????	??	?????U????U????U???U?????U??U????U??U????????????U?U??????
????????U????U????????????????????????U???++?U????????????????????????	?????	???	??	????????U?????????
????????????????????????U?????U?U???U?????????????????????????????????????
?
???????U??U????U?U???????U?????????
??????????????????????????????????????????U?????????????????????????????????
????
??U?U?????*??????+???	??Ҁ??????????????????????CTAB????
(8P`?????? @Pl|
l?l?l?lSampler_sampler_alphaTex???Sampler_sampler_backTexSampler_sampler_blendAlphaTex??Sampler_sampler_blendTex???Sampler_sampler_blendUVDistortionTex???Sampler_sampler_colorTex???Sampler_sampler_uvDistortionTex_298_fBlendTextureParameter_298_fFlipbookParameter_298_fUVDistortionParameter_298_g_scale_298_mUVInversedBackps_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111??Q????@??Q?@????O????????K?????????????????????B??????U??U?????
????`?B????????
?????B????U??U?U???????????X?U???X????????B??????????????????????X??U???A?B??????U??U???????U?ԐB?????U?ԐB???????????#????D???????????D??D?	?d??d???D?X?????X	?U??d?X	????X???Ԁ?????????????????U???Ԑ????????	?d??d???????Ԁ?????U????????????U???B??????U???????HCTAB????l	&??
*????"?_262_flipbookParameter1_262_flipbookParameter2_262_mCameraProj???_262_mUVInversedvs_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111???Q??????Q??@????????????????	??
?	????????????????????????????????Ҁɀ?ɀҀ??U?U????U?????????????
?U????U?U??
?U???
??)U?	????U???????	??	??#?	U?)??
??????	??	??????????U??*???	U?)U?U?????U?????U??????????U??U??U?????U???*?	U??U??
?U?U????????U????U??U?????????????U?U??????
????????U????U???	??	??????????U???????????U????????U??????U????U??U?U???U???
?U?U?????????????????????????U??????????U???++?U?????????????????????????	?????	???	??	???????????????????
?????????????????????????????????????????????????????????????????????????????????????
?
???????U??U????U?U?????????????????
??????????????????????????????????????????????????????????????????????????????????
????
??U?U?????*?U??U?+?????	??Ҁ???????????????????"CTABQ??J?
??8Hp??????$4$O.$_2$s
*$?"$?	&$?$?$?
$?$
$$;F$Sampler_sampler_alphaTex???Sampler_sampler_blendAlphaTex??Sampler_sampler_blendTex???Sampler_sampler_blendUVDistortionTex???Sampler_sampler_colorTex???Sampler_sampler_normalTex??Sampler_sampler_uvDistortionTex_339_fBlendTextureParameter_339_fCameraFrontDirection_339_fEdgeColor_339_fEdgeParameter_339_fEmissiveScaling_339_fFalloffBeginColor_339_fFalloffEndColor_339_fFalloffParameter_339_fFlipbookParameter_339_fLightAmbient_339_fLightColor_339_fLightDirection_339_fUVDistortionParameter_339_miscFlagsps_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111??Q
?4UU?>=
???Ga?Q?@???Q???[????@?Q?Q?>Ģ.??,M<?O??O???????????????????????????#??B????Ћ
??U?????Ѐ
U??U?????Ѐ
??
??????X??Ѐ????U????U?????????АB?????
????U??????
U????U??????
??
?????X???????B????????????????U??????????$?????????B??????
??U??????????
U??U??????????
??
??????X?????????U??????????X?????X????????B?????
? ??
U????
??
??X???U??????X???U???????????B?????
????U??D?
U????????D?
??
?????X??????U????U?????
???U?`?B?????
????U??????
U????U??????
??
?????X??????U??B?????
? ??
U????
??
??X??????????X???????????????#??????????????????????????????X?????X?U???X????X????????????X????????????h?P?$????? ??????	???????	?#?U????????????X?????X?????X??????????X?U??????????U?X?U????A??U??U??????????????U????
????????????U???????????
????X??????????????0CTAB????DTd"t_39_mCameraProj_39_mUVInversedvs_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111???????????????U?U????????U???????????????????????>CTAB????Xt?
*??F?Sampler_sampler_colorTex???_141_fEmissiveScaling??_141_miscFlagsps_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111?Q?4UU?>=
???Ga?Q?Q?>Ģ.?Q?????,M<?O??C???#??B????????U??????????U??U??????????????????X???????X???U???A????
?????U???????????
????X??????????????0CTAB????DTd"t_72_mCameraProj_72_mUVInversedvs_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111Q??@???????????????????????U?U???????U??????U????????????????Ґ????ɀ??ҀҀ?????U??????????????????U?????????????????????????KCTAB????l???????Sampler_sampler_backTexSampler_sampler_colorTex???_73_g_scale_73_mUVInversedBackps_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111Q????@??Q?????C????????K?????B????????X????U?A??????????????????????????????	?d??d????????U??????????U??U??U???B??????????????0CTAB????DTd"t_73_mCameraProj_73_mUVInversedvs_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111Q???????????????????????????????????????Ҁɀ?ɀҀ??????U?U????????U???????????????????????kCTABw??p????
*(
;LaFSampler_sampler_colorTex???Sampler_sampler_normalTex??_141_fEmissiveScaling??_141_fLightAmbient_141_fLightColor_141_fLightDirection_141_miscFlagsps_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111Q?4UU?>=
???Ga?Q?????Q?Q?>Ģ.??,M<?O??C???????????#??B????????U??????????U??U??????????????????X???????X???U???A?B????????????????U??????????$???????U??X?U??????????????
?????U???????????
????X??????????v?+2??'7??;???>??*??I@?@?B4CC????@@@@CCCC????????Warning : cameraFrontDirection is too small.RenderMode is not implemented.
??8???P8?p8??:???? ??????;?																																																																																																																????????????????????????????????????????????????????????????????	
 !(0)"
#*1892+$%,3:;4-&'.5<=6/7>????????????????	

#+3;CScs????	
!1Aa??? 0@`		



?Uunknown image typeoutofmembad code lengthsbad huffman codecan't merge dc and acexpected markerbad DRI lenbad DQT typebad DQT tablebad DHT headerbad COM lenbad APP lenunknown markerbad SOS component countbad SOS lenbad DC huffbad AC huffbad SOSRGBbad SOF lenonly 8-bitno header height0 widthbad component countbad Hbad Vbad TQtoo largeno SOIno SOFbad DNL lenbad DNL heightbad req_compbad sizesbad codelengthsoutput buffer limitbad dist	

zlib corruptread past bufferbad zlib headerno preset dictbad compression?PNG

bad png signot enough pixelsinvalid filtermultiple IHDRbad IHDR len1/2/4/8/16-bit onlybad ctypebad comp methodbad filter methodbad interlace method0-pixel imagefirst not IHDRinvalid PLTEtRNS after IDATtRNS before PLTEbad tRNS lentRNS with alphano PLTEoutofdatano IDATnot BMPunknown BMPbad BMPBMP RLEinvalidbad bppbad masksbad formatbad palettenot PSDwrong versionwrong channel countunsupported bit depthwrong color formatcorruptS??4PICTbad filenot GIFno clear codetoo many codesillegal code in rasterbad Image Descriptormissing color tableunknown code#?RADIANCE
#?RGBE
#?RADIANCE#?RGBEnot HDRFORMAT=32-bit_rle_rgbeunsupported format-Y unsupported data layout+X invalid decoded scanline lengthmax value > 255??@@?G????????????????????????????????????????????k?k?k?k?ooooooooZZZZZZZZ????????????????e??e??e??e?????????????????????????????????????????????~?~?~?~?~?~?~?~?P??p????
?deque too longInput_PosPOSITIONInput_ColorNORMALInput_UVTEXCOORDInput_Alpha_Dist_UVInput_BlendUVInput_Blend_Alpha_Dist_UVInput_FlipbookIndexInput_AlphaThresholdInput_NormalInput_TangentInput_UV1Input_UV2o?:=@?@?@?@??????????????????????map/set too long8??3?@2?04????P8?p8??:??@6????P;??1?P;????P8?p8??:????5?????2?2?@3?P??P8?p8??:???????1??1?03?h??P8?p8??:??????P8?p8??:???)??%??%??%??%??%??%??%??%??%?P(??%??%??%??%?(?'?P;?P;?P;?P;?0+?)The format is not supported.(invalid string positionx??P@???
???
???P8?p8??:?@I?????I? ?
???
???
???
???
???
?p?
???
?@?
???
?0?
???
??
?0?
?P?
?p?
???
???
? ?
???
???
?P?
???
???
?P?
???
?@?
??
?`?
? ?
?dError : Invalid material is loaded.invalid array subscript?????CTAB(??!46
?DTT
RhxJ
*??^
z??j
???t
? ~
?4D,
?P`@
x?h???i?????(?.?_372_fAlphaUV??
_372_fBlendAlphaUV?
_372_fBlendUV??
_372_fBlendUVDistortionUV??
_372_fFlipbookIndexAndNextRate?
_372_fModelAlphaThreshold??
_372_fModelColor???
_372_fUV???
_372_fUVDistortionUV???
_372_flipbookParameter1_372_flipbookParameter2_372_mCameraProj???_372_mModel_Inst???
_372_mUVInversedvs_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111???Q???@????Q????@???????????????????????????????????????????????U?????.????~ ?U??U? ??? ????? ??????? ???U?????????????????Ő, ?U?, ŠU???U?????U? ??? ????? ??????U? ??? ????? ??????U? ??? ????? ?????	??????????	????????	??????????6 ??U?6 ?U??U?6 ??U?6 U?U???@ ??U?@ ?U??U?@ ??U?@ U?U???J ??U?J ?U??U?J ??U?J U?U???T ??U?T ?U??U?T ??U?T U?U???^ ??U?^ ?U??U?^ ??U?^ U?U??h?)?U???j ?U??U?j ?U???????h??h??#?hU?)??
???????????????????????*?U????)?????????U????U????U??????????U???????*?U???????U???U????U??U??U???????????????U???????
????????U????U????????????????U???????????U????U??U????U??U??U???????U???????U???????
	??????U????U????U???????????????????????????++??U?????????????????????????h?????h???h??h????????U?????????
????????????????????????U?????U?U???U?????????????????????????????????????i?i?????U??U????U?U?????????????????
?????????????????????????????????????????????????????????????????????????????????D?iD?D???i???U?U???????U?*??U???U?+??U??????U?U?????U???????U???????U?????t ?U??Ҁ??????"CTABQ??J?
??8Hp??????$4$O.$_2$s
*$?"$?	&$?$?$?
$?$
$$;F$Sampler_sampler_alphaTex???Sampler_sampler_blendAlphaTex??Sampler_sampler_blendTex???Sampler_sampler_blendUVDistortionTex???Sampler_sampler_colorTex???Sampler_sampler_normalTex??Sampler_sampler_uvDistortionTex_339_fBlendTextureParameter_339_fCameraFrontDirection_339_fEdgeColor_339_fEdgeParameter_339_fEmissiveScaling_339_fFalloffBeginColor_339_fFalloffEndColor_339_fFalloffParameter_339_fFlipbookParameter_339_fLightAmbient_339_fLightColor_339_fLightDirection_339_fUVDistortionParameter_339_miscFlagsps_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111??Q
?4UU?>=
???Ga?Q?@???Q???[????@?Q?Q?>Ģ.??,M<?O??O???????????????????????????#??B????Ћ
??U?????Ѐ
U??U?????Ѐ
??
??????X??Ѐ????U????U?????????АB?????
????U??????
U????U??????
??
?????X???????B????????????????U??????????$?????????B??????
??U??????????
U??U??????????
??
??????X?????????U??????????X?????X????????B?????
? ??
U????
??
??X???U??????X???U???????????B?????
????U??D?
U????????D?
??
?????X??????U????U?????
???U?`?B?????
????U??????
U????U??????
??
?????X??????U??B?????
? ??
U????
??
??X??????????X???????????????#??????????????????????????????X?????X?U???X????X????????????X????????????h?P?$????? ??????	???????	?#?U????????????X?????X?????X??????????X?U??????????U?X?U????A??U??U??????????????U????
????????????U???????????
????X???????????????CTAB(??!46
?DTT
RhxJ
*??^
z??j
???t
? ~
?4D,
?P`@
x?h???i?????(?.?_372_fAlphaUV??
_372_fBlendAlphaUV?
_372_fBlendUV??
_372_fBlendUVDistortionUV??
_372_fFlipbookIndexAndNextRate?
_372_fModelAlphaThreshold??
_372_fModelColor???
_372_fUV???
_372_fUVDistortionUV???
_372_flipbookParameter1_372_flipbookParameter2_372_mCameraProj???_372_mModel_Inst???
_372_mUVInversedvs_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111???Q???@????Q????@???????????????????????????????????????U?????.????~ ?U??U? ??? ????? ??????? ???U?????????????????Ő, ?U?, ŠU???U?????U? ??? ????? ?????	????????????6 ??U?6 ?U??U?6 ??U?6 U?U???@ ??U?@ ?U??U?@ ??U?@ U?U???J ??U?J ?U??U?J ??U?J U?U???T ??U?T ?U??U?T ??U?T U?U???^ ??U?^ ?U??U?^ ??U?^ U?U??h?)?U???j ?U??U?j ?U???????h??h??#?hU?)??
???????????????????????*?U????)?????????U????U????U??????????U???????*?U???????U???U????U??U??U???????????????U???????
????????U????U????????????????U???????????U????U??U????U??U??U???????U???????U???????
	??????U????U????U???????????????????????????++??U?????????????????????????h?????h???h??h????????U?????????
????????????????????????U?????U?U???U?????????????????????????????????????i?i?????U??U????U?U?????????????????
?????????????????????????????????????????????????????????????????????????????????D?iD?D???i???U?U???????U?*??U???U?+??U??????U?U?????U???????U???????U?????t ?U??Ҁ???????CTAB????p?????? 0L\
|?????.??2??
*?
"?%	&?;?R?j??F?Sampler_sampler_alphaTex???Sampler_sampler_blendAlphaTex??Sampler_sampler_blendTex???Sampler_sampler_blendUVDistortionTex???Sampler_sampler_colorTex???Sampler_sampler_uvDistortionTex_338_fBlendTextureParameter_338_fCameraFrontDirection_338_fEdgeColor_338_fEdgeParameter_338_fEmissiveScaling_338_fFalloffBeginColor_338_fFalloffEndColor_338_fFalloffParameter_338_fFlipbookParameter_338_fUVDistortionParameter_338_miscFlagsps_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111???Q?4UU?>=
???Ga?Q????@??,MĢ.?Q
?@????[??O??O?????????????????????#??B????Ћ??U?????ЀU??U?????Ѐ???????
?X??Ѐ????
U?
???U?????????АB????????U??????????U??U?????????????????
?X?????????????B????????U??????????U??U?????????????????
?X?????
????U??????????X?????X????????B?????? ??U???????X???U?
?????
?X???U???????????B?????????U??D?U????????D???????
?X??????
U?
???U?????
???U?`?B?????????U??????U????U????????????
?X??????U??B?????? ??U????????X?????
?????
?X???????????????#?????????????????????????????X?????X?U???X????X??????h?P?$??$????? ?????	???????	?#?U????????????X?????X?????X??????????X?U??????
????U?X?U?
??
?A??U??U??????????????U????
????????????U???????????
????X???????????????CTAB(??!46
?DTT
RhxJ
*??^
z??j
???t
? ~
?4D,
?P`@
x?h???i?????(?.?_372_fAlphaUV??
_372_fBlendAlphaUV?
_372_fBlendUV??
_372_fBlendUVDistortionUV??
_372_fFlipbookIndexAndNextRate?
_372_fModelAlphaThreshold??
_372_fModelColor???
_372_fUV???
_372_fUVDistortionUV???
_372_flipbookParameter1_372_flipbookParameter2_372_mCameraProj???_372_mModel_Inst???
_372_mUVInversedvs_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111???Q???@????Q????@?????????????????????????????????????????????U?????.????~ ?U??U? ??? ????? ??????? ???U?????????????????Ő, ?U?, ŠU???U?????U? ??? ????? ??????U? ??? ????? ?????	?????	????U???U???U?????????????????????U??????????????????6 ??U?6 ?U??U?6 ??U?6 U?U???@ ??U?@ ?U??U?@ ??U?@ U?U???J ??U?J ?U??U?J ??U?J U?U???T ??U?T ?U??U?T ??U?T U?U???^ ??U?^ ?U??U?^ ??U?^ U?U??h?)?U???j ?U??U?j ?U???????h??h??#?hU?)??
???????????????????????*?U????)?????????U????U????U??????????U???????*?U???????U???U????U??U??U???????????????U???????
????????U????U????????????????U???????????U????U??U????U??U??U???????U???????U???????
	??????U????U????U???????????????????????????++??U?????????????????????????h?????h???h??h????????U?????????
????????????????????????U?????U?U???U?????????????????????????????????????i?i?????U??U????U?U?????????????????
?????????????????????????????????????????????????????????????????????????????????D?iD?D???i???U?U???????U?*??U???U?+??U??????U?U?????U???????U???????U?????t ?U??Ҁ???????????CTAB????
(8P`?????? @Pl|
l?l?l?lSampler_sampler_alphaTex???Sampler_sampler_backTexSampler_sampler_blendAlphaTex??Sampler_sampler_blendTex???Sampler_sampler_blendUVDistortionTex???Sampler_sampler_colorTex???Sampler_sampler_uvDistortionTex_298_fBlendTextureParameter_298_fFlipbookParameter_298_fUVDistortionParameter_298_g_scale_298_mUVInversedBackps_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111??Q????@??Q?@????O????????K?????????????????????B??????U??U?????
????`?B????????
?????B????U??U?U???????????X?U???X????????B??????????????????????X??U???A?B??????U??U???????U?ԐB?????U?ԐB???????????#????D???????????D??D?	?d??d???D?X?????X	?U??d?X	????X???Ԁ?????????????????U???Ԑ????????	?d??d???????Ԁ?????U????????????U???B??????U???????UCTAB???6
???,
?????(??C_32_fModelColor
_32_fUV
_32_mCameraProj_32_mModel_Inst
_32_mUVInversedvs_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111Q@??@??????????????????????????????????U???U?U???U???.????@?.????6 ????, ???, ???U?, ???, U???CU??C??U? ?U?? ?U???? ?U????	???????????U? ?U?? ?U???? ?U????	???????????U? ?U?? ?U???? ?U????	???????????U? ?U?? ?U???? ?U?????? ?U??U??????????????????????????kCTABw??p????
*(
;LaFSampler_sampler_colorTex???Sampler_sampler_normalTex??_141_fEmissiveScaling??_141_fLightAmbient_141_fLightColor_141_fLightDirection_141_miscFlagsps_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111Q?4UU?>=
???Ga?Q?????Q?Q?>Ģ.??,M<?O??C???????????#??B????????U??????????U??U??????????????????X???????X???U???A?B????????????????U??????????$???????U??X?U??????????????
?????U???????????
????X??????????????UCTAB???6
???,
?????(??C_32_fModelColor
_32_fUV
_32_mCameraProj_32_mModel_Inst
_32_mUVInversedvs_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111Q@??@??????????????????????U???U?U???U???.????@?.????6 ????, ???, ???U?, ???, U???CU??C??U? ?U?? ?U???? ?U?????? ?U??U??????????????????????????>CTAB????Xt?
*??F?Sampler_sampler_colorTex???_141_fEmissiveScaling??_141_miscFlagsps_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111?Q?4UU?>=
???Ga?Q?Q?>Ģ.?Q?????,M<?O??C???#??B????????U??????????U??U??????????????????X???????X???U???A????
?????U???????????
????X??????????????UCTAB???6
???,
?????(??C_32_fModelColor
_32_fUV
_32_mCameraProj_32_mModel_Inst
_32_mUVInversedvs_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111Q@??@??????????????????????????????U???U?U???U???.????@?.????6 ????, ???, ???U?, ???, U???CU??C??U? ?U?? ?U???? ?U????	??????U? ?U?? ?U???? ?U?????? ?U??????U?????????????????U? ?U?? ?U???? ?U????	??????????U?????????????????U??????????????????????????KCTAB????l???????Sampler_sampler_backTexSampler_sampler_colorTex???_73_g_scale_73_mUVInversedBackps_3_0Microsoft (R) HLSL Shader Compiler 9.29.952.3111Q????@??Q?????C????????K?????B????????X????U?A??????????????????????????????	?d??d????????U??????????U??U??U???B??????????H??P8?p8??:??i?P;?P;?P;?p??0m??;???
???
???
???
???
?mainOut of memory
Unknown error
????o???
???
???
???
?@p? p?0p?p?
float3 GetLightDirection() {
	return float3(0,0,0);
}
float3 GetLightColor() {
	return float3(0,0,0);
}
float3 GetLightAmbientColor() {
	return float3(0,0,0);
}

float3 GetLightDirection() {
	return lightDirection.xyz;
}
float3 GetLightColor() {
	return lightColor.xyz;
}
float3 GetLightAmbientColor() {
	return lightAmbientColor.xyz;
}


float2 GetUV(float2 uv)
{
	uv.y = mUVInversed.x + mUVInversed.y * uv.y;
	return uv;
}

float2 GetUVBack(float2 uv)
{
	uv.y = mUVInversed.z + mUVInversed.w * uv.y;
	return uv;
}

// Dummy
float CalcDepthFade(float2 screenUV, float meshZ, float softParticleParam) { return 1.0f; }



struct VS_Input
{
	float3 Pos		: POSITION0;
	float4 Color		: NORMAL0;
	float2 UV		: TEXCOORD0;
};

struct VS_Output
{
	float4 Position		: SV_POSITION;
	C_LINEAR C_CENTROID float4 VColor		: COLOR;
	C_LINEAR C_CENTROID float2 UV1		: TEXCOORD0;
	C_LINEAR C_CENTROID float2 UV2		: TEXCOORD1;
	float3 WorldP	: TEXCOORD2;
	float3 WorldN : TEXCOORD3;
	float3 WorldT : TEXCOORD4;
	float3 WorldB : TEXCOORD5;
	float4 PosP : TEXCOORD6;
	//float2 ScreenUV : TEXCOORD6;
};

cbuffer VSConstantBuffer : register(b0) {

float4x4 mCamera		: register(c0);
float4x4 mProj			: register(c4);
float4 mUVInversed		: register(c8);
float4 predefined_uniform : register(c9);
float4 cameraPosition : register(c10);



struct VS_Input
{
	float3 Pos		: POSITION0;
	float4 Color		: NORMAL0;
	float4 Normal		: NORMAL1;
	float4 Tangent		: NORMAL2;
	float2 UV1		: TEXCOORD0;
	float2 UV2		: TEXCOORD1;
	//$C_IN1$
	//$C_IN2$
};

struct VS_Output
{
	float4 Position		: SV_POSITION;
	C_LINEAR C_CENTROID float4 VColor		: COLOR;
	C_LINEAR C_CENTROID float2 UV1		: TEXCOORD0;
	C_LINEAR C_CENTROID float2 UV2		: TEXCOORD1;
	float3 WorldP	: TEXCOORD2;
	float3 WorldN : TEXCOORD3;
	float3 WorldT : TEXCOORD4;
	float3 WorldB : TEXCOORD5;
	float4 PosP : TEXCOORD6;
	//float2 ScreenUV : TEXCOORD6;
	//$C_OUT1$
	//$C_OUT2$
};

cbuffer VSConstantBuffer : register(b0) {

float4x4 mCamera		: register(c0);
float4x4 mProj			: register(c4);
float4 mUVInversed		: register(c8);
float4 predefined_uniform : register(c9);
float4 cameraPosition : register(c10);




VS_Output main( const VS_Input Input )
{
	VS_Output Output = (VS_Output)0;
	float4 worldPos = { Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0 };
	float3 worldNormal = float3(0.0, 0.0, 0.0);
	float3 worldBinormal = float3(0.0, 0.0, 0.0);
	float3 worldTangent = float3(0.0, 0.0, 0.0);
	float3 objectScale = float3(1.0, 1.0, 1.0);

	// UV
	float uv1 = Input.UV;
	float uv2 = Input.UV;
	//uv1.y = mUVInversed.x + mUVInversed.y * uv1.y;
	//uv2.y = mUVInversed.x + mUVInversed.y * uv2.y;

	// NBT
	Output.WorldN = worldNormal;
	Output.WorldB = worldBinormal;
	Output.WorldT = worldTangent;

	float3 pixelNormalDir = worldNormal;
	float4 vcolor = Input.Color;

	// Dummy
	float2 screenUV = float2(0.0, 0.0);
	float meshZ =  0.0f;


VS_Output main( const VS_Input Input )
{
	VS_Output Output = (VS_Output)0;
	float3 worldPos = Input.Pos;
	float3 worldNormal = (Input.Normal - float3(0.5, 0.5, 0.5)) * 2.0;
	float3 worldTangent = (Input.Tangent - float3(0.5, 0.5, 0.5)) * 2.0;
	float3 worldBinormal = cross(worldNormal, worldTangent);
	float3 objectScale = float3(1.0, 1.0, 1.0);

	// UV
	float2 uv1 = Input.UV1;
	float2 uv2 = Input.UV2;
	//uv1.y = mUVInversed.x + mUVInversed.y * uv1.y;
	//uv2.y = mUVInversed.x + mUVInversed.y * uv2.y;

	// NBT
	Output.WorldN = worldNormal;
	Output.WorldB = worldBinormal;
	Output.WorldT = worldTangent;

	float3 pixelNormalDir = worldNormal;
	float4 vcolor = Input.Color;

	// Dummy
	float2 screenUV = float2(0.0, 0.0);
	float meshZ =  0.0f;


	worldPos = worldPos + worldPositionOffset;

	float4 cameraPos = mul(mCamera, float4(worldPos, 1.0));
	cameraPos = cameraPos / cameraPos.w;
	Output.Position = mul(mProj, cameraPos);

	Output.WorldP = worldPos;
	Output.VColor = Input.Color;
	Output.UV1 = uv1;
	Output.UV2 = uv2;

	Output.PosP = Output.Position;
	//Output.ScreenUV = Output.Position.xy / Output.Position.w;
	//Output.ScreenUV.xy = float2(Output.ScreenUV.x + 1.0, 1.0 - Output.ScreenUV.y) * 0.5;

	return Output;
}



VS_Output main( const VS_Input Input )
{
	float4x4 matModel = mModel[Input.Index];
	float4 uv = fUV[Input.Index];
	float4 modelColor = fModelColor[Input.Index] * Input.Color;

	VS_Output Output = (VS_Output)0;
	float4 localPosition = { Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0 }; 

	float3x3 matRotModel = (float3x3)matModel;

	float3 worldPos = mul( matModel, localPosition ).xyz;
	float3 worldNormal = normalize( mul( matRotModel, Input.Normal ) );
	float3 worldBinormal = normalize( mul( matRotModel, Input.Binormal ) );
	float3 worldTangent = normalize( mul( matRotModel, Input.Tangent ) );
	float3 objectScale = float3(1.0, 1.0, 1.0);

	// Calculate ObjectScale
	objectScale.x = length(mul(matRotModel, float3(1.0, 0.0, 0.0)));
	objectScale.y = length(mul(matRotModel, float3(0.0, 1.0, 0.0)));
	objectScale.z = length(mul(matRotModel, float3(0.0, 0.0, 1.0)));

	float2 uv1;
	uv1.x = Input.UV.x * uv.z + uv.x;
	uv1.y = Input.UV.y * uv.w + uv.y;
	float2 uv2 = Input.UV;

	//uv1.y = mUVInversed.x + mUVInversed.y * uv1.y;
	//uv2.y = mUVInversed.x + mUVInversed.y * uv2.y;

	float3 pixelNormalDir = worldNormal;
	float4 vcolor = modelColor;

	// Dummy
	float2 screenUV = float2(0.0, 0.0);
	float meshZ =  0.0f;


	worldPos = worldPos + worldPositionOffset;

	Output.Position = mul( mCameraProj,  float4(worldPos, 1.0) );

	Output.WorldP = worldPos;
	Output.WorldN = worldNormal;
	Output.WorldB = worldBinormal;
	Output.WorldT = worldTangent;

	Output.VColor = modelColor;
	Output.UV1 = uv1;
	Output.UV2 = uv2;

	Output.PosP = Output.Position;
	//Output.ScreenUV = Output.Position.xy / Output.Position.w;
	//Output.ScreenUV.xy = float2(Output.ScreenUV.x + 1.0, 1.0 - Output.ScreenUV.y) * 0.5;

	return Output;
}



	float4 Output = float4(emissive, opacity);

	if(opacityMask <= 0.0f) discard;
	if(opacity <= 0.0) discard;

	return ConvertToScreen(Output);
}


	float3 viewDir = normalize(cameraPosition.xyz - worldPos);
	float3 diffuse = calcDirectionalLightDiffuseColor(baseColor, pixelNormalDir, lightDirection.xyz, ambientOcclusion);
	float3 specular = lightColor.xyz * lightScale * calcLightingGGX(pixelNormalDir, viewDir, lightDirection.xyz, roughness, 0.9);

	float4 Output =  float4(metallic * specular + (1.0 - metallic) * diffuse + baseColor * lightAmbientColor.xyz * ambientOcclusion, opacity);
	Output.xyz = Output.xyz + emissive.xyz;

	if(opacityMask <= 0.0) discard;
	if(opacity <= 0.0) discard;

	return ConvertToScreen(Output);
}

falsetrue????????? ?????????????H?????8??0??P;?P;?????????????p?????P??????????????P;?0?????P;?P;?????????????p?????P?????P????????P;?H??????float.xy.xyzw?????? ;
mUVInversedBackpredefined_uniformcameraPositionreconstructionParam1reconstructionParam2lightDirectionlightColorlightAmbientColor#define _MATERIAL_LIT_ 1cameraMat_};const efk_backgroundefk_depth$F1$$F2$$F3$$F4$predefined_uniform.x$TIME$predefined_uniform.y$EFFECTSCALE$predefined_uniform.w$LOCALTIME$uv$UV$fmod$MODConvertFromSRGBTexture($$TEX_P$TEX_S)),0.0,1.0);//$C_IN1$//$C_OUT1$//$C_PIN1$//$C_IN2$//$C_OUT2$//$C_PIN2$??0?? >? <? ?? ?? ????Ы???????%p???`?? >? <?p????????????eEpP _?B??????????????

#define FLT_EPSILON 1.192092896e-07

float3 PositivePow(float3 base, float3 power)
{
	return pow(max(abs(base), float3(FLT_EPSILON, FLT_EPSILON, FLT_EPSILON)), power);
}

// based on http://chilliant.blogspot.com/2012/08/srgb-approximations-for-hlsl.html
half3 SRGBToLinear(half3 c)
{
	return min(c, c * (c * (c * 0.305306011 + 0.682171111) + 0.012522878));
}

half4 SRGBToLinear(half4 c)
{
	return half4(SRGBToLinear(c.rgb), c.a);
}

half3 LinearToSRGB(half3 c)
{
	return max(1.055 * PositivePow(c, float3(0.416666667,0.416666667,0.416666667)) - 0.055, 0.0);
}

half4 LinearToSRGB(half4 c)
{
	return half4(LinearToSRGB(c.rgb), c.a);
}

half4 ConvertFromSRGBTexture(half4 c)
{
	if (predefined_uniform.z == 0.0)
	{
		return c;
	}

	return LinearToSRGB(c);
}

half4 ConvertToScreen(half4 c)
{
	if (predefined_uniform.z == 0.0)
	{
		return c;
	}

	return SRGBToLinear(c);
}



float LinearStep(float s, float e, float v) {
	return clamp((v - s) / (e - s), 0.0, 1.0);
}

#ifdef EFK__OPENGL2__

struct Gradient
{
	int colorCount;
	int alphaCount;
	int reserved1;
	int reserved2;
	float4 c1;
	float4 c2;
	float4 c3;
	float4 c4;
	float4 c5;
	float4 c6;
	float4 c7;
	float4 c8;
	float2 a1;
	float2 a2;
	float2 a3;
	float2 a4;
	float2 a5;
	float2 a6;
	float2 a7;
	float2 a8;
};

float4 SampleGradient(Gradient gradient, float t) {
	float4 colors[8];
	float2 alphas[8];

	colors[0] = gradient.c1;
	colors[1] = gradient.c2;
	colors[2] = gradient.c3;
	colors[3] = gradient.c4;
	colors[4] = gradient.c5;
	colors[5] = gradient.c6;
	colors[6] = gradient.c7;
	colors[7] = gradient.c8;
	alphas[0].xy = gradient.a1;
	alphas[1].xy = gradient.a2;
	alphas[2].xy = gradient.a3;
	alphas[3].xy = gradient.a4;
	alphas[4].xy = gradient.a5;
	alphas[5].xy = gradient.a6;
	alphas[6].xy = gradient.a7;
	alphas[7].xy = gradient.a8;

	float t_clamp = clamp(t, 0.0, 1.0);
	float3 color = colors[0].xyz;
	for(int i = 1; i < 8; i++) {
		float ratio = LinearStep(colors[i-1].w, colors[i].w, t_clamp);
		color = LERP(color, colors[i].xyz, ratio);
	}

	float alpha = alphas[0].x;
	for(int i = 1; i < 8; i++) {
		float ratio = LinearStep(alphas[i-1].y, alphas[i].y, t_clamp);
		alpha = LERP(alpha, alphas[i].x, ratio);
	}
	return float4(color, alpha);
}

Gradient GradientParameter(float4 param_v, float4 param_c1, float4 param_c2, float4 param_c3, float4 param_c4, float4 param_c5, float4 param_c6, float4 param_c7, float4 param_c8, float4 param_a1, float4 param_a2, float4 param_a3, float4 param_a4)
{
	Gradient g;
	g.colorCount = int(param_v.x);
	g.alphaCount = int(param_v.y);
	g.reserved1 = int(param_v.z);
	g.reserved2 = int(param_v.w);

	g.c1 = param_c1;
	g.c2 = param_c2;
	g.c3 = param_c3;
	g.c4 = param_c4;
	g.c5 = param_c5;
	g.c6 = param_c6;
	g.c7 = param_c7;
	g.c8 = param_c8;

	g.a1 = param_a1.xy;
	g.a2 = param_a1.zw;
	g.a3 = param_a2.xy;
	g.a4 = param_a2.zw;
	g.a5 = param_a3.xy;
	g.a6 = param_a3.zw;
	g.a7 = param_a4.xy;
	g.a8 = param_a4.zw;

	return g;
}

#else

struct Gradient
{
	int colorCount;
	int alphaCount;
	int reserved1;
	int reserved2;
	float4 colors[8];
	float2 alphas[8];
};

float4 SampleGradient(Gradient gradient, float t) {
	float t_clamp = clamp(t, 0.0, 1.0);
	float3 color = gradient.colors[0].xyz;
	for(int i = 1; i < 8; i++) {
		float ratio = LinearStep(gradient.colors[i-1].w, gradient.colors[i].w, t_clamp);
		color = LERP(color, gradient.colors[i].xyz, ratio);
	}

	float alpha = gradient.alphas[0].x;
	for(int i = 1; i < 8; i++) {
		float ratio = LinearStep(gradient.alphas[i-1].y, gradient.alphas[i].y, t_clamp);
		alpha = LERP(alpha, gradient.alphas[i].x, ratio);
	}
	return float4(color, alpha);
}

Gradient GradientParameter(float4 param_v, float4 param_c1, float4 param_c2, float4 param_c3, float4 param_c4, float4 param_c5, float4 param_c6, float4 param_c7, float4 param_c8, float4 param_a1, float4 param_a2, float4 param_a3, float4 param_a4)
{
	Gradient g;
	g.colorCount = int(param_v.x);
	g.alphaCount = int(param_v.y);
	g.reserved1 = int(param_v.z);
	g.reserved2 = int(param_v.w);
	g.colors[0] = param_c1;
	g.colors[1] = param_c2;
	g.colors[2] = param_c3;
	g.colors[3] = param_c4;
	g.colors[4] = param_c5;
	g.colors[5] = param_c6;
	g.colors[6] = param_c7;
	g.colors[7] = param_c8;
	g.alphas[0].xy = param_a1.xy;
	g.alphas[1].xy = param_a1.zw;
	g.alphas[2].xy = param_a2.xy;
	g.alphas[3].xy = param_a2.zw;
	g.alphas[4].xy = param_a3.xy;
	g.alphas[5].xy = param_a3.zw;
	g.alphas[6].xy = param_a4.xy;
	g.alphas[7].xy = param_a4.zw;
	return g;
}

#endif



float Rand2(float2 n) { 
	return FRAC(sin(dot(n, float2(12.9898, 78.233))) * 43758.5453123);
}

float SimpleNoise_Block(float2 uv) {
	int2 uvi = int2(floor(uv));
	float2 uvf = FRAC(uv);
	uvf = uvf * uvf * (3.0 - 2.0 * uvf);
	float x0 = LERP(Rand2(float2(uvi + int2(0, 0))), Rand2(float2(uvi + int2(1, 0))), uvf.x);
	float x1 = LERP(Rand2(float2(uvi + int2(0, 1))), Rand2(float2(uvi + int2(1, 1))), uvf.x);
	return LERP(x0, x1, uvf.y);
}

float SimpleNoise(float2 uv, float scale) {
	const int iter = 3;
	float ret = 0.0;
	for(int i = 0; i < iter; i++) {
		float duration = pow(2.0, float(i));
		float intensity = pow(0.5, float(iter-i));
		ret += SimpleNoise_Block(uv * scale / duration) * intensity;
	}

	return ret;
}

%f() {Gradient Gradient g;g.colorCount = g.alphaCount = g.reserved1 = 0;g.reserved2 = 0;#ifdef EFK__OPENGL2__.x = g.c.y = .z = .w = g.a#else].x = g.colors[].y = ].z = ].w = g.alphas[#endifreturn g; }DXBC1M3????&??u?o?g4????RDEFxP??F<VS_ConstantBuffer??<h??@??@@?? ?3?mCameramCameraProjmUVInversedflipbookParameter1flipbookParameter2Microsoft (R) HLSL Shader Compiler 9.29.952.3111?ISGN?????????POSITIONNORMALTEXCOORD???OSGN?????????SV_POSITIONCOLORTEXCOORD?SHDR?@?YF? _r_?_2_?_2_?__g? e? e? er e? e? e? e? h2? 
? 8?VF? 2
?F? F2
?F? ?F?FF? 2? V? V? 2? 
? 2? V? V? 1@
? 	
"
A
?
@??8	:? 	*? 	"? 	@":
2B*? 	:? 	@??"
@??7	bV?
"? 	@??8"

"?A7
"

?A
?@????????8?
:?:8":8":
"?A7
"

?A
?@????????8?::?:8B:"? 	@@?

A?:::

?A72@@?@??8?:?:8?:
?:@??8



?A7



?A
"@????????
8"
"8
2"*? 	:? 	@??AB
B*?A7	:*
?:
A?:::

?A7R@@?@??8?:*?:8?:
?:@??8:


?A7



?A
@????????
8?:
?:8?:
A:
?A7	":
:B
@??7	bV2"? 

? ?V	*? 	
b?@??$2?
?
?A$?

?AN	
:(B
7	"*
+W??(

??@??7	B*

+"*22FF? 
? 
6
2FF?AN	:(B
7	B**
+*(B
7	B:*
+"*2
2FF? 
F2F? 
2B? 
? 6b6b@6"@6? F6? F6B
6?
6? &
6R 6R 6?
6? 6	6? F6r @>STATt;DXBCvUנ??I@[$????4|h??RDEF@????
6G]z?????
?????
?????
?????
?????
?????
?????
?sampler_colorTexsampler_alphaTexsampler_uvDistortionTexsampler_blendTexsampler_blendAlphaTexsampler_blendUVDistortionTexsampler_depthTex_colorTex_alphaTex_uvDistortionTex_blendTex_blendAlphaTex_blendUVDistortionTex_depthTexPS_ConstanBuffer??? ????? ??0?@?(P??`?Up?g??z???????????????????????fLightDirectionfLightColorfLightAmbientfFlipbookParameterfUVDistortionParameterfBlendTextureParameterfCameraFrontDirectionfFalloffParameterfFalloffBeginColorfFalloffEndColorfEmissiveScalingfEdgeColorfEdgeParametersoftParticleParamreconstructionParam1reconstructionParam2mUVInversedBackmiscFlagsMicrosoft (R) HLSL Shader Compiler 9.29.952.3111???ISGN?????????SV_POSITIONCOLORTEXCOORD?OSGN, SV_Target??SHDR?@9YF? Z`Z`Z`Z`Z`Z`Z`XpUUXpUUXpUUXpUUXpUUXpUUXpUUb?b?brb?b?b?b?e? h9
? @E	??F~`4b??@44/bV8
bV@UU?>UU?>bV2bV@=
??=
??@?Ga??Ga?4
bV@7	bV22?@@@@????2B?A:? *? 2
b? E	??F~`4?	??@444/?V8
?V@UU?>UU?>UU?>?V2?V@=
??=
??=
??@?Ga??Ga??Ga?4
?V@7	r?F8?FF1"@
? 2
b? ?E	??F~`4?	??@444/?V8
?V@UU?>UU?>UU?>?V2?V@=
??=
??=
??@?Ga??Ga??Ga?4
?V@7	r?F"? @??2
?FFF?A2	??FF7	?VFF2
b? E	??F~`4"
??@4/"8"@UU?>"2	"@=
??@?Ga?4"@7	"

8":8?:E	??F~`4b??@44/bV8
bV@UU?>UU?>bV2bV@=
??=
??@?Ga??Ga?4
bV@7	bV22?@@@@????2B?A:? *? 2
bV? E	??F~`4?	??@444/?V8
?V@UU?>UU?>UU?>?V2?V@=
??=
??=
??@?Ga??Ga??Ga?4
?V@7	?V	2
2?V? FE	?FF~`4?
??@4/?:8?:@UU?>?:2	?:@=
??@?Ga?4?:@7	?
:
8?::8::8?V2
?:?A:@??2	r?F?2	r?F2
??AV	?? @??@@@8rF?7	r?FF7	??
V	7	?V	V7	rF?"F? ?AF? ?AD"8	?V? ?AFFD
8rF "?F/"8"*? "
?F? F? ?A	2
?VFF? 	?		rFF?A?F? @????@8rFF7	r?FF7	r?
FF7	rV?F8?::7	?FF9":? 
@??
bV@????8@?2
"*?A@?@??2B? 
? E	??F~`2

? ? 2b?? V? ?A22??A?? ? bV1?@1@?
:?A+?:8:*2
":
?A2B*:*? ?A
bV? 
3 "*8?:4":@":
8	?? V? ::?A	

? ?AB
2?	? 
V?A2	?VV2r?@Q?>Q?>Q?>@Ģ.?Ģ.?Ģ.?2r?F@?,MSTATt?QDXBCL??{R^??p?.ު???4??? RDEFxP??F<VS_ConstantBuffer??<h??@??@@?? ?3?mCameramCameraProjmUVInversedflipbookParameter1flipbookParameter2Microsoft (R) HLSL Shader Compiler 9.29.952.3111?ISGN,      	 
POSITIONNORMALTEXCOORD???OSGN?	?????????SV_POSITIONTEXCOORDCOLOR?SHDR,@KYF? _r_?_r_r_2_?_2_?_	_
g? e? e? e? e? e? e? e? e? h
r&@???rFF
rF@???rFF8rF?2
r&	&	F?A2? 
? 8?VF? 2
?F? F2
?F? ?F?FF? 2rF@@@@F8?VF? 2
?F? F2
?F? ?
F? FF? rFF8?VF? 2
?F? F2
?F? ?
F? FF? 2? V? V? 2? 
? 2? V? V? 1@
? 	
"
	A
	?
@??8	:? 	*? 	"? 	@":
2B*? 	:? 	@??"
@??7	bV?
"? 	@??8"

"?A7
"

?A
?@????????8?
:?:8":8":
"?A7
"

?A
?@????????8?::?:8B:"? 	@@?

A?:::

?A72@@?@??8?:?:8?:
?:@??8



?A7



?A
"@????????
8"
"8
2"*? 	:? 	@??AB
B*?A7	:*
?:
A?:::

?A7R@@?@??8?:*?:8?:
?:@??8:


?A7



?A
@????????
8?:
?:8?:
A:
?A7	":
:B
@??7	bV2"? 

? ?V	*? 	
b?@??$2?
?
?A$?

?AN	
:(B
7	"*
+W??(

??@??7	B*

+"*22FF? 
? 
6
2FF?AN	:(B
7	B**
+*(B
7	B:*
+"*2
2FF? 
F2F? 
2B? 
? 6b6b@6"@6? F6B
6?

6? &
6? F6? F6R 6R 6?
6? 6	>STATt?EDXBC??7?8X???5c24T4@Dx?RDEFT???<M]n?????????
?????
?????
?????
	????
????
"????
8????
Bsampler_colorTexsampler_backTexsampler_alphaTexsampler_uvDistortionTexsampler_blendTexsampler_blendAlphaTexsampler_blendUVDistortionTexsampler_depthTex_colorTex_backTex_alphaTex_uvDistortionTex_blendTex_blendAlphaTex_blendUVDistortionTex_depthTexPS_ConstanBuffer?Bl?,4D4T 4g04~@4?P4?`4?p4g_scalemUVInversedBackfFlipbookParameterfUVDistortionParameterfBlendTextureParametersoftParticleParamreconstructionParam1reconstructionParam2Microsoft (R) HLSL Shader Compiler 9.29.952.3111??ISGN?	?????????SV_POSITIONTEXCOORDCOLOR?OSGN, SV_Target??SHDR@YF? Z`Z`Z`Z`Z`Z`Z`Z`XpUUXpUUXpUUXpUUXpUUXpUUXpUUXpUUb?b?b?b?b?b?b?b?e? hE	??F~`22F@@@@????2B?A:? *? 2
?? E	??F~`8B::1"@
? 2
?? ?E	??F~`"? @??2
rFFF?A2	r?FF7	rVFF2
2?? FE	?FF~`8:
8
*4":@"

E	??F~`22F@@@@????2B?A:? *? 2
bV? E	??F~`2
bV? E	??F~`8":
8B:8??
2
":?A@??2	?V?2	2?
FF2
??
?A?? @??@@@8??7	2??
F7	2?
?
F7	2VFF7	bV2F???2F?2bV@@@@????8bV8bV? ??A?2	??V2F?AF2	b?
V
bV@????8@?2
"*?A@?@??2B? 
? E	??6y`9":? @??
bV@????8@?2
B*?A@?@??E	??F~`2

? ? 2b?? V? ?A22??A?? ? bV1?@1@?
:?A+?:8:*2
":
?A2B*:*? ?AbV? 3 "*8
6
6? ?>STATtS	 	
DXBC????w???*?;W|4??RDEFxP??F<VS_ConstantBuffer??<h??@??@@?? ?3?mCameramCameraProjmUVInversedflipbookParameter1flipbookParameter2Microsoft (R) HLSL Shader Compiler 9.29.952.3111?ISGN,      	 
POSITIONNORMALTEXCOORD???OSGN
?







	SV_POSITIONCOLORTEXCOORD?SHDR?@?YF? _r_?_r_r_2_?_2_?_	_
g? e? e? er er er e? e? e? e? 	h	
rF@???rFF
rF@???rFF8r&	?2
r ?&	F?A2? 
? 8?VF? 2
?F? F2
?F? ?F?FF? 2? V? V? 2? 
? 2? V? V? 1?@
? 	:"
	A
	?
@??8	?:? 	*? 	?? 	@:?::2*? 	:? 	@??"
@??7	??? 	@??
8:


?A7

::?A
"@????????
8"
"8"
8::

?A7

::?A
"@????????
8":"8?
? 	@@"
:A"BB**?A7??
@@?@??8":"8"*"@??8B:
B**?A7
B*::?A
?@????????*8?
:?:8B:*2?*? 	:? 	@??A*:
?A7	
*"::A"BB**?A7??
@@?@??8":"8"*"@??8B::B**?A7
?*::?A
B@????????:8?:*?:8?::A?:?:?A:7	"::B
@??7	?2"? 

? 2??*? 	
?@??$??A$?::?AN	*:(B
7	B**
+*W2?F(?

2F@??7	?
:
+":2R? 
?? 
6
R?AN	::(?
7	?::
+:(?
7	?:
+":2
2FF? 
?2F? 
2B? 
? 6b6b@6"@6? F6? F6B
6?

6? &
6R 6R 6?
6? 6	6? 	F6r F6r F>STATt?	@DXBC'x?s??????9:$4??(?RDEF?X??h<M_p?????????
?????
?????
?????

????
????
&????
<????
Fsampler_colorTexsampler_normalTexsampler_alphaTexsampler_uvDistortionTexsampler_blendTexsampler_blendAlphaTexsampler_blendUVDistortionTexsampler_depthTex_colorTex_normalTex_alphaTex_uvDistortionTex_blendTex_blendAlphaTex_blendUVDistortionTex_depthTexPS_ConstanBuffer?Fp  0@0L 0Z00m@0?P0?`0?p0??0??0??0??0?0?0$?09?0N0^0fLightDirectionfLightColorfLightAmbientfFlipbookParameterfUVDistortionParameterfBlendTextureParameterfCameraFrontDirectionfFalloffParameterfFalloffBeginColorfFalloffEndColorfEmissiveScalingfEdgeColorfEdgeParametersoftParticleParamreconstructionParam1reconstructionParam2mUVInversedBackmiscFlagsMicrosoft (R) HLSL Shader Compiler 9.29.952.3111???ISGN
?







	SV_POSITIONCOLORTEXCOORD?OSGN, SV_Target??SHDRx@?YF? Z`Z`Z`Z`Z`Z`Z`Z`XpUUXpUUXpUUXpUUXpUUXpUUXpUUXpUUb?b?brbrbrb?b?b?b?	e? h9
? @E	??F~`4b??@44/bV8
bV@UU?>UU?>bV2bV@=
??=
??@?Ga??Ga?4
bV@7	bV22?@@@@????2B?A:? *? 2
b? E	??F~`4rF??@444/rF8
rF@UU?>UU?>UU?>rF2rF@=
??=
??=
??@?Ga??Ga??Ga?4
rF@7	rFF8?FFE	??F~`
?	@????VV8r?
F2	rVFF2	??	"??D"8?VV1"@
? 2
?? ?E	??F~`4rF??@444/rF8
rF@UU?>UU?>UU?>rF2rF@=
??=
??=
??@?Ga??Ga??Ga?4
rF@7	rFF"? @??2
?FFF?A2	??FF7	?VFF2
2?? FE	?FF~`4"
??@4/"8"@UU?>"2	"@=
??@?Ga?4"@7	

8:
8?
:E	??F~`4???@44/??8
??@UU?>UU?>??2??@=
??=
??@?Ga??Ga?4
??@7	2?
F22F@@@@????2B?A:? *? 2
?V? E	??F~`4rF??@444/rF8
rF@UU?>UU?>UU?>rF2rF@=
??=
??=
??@?Ga??Ga??Ga?4
rF@7	rFF2
2?V? FE	?FF~`4?
??@4/?:8?:@UU?>?:2	?:@=
??@?Ga?4?:@7	?
:
8?::8::8?	2
?:?A:@??2	r?F?2	rFF2
r?AFF?? @??@@@8rF?7	r?FF7	r?
FF7	rVFF7	rFF?F? ?4?:@2rF? ?F? 8rFF?F? ?AF? ?AD?:8	r?F? ?A "F?/"8"*? "
?F? F? ?A	2
?VFF? 	2	?			2
rFFF?A?F? @????@8rFF7	r?FF7	r?
FF7	rV?F8?::7	?FF9":? 
@?	?	
bV@????8@?2
"*?A@?@??2B? 
? E	??F~`2

? ? 2b?? V? ?A22??A?? ? bV1?@1@?
:?A+?:8:*2
":
?A2B*:*? ?A
bV? 
3 "*8?:4":@":
8	?? V? ::?A	

? ?AB
2?	? 
V?A2	?VV2r?@Q?>Q?>Q?>@Ģ.?Ģ.?Ģ.?2r?F@?,MSTATt?
U	DXBC;????c?,@??9F?4???RDEFLP??<VS_ConstantBuffer??<h??@??@@??????mCameramCameraProjmUVInversedmflipbookParameterMicrosoft (R) HLSL Shader Compiler 9.29.952.3111ISGNlPY`POSITIONNORMALTEXCOORD???OSGN?htzzSV_POSITIONCOLORTEXCOORD?SHDR?@bYF? 	_r_?_2g? e? e2 e? h8?VF? 2
?F? F2
?F? ?F?FF? 6? F6? F6? F2" ? 
? 6 
>STATt
DXBC9??;Tkzȑ?;%?4?DDRDEFH?????????
?????
?sampler_colorTexsampler_depthTex_colorTex_depthTexPS_ConstanBuffer?? ????? ?0?@?0P?G`?]p?o?????????????????????????
?fLightDirectionfLightColorfLightAmbientfFlipbookParameterfUVDistortionParameterfBlendTextureParameterfCameraFrontDirectionfFalloffParameterfFalloffBeginColorfFalloffEndColorfEmissiveScalingfEdgeColorfEdgeParametersoftParticleParamreconstructionParam1reconstructionParam2mUVInversedBackmiscFlagsMicrosoft (R) HLSL Shader Compiler 9.29.952.3111???ISGN?htzzSV_POSITIONCOLORTEXCOORD?OSGN, SV_Target??SHDR?@~YF? Z`Z`XpUUXpUUb?b2b?e? h9
? @E	?FF~`4?	??@444/?V8
?V@UU?>UU?>UU?>?V2?V@=
??=
??=
??@?Ga??Ga??Ga?4
?V@7	r?F8?FF9":? 
@??
bV@????8@?2
"*?A@?@??2B? 
? E	??F~`2

? ? 2b?? V? ?A22??A?? ? bV1?@1@?
:?A+?:8:*2
":
?A2B*:*? ?A
bV? 
3 "*8?:":@
8?	? 
2r?@Q?>Q?>Q?>@Ģ.?Ģ.?Ģ.?2r?F@?,MSTATt+DXBC??ld??0G?8?ʰt4?D?RDEFLP??<VS_ConstantBuffer??<h??@??@@??????mCameramCameraProjmUVInversedmflipbookParameterMicrosoft (R) HLSL Shader Compiler 9.29.952.3111ISGN???????POSITIONNORMALTEXCOORD???OSGN???????SV_POSITIONTEXCOORDCOLOR?SHDR?@?YF? 	_r_?_r_r_2g? e2 e? e? e? e? h8?VF? 2
?F? F2
?F? ?F?FF? 6? F6? F2" ? 
? 6 

r&@???rFF
rF@???rFF2rF@@@@F8rF?2
r&	&	F?ArFF8?VF? 2
?F? F2
?F? ?
F? FF? 8?VF? 2
?F? F2
?F? ?
F? FF? 6? F>STATtDXBC??[J??3
?)d?J`?
4H8X
RDEF\????
.????
8????
A????
Ksampler_colorTexsampler_backTexsampler_depthTex_colorTex_backTex_depthTexPS_ConstanBufferKt?4<L<\ <o0<?@<?P<?`<?p<g_scalemUVInversedBackfFlipbookParameterfUVDistortionParameterfBlendTextureParametersoftParticleParamreconstructionParam1reconstructionParam2Microsoft (R) HLSL Shader Compiler 9.29.952.3111??ISGN???????SV_POSITIONTEXCOORDCOLOR?OSGN, SV_Target??SHDR@?YF? Z`Z`Z`XpUUXpUUXpUUb2b?b?b?b?e? hE	?FF~`8::9B:? @*??
?V	@????8*@?2
B:?A@?@??E	??F~`2

? ? 2??? V? ?A22??A?? ? ??1@*1"*@
?A+
8":
2
B*
?A2?:
*? ?A??? 3 B:*8*
B
@
*??2F???22F@@@@????82FF82F? 2?
?AF2	2F?
R??A?2	2?VF
2F@????8
@?2
"?A@?@??2B? 
? E	??F~`6?	6? ?>STATt,DXBC?STATtDXBCÈ?????0f??C$5?@4????
RDEF?`??p?
0????
:????
E????
Osampler_colorTexsampler_normalTexsampler_depthTex_colorTex_normalTex_depthTexPS_ConstanBufferOx (8H8T 8b08u@8?P8?`8?p8??8??8??8?8?8?8,?8A?8V8f8fLightDirectionfLightColorfLightAmbientfFlipbookParameterfUVDistortionParameterfBlendTextureParameterfCameraFrontDirectionfFalloffParameterfFalloffBeginColorfFalloffEndColorfEmissiveScalingfEdgeColorfEdgeParametersoftParticleParamreconstructionParam1reconstructionParam2mUVInversedBackmiscFlagsMicrosoft (R) HLSL Shader Compiler 9.29.952.3111???ISGN????????SV_POSITIONCOLORTEXCOORD?OSGN, SV_Target??SHDR?@?YF? Z`Z`Z`XpUUXpUUXpUUb?b2brbrbrb?e? h9
? @E	?FF~`4?	??@444/?V8
?V@UU?>UU?>UU?>?V2?V@=
??=
??=
??@?Ga??Ga??Ga?4
?V@7	r?F8?FF9":? 
@??
bV@????8@?2
"*?A@?@??2B? 
? E	??F~`2

? ? 2b?? V? ?A22??A?? ? bV1?@1@?
:?A+?:8:*2
":
?A2B*:*? ?A
bV? 
3 "*8?:":@
E	?FF~`
?	@????VV8r?
F2	rVFF2	??	??D
8?V"F? ?4"@2?? V? 8?V	8?V? 
2r?@Q?>Q?>Q?>@Ģ.?Ģ.?Ģ.?2r?F@?,MSTATt8@??P???(??P8?p8??:?d????P?? ?????P8?p8??:??????P;?P;?Х?P8?p8??:?X?????P;?P;?8??P8?p8??:?L?????P;?P;?x??P8?p8??:?p??`??P;?P;? ??P8?p8??:?4?????P;?P;????P8?p8??:?@??H??P;?P;???P8?p8??:?(?????P8?p8??:??????????%??%????????????%?0?????P?????@???%?p?????0?P;? ??P;?p?DirectX11vs_4_0ps_4_0srcLayer must be 0 when an usage contains ArraydstLayer must be 0 when an usage contains ArraysrcPos[2] must be 0 when a dimention is 2dstPos[2] must be 0 when a dimention is 2)///)DXBCe?????/q
?A??'?c?484@RDEF?P???<VS_ConstantBuffer??<h !@@
(8@
?<L??Xh@?x?????@???????@P#`?@P??hx`???? ?? ?!?!mCameraProjmModel_Inst(fUV(fAlphaUV???(fUVDistortionUV(fBlendUV???(fBlendAlphaUV??(fBlendUVDistortionUV???(flipbookParameter1?flipbookParameter2fFlipbookIndexAndNextRate???(fModelAlphaThreshold???(fModelColor(fLightDirectionfLightColorfLightAmbientmUVInversedMicrosoft (R) HLSL Shader Compiler 9.29.952.3111?ISGN????????POSITIONNORMALTEXCOORDSV_InstanceID?OSGN
?







	SV_POSITIONCOLORTEXCOORD?SHDR@AYF? _r_r_r_r_2_?`g? e? e? er er er e? e? e? e? 	h)
@6"
8
? FF? ?8
?VF? 
2?F? 
F2?F? 
?F
?FF? 
8?VF? 2
?F? F2
?F? ?
F2
?F? ?F2RV?? ?V? ?2? 

? 8
?VF? 
2?F? 
F2?F? 
?F8
?VF? 
2?F? 
F2?F? 
?F8
?VF? 
2?F? 
F2?F? 
?FFFD
8r FFFD
8r FFFD
8r F2 
*? ?
? ?2:? ?? ?2B 
*? ?
? ?2B:? ?? ?2 
*? 
? 2?:? ? 2 
*? D
? D2:? D? D2B 
*? l
? l2":? l? l1B@
? ?*B
? ?A
? ??
@??8	?:? ?*? ?? ?@
::2"*? ?:? ?@??"
@??7	2VF"? ?@??8":
"?A7
"::?A
B@????????8B
*B*8*8"::"?A7
"::?A
B@????????8B:*B*8"*"? ?@@B
:AB*?**?::?A72?@@?@??8B*B*8B*
B*@??8?:
?::?A7
?:::?A
@????????:8


8?:
2*? ?:? ?@??A":"?A
7	*:B::AB*?**?::?A7b?@@?@??8B**B*8B*B*@??8?::?::?A7
?:::?A
?@????????:8?::?:8?::A?:?:?A
7	"*::B
@??7	2VF?2"? 

? 2F?*? ?
?@??$2FF?A$B::?AN	
*(?
7	B*:
+*W2?F(?

2F@??7	?
:
+":2R? ??? ?R?	?AN	*(?
7	?::
+:(?
7	?:
+":2
2FF? ??2F? ?2B? 
? 6? 6"*6? @6"@2" ? 

? 2? ? *
? 2" ? :
? 2" ? 

? 2? ? 
? 6? F6?
? ?6? &
6? 	F>STATt?IDXBC'x?s??????9:$4??(?RDEF?X??h<M_p?????????
?????
?????
?????

????
????
&????
<????
Fsampler_colorTexsampler_normalTexsampler_alphaTexsampler_uvDistortionTexsampler_blendTexsampler_blendAlphaTexsampler_blendUVDistortionTexsampler_depthTex_colorTex_normalTex_alphaTex_uvDistortionTex_blendTex_blendAlphaTex_blendUVDistortionTex_depthTexPS_ConstanBuffer?Fp  0@0L 0Z00m@0?P0?`0?p0??0??0??0??0?0?0$?09?0N0^0fLightDirectionfLightColorfLightAmbientfFlipbookParameterfUVDistortionParameterfBlendTextureParameterfCameraFrontDirectionfFalloffParameterfFalloffBeginColorfFalloffEndColorfEmissiveScalingfEdgeColorfEdgeParametersoftParticleParamreconstructionParam1reconstructionParam2mUVInversedBackmiscFlagsMicrosoft (R) HLSL Shader Compiler 9.29.952.3111???ISGN
?







	SV_POSITIONCOLORTEXCOORD?OSGN, SV_Target??SHDRx@?YF? Z`Z`Z`Z`Z`Z`Z`Z`XpUUXpUUXpUUXpUUXpUUXpUUXpUUXpUUb?b?brbrbrb?b?b?b?	e? h9
? @E	??F~`4b??@44/bV8
bV@UU?>UU?>bV2bV@=
??=
??@?Ga??Ga?4
bV@7	bV22?@@@@????2B?A:? *? 2
b? E	??F~`4rF??@444/rF8
rF@UU?>UU?>UU?>rF2rF@=
??=
??=
??@?Ga??Ga??Ga?4
rF@7	rFF8?FFE	??F~`
?	@????VV8r?
F2	rVFF2	??	"??D"8?VV1"@
? 2
?? ?E	??F~`4rF??@444/rF8
rF@UU?>UU?>UU?>rF2rF@=
??=
??=
??@?Ga??Ga??Ga?4
rF@7	rFF"? @??2
?FFF?A2	??FF7	?VFF2
2?? FE	?FF~`4"
??@4/"8"@UU?>"2	"@=
??@?Ga?4"@7	

8:
8?
:E	??F~`4???@44/??8
??@UU?>UU?>??2??@=
??=
??@?Ga??Ga?4
??@7	2?
F22F@@@@????2B?A:? *? 2
?V? E	??F~`4rF??@444/rF8
rF@UU?>UU?>UU?>rF2rF@=
??=
??=
??@?Ga??Ga??Ga?4
rF@7	rFF2
2?V? FE	?FF~`4?
??@4/?:8?:@UU?>?:2	?:@=
??@?Ga?4?:@7	?
:
8?::8::8?	2
?:?A:@??2	r?F?2	rFF2
r?AFF?? @??@@@8rF?7	r?FF7	r?
FF7	rVFF7	rFF?F? ?4?:@2rF? ?F? 8rFF?F? ?AF? ?AD?:8	r?F? ?A "F?/"8"*? "
?F? F? ?A	2
?VFF? 	2	?			2
rFFF?A?F? @????@8rFF7	r?FF7	r?
FF7	rV?F8?::7	?FF9":? 
@?	?	
bV@????8@?2
"*?A@?@??2B? 
? E	??F~`2

? ? 2b?? V? ?A22??A?? ? bV1?@1@?
:?A+?:8:*2
":
?A2B*:*? ?A
bV? 
3 "*8?:4":@":
8	?? V? ::?A	

? ?AB
2?	? 
V?A2	?VV2r?@Q?>Q?>Q?>@Ģ.?Ģ.?Ģ.?2r?F@?,MSTATt?
U	DXBCR?YI
/˚(?U?????488RDEF?P???<VS_ConstantBuffer??<h !@@
(8@
?<L??Xh@?x?????@???????@P#`?@P??hx`???? ?? ?!?!mCameraProjmModel_Inst(fUV(fAlphaUV???(fUVDistortionUV(fBlendUV???(fBlendAlphaUV??(fBlendUVDistortionUV???(flipbookParameter1?flipbookParameter2fFlipbookIndexAndNextRate???(fModelAlphaThreshold???(fModelColor(fLightDirectionfLightColorfLightAmbientmUVInversedMicrosoft (R) HLSL Shader Compiler 9.29.952.3111?ISGN????????POSITIONNORMALTEXCOORDSV_InstanceID?OSGN?????????SV_POSITIONCOLORTEXCOORD?SHDR,@?YF? _r_r_2_?`g? e? e? er e? e? e? e? h)
@6"
8
? FF? ?8
?VF? 
2?F? 
F2?F? 
?F
?FF? 
8?VF? 2
?F? F2
?F? ?
F2
?F? ?F2RV?? ?V? ?2? 

? 8
?VF? 
2?F? 
F2?F? 
?FFFD
8r F2 
*? ?
? ?2:? ?? ?2B 
*? ?
? ?2B:? ?? ?2 
*? 
? 2?:? ? 2 
*? D
? D2:? D? D2B 
*? l
? l2":? l? l1B@
? ?*B
? ?A
? ??
@??8	?:? ?*? ?? ?@
::2"*? ?:? ?@??"
@??7	2VF"? ?@??8":
"?A7
"::?A
B@????????8B
*B*8*8"::"?A7
"::?A
B@????????8B:*B*8"*"? ?@@B
:AB*?**?::?A72?@@?@??8B*B*8B*
B*@??8?:
?::?A7
?:::?A
@????????:8


8?:
2*? ?:? ?@??A":"?A
7	*:B::AB*?**?::?A7b?@@?@??8B**B*8B*B*@??8?::?::?A7
?:::?A
?@????????:8?::?:8?::A?:?:?A
7	"*::B
@??7	2VF?2"? 

? 2F?*? ?
?@??$2FF?A$B::?AN	
*(?
7	B*:
+*W2?F(?

2F@??7	?
:
+":2R? ??? ?R?	?AN	*(?
7	?::
+:(?
7	?:
+":2
2FF? ??2F? ?2B? 
? 6? 6"*6? @6"@2" ? 

? 2? ? *
? 2" ? :
? 2" ? 

? 2? ? 
? 6? F6?
? ?6? &
6? F>STATt?
ADXBCvUנ??I@[$????4|h??RDEF@????
6G]z?????
?????
?????
?????
?????
?????
?????
?sampler_colorTexsampler_alphaTexsampler_uvDistortionTexsampler_blendTexsampler_blendAlphaTexsampler_blendUVDistortionTexsampler_depthTex_colorTex_alphaTex_uvDistortionTex_blendTex_blendAlphaTex_blendUVDistortionTex_depthTexPS_ConstanBuffer??? ????? ??0?@?(P??`?Up?g??z???????????????????????fLightDirectionfLightColorfLightAmbientfFlipbookParameterfUVDistortionParameterfBlendTextureParameterfCameraFrontDirectionfFalloffParameterfFalloffBeginColorfFalloffEndColorfEmissiveScalingfEdgeColorfEdgeParametersoftParticleParamreconstructionParam1reconstructionParam2mUVInversedBackmiscFlagsMicrosoft (R) HLSL Shader Compiler 9.29.952.3111???ISGN?????????SV_POSITIONCOLORTEXCOORD?OSGN, SV_Target??SHDR?@9YF? Z`Z`Z`Z`Z`Z`Z`XpUUXpUUXpUUXpUUXpUUXpUUXpUUb?b?brb?b?b?b?e? h9
? @E	??F~`4b??@44/bV8
bV@UU?>UU?>bV2bV@=
??=
??@?Ga??Ga?4
bV@7	bV22?@@@@????2B?A:? *? 2
b? E	??F~`4?	??@444/?V8
?V@UU?>UU?>UU?>?V2?V@=
??=
??=
??@?Ga??Ga??Ga?4
?V@7	r?F8?FF1"@
? 2
b? ?E	??F~`4?	??@444/?V8
?V@UU?>UU?>UU?>?V2?V@=
??=
??=
??@?Ga??Ga??Ga?4
?V@7	r?F"? @??2
?FFF?A2	??FF7	?VFF2
b? E	??F~`4"
??@4/"8"@UU?>"2	"@=
??@?Ga?4"@7	"

8":8?:E	??F~`4b??@44/bV8
bV@UU?>UU?>bV2bV@=
??=
??@?Ga??Ga?4
bV@7	bV22?@@@@????2B?A:? *? 2
bV? E	??F~`4?	??@444/?V8
?V@UU?>UU?>UU?>?V2?V@=
??=
??=
??@?Ga??Ga??Ga?4
?V@7	?V	2
2?V? FE	?FF~`4?
??@4/?:8?:@UU?>?:2	?:@=
??@?Ga?4?:@7	?
:
8?::8::8?V2
?:?A:@??2	r?F?2	r?F2
??AV	?? @??@@@8rF?7	r?FF7	??
V	7	?V	V7	rF?"F? ?AF? ?AD"8	?V? ?AFFD
8rF "?F/"8"*? "
?F? F? ?A	2
?VFF? 	?		rFF?A?F? @????@8rFF7	r?FF7	r?
FF7	rV?F8?::7	?FF9":? 
@??
bV@????8@?2
"*?A@?@??2B? 
? E	??F~`2

? ? 2b?? V? ?A22??A?? ? bV1?@1@?
:?A+?:8:*2
":
?A2B*:*? ?A
bV? 
3 "*8?:4":@":
8	?? V? ::?A	

? ?AB
2?	? 
V?A2	?VV2r?@Q?>Q?>Q?>@Ģ.?Ģ.?Ģ.?2r?F@?,MSTATt?QDXBCD??3?kɂ$?5@?48|RDEF?P???<VS_ConstantBuffer??<h !@@
(8@
?<L??Xh@?x?????@???????@P#`?@P??hx`???? ?? ?!?!mCameraProjmModel_Inst(fUV(fAlphaUV???(fUVDistortionUV(fBlendUV???(fBlendAlphaUV??(fBlendUVDistortionUV???(flipbookParameter1?flipbookParameter2fFlipbookIndexAndNextRate???(fModelAlphaThreshold???(fModelColor(fLightDirectionfLightColorfLightAmbientmUVInversedMicrosoft (R) HLSL Shader Compiler 9.29.952.3111?ISGN????????POSITIONNORMALTEXCOORDSV_InstanceID?OSGN?	?????????SV_POSITIONTEXCOORDCOLOR?SHDRX@VYF? _r_r_r_2_?`g? e? e? e? e? e? e? e? e? h)
@6"
8
? FF? ?8
?VF? 
2?F? 
F2?F? 
?F
?FF? 
8?VF? 2
?F? F2
?F? ?
F2
?F? ?F2RV?? ?V? ?2? 

? 8
?VF? 
2?F? 
F2?F? 
?F8
?VF? 
2?F? 
F2?F? 
?FFFD
BFFDB*2	?F?
F8?VF? 2
?F? F2
?F? ?
F2
? F? ?F2	?FF8?VF? 2
?F? F2
?F? ?
F2
? F? ?F2 
*? ?
? ?2:? ?? ?2B 
*? ?
? ?2B:? ?? ?2 
*? 
? 2?:? ? 2 
*? D
? D2:? D? D2B 
*? l
? l2":? l? l1B@
? ?*B
? ?A
? ??
@??8	?:? ?*? ?? ?@
::2"*? ?:? ?@??"
@??7	2VF"? ?@??8":
"?A7
"::?A
B@????????8B
*B*8*8"::"?A7
"::?A
B@????????8B:*B*8"*"? ?@@B
:AB*?**?::?A72?@@?@??8B*B*8B*
B*@??8?:
?::?A7
?:::?A
@????????:8


8?:
2*? ?:? ?@??A":"?A
7	*:B::AB*?**?::?A7b?@@?@??8B**B*8B*B*@??8?::?::?A7
?:::?A
?@????????:8?::?:8?::A?:?:?A
7	"*::B
@??7	2VF?2"? 

? 2F?*? ?
?@??$2FF?A$B::?AN	
*(?
7	B*:
+*W2?F(?

2F@??7	?
:
+":2R? ??? ?R?	?AN	*(?
7	?::
+:(?
7	?:
+":2
2FF? ??2F? ?2B? 
? 6? 6"*6? @6"@2" ? 

? 2? ? *
? 2" ? :
? 2" ? 

? 2? ? 
? 6? F6?
? ?6? &
6? F>STATt?EDXBC??7?8X???5c24T4@Dx?RDEFT???<M]n?????????
?????
?????
?????
	????
????
"????
8????
Bsampler_colorTexsampler_backTexsampler_alphaTexsampler_uvDistortionTexsampler_blendTexsampler_blendAlphaTexsampler_blendUVDistortionTexsampler_depthTex_colorTex_backTex_alphaTex_uvDistortionTex_blendTex_blendAlphaTex_blendUVDistortionTex_depthTexPS_ConstanBuffer?Bl?,4D4T 4g04~@4?P4?`4?p4g_scalemUVInversedBackfFlipbookParameterfUVDistortionParameterfBlendTextureParametersoftParticleParamreconstructionParam1reconstructionParam2Microsoft (R) HLSL Shader Compiler 9.29.952.3111??ISGN?	?????????SV_POSITIONTEXCOORDCOLOR?OSGN, SV_Target??SHDR@YF? Z`Z`Z`Z`Z`Z`Z`Z`XpUUXpUUXpUUXpUUXpUUXpUUXpUUXpUUb?b?b?b?b?b?b?b?e? hE	??F~`22F@@@@????2B?A:? *? 2
?? E	??F~`8B::1"@
? 2
?? ?E	??F~`"? @??2
rFFF?A2	r?FF7	rVFF2
2?? FE	?FF~`8:
8
*4":@"

E	??F~`22F@@@@????2B?A:? *? 2
bV? E	??F~`2
bV? E	??F~`8":
8B:8??
2
":?A@??2	?V?2	2?
FF2
??
?A?? @??@@@8??7	2??
F7	2?
?
F7	2VFF7	bV2F???2F?2bV@@@@????8bV8bV? ??A?2	??V2F?AF2	b?
V
bV@????8@?2
"*?A@?@??2B? 
? E	??6y`9":? @??
bV@????8@?2
B*?A@?@??E	??F~`2

? ? 2b?? V? ?A22??A?? ? bV1?@1@?
:?A+?:8:*2
":
?A2B*:*? ?AbV? 3 "*8
6
6? ?>STATtS	 	
DXBC??????%Ha????8
4D$??	RDEFP???<VS_ConstantBuffer??<h?(@4D@
P`@
?dt????@??P??`??p?mCameraProjmModel_Inst(fUV(fModelColor(fLightDirectionfLightColorfLightAmbientmUVInversedMicrosoft (R) HLSL Shader Compiler 9.29.952.3111?ISGN????????POSITIONNORMALTEXCOORDSV_InstanceID?OSGN????????SV_POSITIONCOLORTEXCOORD?SHDR?@oYF? ?_r_r_r_r_2_?`g? e? e2 er er er e? h)
@8
?VF? 
2?F? 
F2?F? 
?F
?FF? 
8?VF? 2
?F? F2
?F? ?
F2
?F? ?F6? F6? F6"
8
? FF? ?2B:? ?? ?2 
*? ?
? ?2" ? ?*
? ?8
?VF? 
2?F? 
F2?F? 
?F"FFD"8r VF8
?VF? 
2?F? 
F2?F? 
?F"FFD"8r VF8
?VF? 
2?F? 
F2?F? 
?F?FFD?:8r ?F>STATt#DXBCÈ?????0f??C$5?@4????
RDEF?`??p?
0????
:????
E????
Osampler_colorTexsampler_normalTexsampler_depthTex_colorTex_normalTex_depthTexPS_ConstanBufferOx (8H8T 8b08u@8?P8?`8?p8??8??8??8?8?8?8,?8A?8V8f8fLightDirectionfLightColorfLightAmbientfFlipbookParameterfUVDistortionParameterfBlendTextureParameterfCameraFrontDirectionfFalloffParameterfFalloffBeginColorfFalloffEndColorfEmissiveScalingfEdgeColorfEdgeParametersoftParticleParamreconstructionParam1reconstructionParam2mUVInversedBackmiscFlagsMicrosoft (R) HLSL Shader Compiler 9.29.952.3111???ISGN????????SV_POSITIONCOLORTEXCOORD?OSGN, SV_Target??SHDR?@?YF? Z`Z`Z`XpUUXpUUXpUUb?b2brbrbrb?e? h9
? @E	?FF~`4?	??@444/?V8
?V@UU?>UU?>UU?>?V2?V@=
??=
??=
??@?Ga??Ga??Ga?4
?V@7	r?F8?FF9":? 
@??
bV@????8@?2
"*?A@?@??2B? 
? E	??F~`2

? ? 2b?? V? ?A22??A?? ? bV1?@1@?
:?A+?:8:*2
":
?A2B*:*? ?A
bV? 
3 "*8?:":@
E	?FF~`
?	@????VV8r?
F2	rVFF2	??	??D
8?V"F? ?4"@2?? V? 8?V	8?V? 
2r?@Q?>Q?>Q?>@Ģ.?Ģ.?Ģ.?2r?F@?,MSTATt8DXBC?/???S4?)?{9,4D$??RDEFP???<VS_ConstantBuffer??<h?(@4D@
P`@
?dt????@??P??`??p?mCameraProjmModel_Inst(fUV(fModelColor(fLightDirectionfLightColorfLightAmbientmUVInversedMicrosoft (R) HLSL Shader Compiler 9.29.952.3111?ISGN????????POSITIONNORMALTEXCOORDSV_InstanceID?OSGN?htzzSV_POSITIONCOLORTEXCOORD?SHDR?@?YF? ?_r_2_?`g? e? e2 e? h)
@8
?VF? 
2?F? 
F2?F? 
?F
?FF? 
8?VF? 2
?F? F2
?F? ?
F2
?F? ?F6? F6? F6
8
? FF? ?
2":? ?
? ?
2 
*? ?

? ?
2" ? ?
? ?>STATtDXBC9??;Tkzȑ?;%?4?DDRDEFH?????????
?????
?sampler_colorTexsampler_depthTex_colorTex_depthTexPS_ConstanBuffer?? ????? ?0?@?0P?G`?]p?o?????????????????????????
?fLightDirectionfLightColorfLightAmbientfFlipbookParameterfUVDistortionParameterfBlendTextureParameterfCameraFrontDirectionfFalloffParameterfFalloffBeginColorfFalloffEndColorfEmissiveScalingfEdgeColorfEdgeParametersoftParticleParamreconstructionParam1reconstructionParam2mUVInversedBackmiscFlagsMicrosoft (R) HLSL Shader Compiler 9.29.952.3111???ISGN?htzzSV_POSITIONCOLORTEXCOORD?OSGN, SV_Target??SHDR?@~YF? Z`Z`XpUUXpUUb?b2b?e? h9
? @E	?FF~`4?	??@444/?V8
?V@UU?>UU?>UU?>?V2?V@=
??=
??=
??@?Ga??Ga??Ga?4
?V@7	r?F8?FF9":? 
@??
bV@????8@?2
"*?A@?@??2B? 
? E	??F~`2

? ? 2b?? V? ?A22??A?? ? bV1?@1@?
:?A+?:8:*2
":
?A2B*:*? ?A
bV? 
3 "*8?:":@
8?	? 
2r?@Q?>Q?>Q?>@Ģ.?Ģ.?Ģ.?2r?F@?,MSTATt+DXBC??ն??k?7Y}'t
4D$??	RDEFP???<VS_ConstantBuffer??<h?(@4D@
P`@
?dt????@??P??`??p?mCameraProjmModel_Inst(fUV(fModelColor(fLightDirectionfLightColorfLightAmbientmUVInversedMicrosoft (R) HLSL Shader Compiler 9.29.952.3111?ISGN????????POSITIONNORMALTEXCOORDSV_InstanceID?OSGN???????SV_POSITIONTEXCOORDCOLOR?SHDR@?YF? ?_r_r_r_2_?`g? e2 e? e? e? e? h)
@8
?VF? 
2?F? 
F2?F? 
?F
?FF? 
8?VF? 2
?F? F2
?F? ?
F2
?F? ?F6? F6? F6"
2B:? ?? ?2" ? ?*
? ?2 
*? ?
? ?8
? FF? ?8
?VF? 
2?F? 
F2?F? 
?F"FFD"2	?FVF8?VF? 2
?F? F2
?F? ?
F2
? F? ?F8
?VF? 
2?F? 
F2?F? 
?FFFD
2	?FF8?VF? 2
?F? F2
?F? ?
F2
? F? ?F>STATt%DXBC??[J??3
?)d?J`?
4H8X
RDEF\????
.????
8????
A????
Ksampler_colorTexsampler_backTexsampler_depthTex_colorTex_backTex_depthTexPS_ConstanBufferKt?4<L<\ <o0<?@<?P<?`<?p<g_scalemUVInversedBackfFlipbookParameterfUVDistortionParameterfBlendTextureParametersoftParticleParamreconstructionParam1reconstructionParam2Microsoft (R) HLSL Shader Compiler 9.29.952.3111??ISGN???????SV_POSITIONTEXCOORDCOLOR?OSGN, SV_Target??SHDR@?YF? Z`Z`Z`XpUUXpUUXpUUb2b?b?b?b?e? hE	?FF~`8::9B:? @*??
?V	@????8*@?2
B:?A@?@??E	??F~`2

? ? 2??? V? ?A22??A?? ? ??1@*1"*@
?A+
8":
2
B*
?A2?:
*? ?A??? 3 B:*8*
B
@
*??2F???22F@@@@????82FF82F? 2?
?AF2	2F?
R??A?2	2?VF
2F@????8
@?2
"?A@?@??2B? 
? E	??F~`6?	6? ?>STATt,unordered_map/set too longinvalid hash bucket count_#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 UV_Others;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct AdvancedParameter
{
    vec2 AlphaUV;
    vec2 UVDistortionUV;
    vec2 BlendUV;
    vec2 BlendAlphaUV;
    vec2 BlendUVDistortionUV;
    vec2 FlipbookNextIndexUV;
    float FlipbookRate;
    float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    vec4 g_scale;
    vec4 mUVInversedBack;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_uvDistortionTex;
uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_alphaTex;
uniform sampler2D Sampler_sampler_blendUVDistortionTex;
uniform sampler2D Sampler_sampler_blendTex;
uniform sampler2D Sampler_sampler_blendAlphaTex;
uniform sampler2D Sampler_sampler_backTex;

varying vec4 _VSPS_UV_Others;
varying vec4 _VSPS_ProjBinormal;
varying vec4 _VSPS_ProjTangent;
varying vec4 _VSPS_PosP;
varying vec4 _VSPS_Color;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

vec2 UVDistortionOffset(vec2 uv, vec2 uvInversed, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout vec4 dst, vec4 flipbookParameter, vec4 vcolor, vec2 nextUV, float flipbookRate, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout vec4 dstColor, vec4 blendColor, float blendType)
{
    if (blendType == 0.0)
    {
        vec3 _164 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_164.x, _164.y, _164.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            vec3 _176 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_176.x, _176.y, _176.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                vec3 _189 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_189.x, _189.y, _189.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    vec3 _202 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_202.x, _202.y, _202.z, dstColor.w);
                }
            }
        }
    }
}

vec4 _main(PS_Input Input)
{
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    vec2 param_1 = advancedParam.UVDistortionUV;
    vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = false;
    vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    vec4 Output = texture2D(Sampler_sampler_colorTex, vec2(Input.UV_Others.xy) + UVOffset);
    Output.w *= Input.Color.w;
    vec4 param_4 = Output;
    float param_5 = advancedParam.FlipbookRate;
    bool param_6 = false;
    ApplyFlipbook(param_4, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_5, param_6, Sampler_sampler_colorTex);
    Output = param_4;
    vec4 AlphaTexColor = texture2D(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    vec2 param_7 = advancedParam.BlendUVDistortionUV;
    vec2 param_8 = CBPS0.fUVDistortionParameter.zw;
    bool param_9 = false;
    vec2 BlendUVOffset = UVDistortionOffset(param_7, param_8, param_9, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    vec4 BlendTextureColor = texture2D(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    vec4 BlendAlphaTextureColor = texture2D(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    vec4 param_10 = Output;
    ApplyTextureBlending(param_10, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_10;
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    vec3 color = vec3(texture2D(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV_Others = _VSPS_UV_Others;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    vec4 _562 = _main(Input);
    gl_FragData[0] = _562;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 UV_Others;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct AdvancedParameter
{
    vec2 AlphaUV;
    vec2 UVDistortionUV;
    vec2 BlendUV;
    vec2 BlendAlphaUV;
    vec2 BlendUVDistortionUV;
    vec2 FlipbookNextIndexUV;
    float FlipbookRate;
    float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    vec4 g_scale;
    vec4 mUVInversedBack;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_uvDistortionTex;
uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_alphaTex;
uniform sampler2D Sampler_sampler_blendUVDistortionTex;
uniform sampler2D Sampler_sampler_blendTex;
uniform sampler2D Sampler_sampler_blendAlphaTex;
uniform sampler2D Sampler_sampler_backTex;
uniform sampler2D Sampler_sampler_depthTex;

centroid in vec4 _VSPS_UV_Others;
in vec4 _VSPS_ProjBinormal;
in vec4 _VSPS_ProjTangent;
in vec4 _VSPS_PosP;
centroid in vec4 _VSPS_Color;
in vec4 _VSPS_Alpha_Dist_UV;
in vec4 _VSPS_Blend_Alpha_Dist_UV;
in vec4 _VSPS_Blend_FBNextIndex_UV;
layout(location = 0) out vec4 _entryPointOutput;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

vec2 UVDistortionOffset(vec2 uv, vec2 uvInversed, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    vec4 sampledColor = texture(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout vec4 dst, vec4 flipbookParameter, vec4 vcolor, vec2 nextUV, float flipbookRate, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        vec4 sampledColor = texture(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout vec4 dstColor, vec4 blendColor, float blendType)
{
    if (blendType == 0.0)
    {
        vec3 _172 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_172.x, _172.y, _172.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            vec3 _184 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_184.x, _184.y, _184.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                vec3 _197 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_197.x, _197.y, _197.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    vec3 _210 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_210.x, _210.y, _210.z, dstColor.w);
                }
            }
        }
    }
}

float SoftParticle(float backgroundZ, float meshZ, vec4 softparticleParam, vec4 reconstruct1, vec4 reconstruct2)
{
    float distanceFar = softparticleParam.x;
    float distanceNear = softparticleParam.y;
    float distanceNearOffset = softparticleParam.z;
    vec2 rescale = reconstruct1.xy;
    vec4 params = reconstruct2;
    vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    float dir = sign(depth.x);
    depth *= dir;
    float alphaFar = (depth.x - depth.y) / distanceFar;
    float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

vec4 _main(PS_Input Input)
{
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    vec2 param_1 = advancedParam.UVDistortionUV;
    vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = false;
    vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    vec4 Output = texture(Sampler_sampler_colorTex, vec2(Input.UV_Others.xy) + UVOffset);
    Output.w *= Input.Color.w;
    vec4 param_4 = Output;
    float param_5 = advancedParam.FlipbookRate;
    bool param_6 = false;
    ApplyFlipbook(param_4, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_5, param_6, Sampler_sampler_colorTex);
    Output = param_4;
    vec4 AlphaTexColor = texture(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    vec2 param_7 = advancedParam.BlendUVDistortionUV;
    vec2 param_8 = CBPS0.fUVDistortionParameter.zw;
    bool param_9 = false;
    vec2 BlendUVOffset = UVDistortionOffset(param_7, param_8, param_9, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    vec4 BlendTextureColor = texture(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    vec4 BlendAlphaTextureColor = texture(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    vec4 param_10 = Output;
    ApplyTextureBlending(param_10, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_10;
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    vec3 color = vec3(texture(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        float param_11 = backgroundZ;
        float param_12 = screenPos.z;
        vec4 param_13 = CBPS0.softParticleParam;
        vec4 param_14 = CBPS0.reconstructionParam1;
        vec4 param_15 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_11, param_12, param_13, param_14, param_15);
    }
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV_Others = _VSPS_UV_Others;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    vec4 _694 = _main(Input);
    _entryPointOutput = _694;
}


precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 UV_Others;
    highp vec4 ProjBinormal;
    highp vec4 ProjTangent;
    highp vec4 PosP;
    highp vec4 Color;
    highp vec4 Alpha_Dist_UV;
    highp vec4 Blend_Alpha_Dist_UV;
    highp vec4 Blend_FBNextIndex_UV;
};

struct AdvancedParameter
{
    highp vec2 AlphaUV;
    highp vec2 UVDistortionUV;
    highp vec2 BlendUV;
    highp vec2 BlendAlphaUV;
    highp vec2 BlendUVDistortionUV;
    highp vec2 FlipbookNextIndexUV;
    highp float FlipbookRate;
    highp float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    highp vec4 g_scale;
    highp vec4 mUVInversedBack;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
};

uniform PS_ConstanBuffer CBPS0;

uniform  sampler2D Sampler_sampler_uvDistortionTex;
uniform  sampler2D Sampler_sampler_colorTex;
uniform  sampler2D Sampler_sampler_alphaTex;
uniform  sampler2D Sampler_sampler_blendUVDistortionTex;
uniform  sampler2D Sampler_sampler_blendTex;
uniform  sampler2D Sampler_sampler_blendAlphaTex;
uniform  sampler2D Sampler_sampler_backTex;

varying  vec4 _VSPS_UV_Others;
varying  vec4 _VSPS_ProjBinormal;
varying  vec4 _VSPS_ProjTangent;
varying  vec4 _VSPS_PosP;
varying  vec4 _VSPS_Color;
varying  vec4 _VSPS_Alpha_Dist_UV;
varying  vec4 _VSPS_Blend_Alpha_Dist_UV;
varying  vec4 _VSPS_Blend_FBNextIndex_UV;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec2 UVDistortionOffset(highp vec2 uv, highp vec2 uvInversed, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    highp vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        highp vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    highp vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout highp vec4 dst, highp vec4 flipbookParameter, highp vec4 vcolor, highp vec2 nextUV, highp float flipbookRate, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        highp vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            highp vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        highp vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout highp vec4 dstColor, highp vec4 blendColor, highp float blendType)
{
    if (blendType == 0.0)
    {
        highp vec3 _164 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_164.x, _164.y, _164.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            highp vec3 _176 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_176.x, _176.y, _176.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                highp vec3 _189 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_189.x, _189.y, _189.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    highp vec3 _202 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_202.x, _202.y, _202.z, dstColor.w);
                }
            }
        }
    }
}

highp vec4 _main(PS_Input Input)
{
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    highp vec2 param_1 = advancedParam.UVDistortionUV;
    highp vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = false;
    highp vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    highp vec4 Output = texture2D(Sampler_sampler_colorTex, vec2(Input.UV_Others.xy) + UVOffset);
    Output.w *= Input.Color.w;
    highp vec4 param_4 = Output;
    highp float param_5 = advancedParam.FlipbookRate;
    bool param_6 = false;
    ApplyFlipbook(param_4, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_5, param_6, Sampler_sampler_colorTex);
    Output = param_4;
    highp vec4 AlphaTexColor = texture2D(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    highp vec2 param_7 = advancedParam.BlendUVDistortionUV;
    highp vec2 param_8 = CBPS0.fUVDistortionParameter.zw;
    bool param_9 = false;
    highp vec2 BlendUVOffset = UVDistortionOffset(param_7, param_8, param_9, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    highp vec4 BlendTextureColor = texture2D(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    highp vec4 BlendAlphaTextureColor = texture2D(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    highp vec4 param_10 = Output;
    ApplyTextureBlending(param_10, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_10;
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    highp vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    highp vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    highp vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    highp float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    highp float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    highp vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    highp vec3 color = vec3(texture2D(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV_Others = _VSPS_UV_Others;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    highp vec4 _562 = _main(Input);
    gl_FragData[0] = _562;
}

#version 300 es
precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 UV_Others;
    highp vec4 ProjBinormal;
    highp vec4 ProjTangent;
    highp vec4 PosP;
    highp vec4 Color;
    highp vec4 Alpha_Dist_UV;
    highp vec4 Blend_Alpha_Dist_UV;
    highp vec4 Blend_FBNextIndex_UV;
};

struct AdvancedParameter
{
    highp vec2 AlphaUV;
    highp vec2 UVDistortionUV;
    highp vec2 BlendUV;
    highp vec2 BlendAlphaUV;
    highp vec2 BlendUVDistortionUV;
    highp vec2 FlipbookNextIndexUV;
    highp float FlipbookRate;
    highp float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    highp vec4 g_scale;
    highp vec4 mUVInversedBack;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
};

uniform PS_ConstanBuffer CBPS0;

uniform highp sampler2D Sampler_sampler_uvDistortionTex;
uniform highp sampler2D Sampler_sampler_colorTex;
uniform highp sampler2D Sampler_sampler_alphaTex;
uniform highp sampler2D Sampler_sampler_blendUVDistortionTex;
uniform highp sampler2D Sampler_sampler_blendTex;
uniform highp sampler2D Sampler_sampler_blendAlphaTex;
uniform highp sampler2D Sampler_sampler_backTex;
uniform highp sampler2D Sampler_sampler_depthTex;

centroid in highp vec4 _VSPS_UV_Others;
in highp vec4 _VSPS_ProjBinormal;
in highp vec4 _VSPS_ProjTangent;
in highp vec4 _VSPS_PosP;
centroid in highp vec4 _VSPS_Color;
in highp vec4 _VSPS_Alpha_Dist_UV;
in highp vec4 _VSPS_Blend_Alpha_Dist_UV;
in highp vec4 _VSPS_Blend_FBNextIndex_UV;
layout(location = 0) out highp vec4 _entryPointOutput;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec2 UVDistortionOffset(highp vec2 uv, highp vec2 uvInversed, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    highp vec4 sampledColor = texture(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        highp vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    highp vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout highp vec4 dst, highp vec4 flipbookParameter, highp vec4 vcolor, highp vec2 nextUV, highp float flipbookRate, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        highp vec4 sampledColor = texture(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            highp vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        highp vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout highp vec4 dstColor, highp vec4 blendColor, highp float blendType)
{
    if (blendType == 0.0)
    {
        highp vec3 _172 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_172.x, _172.y, _172.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            highp vec3 _184 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_184.x, _184.y, _184.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                highp vec3 _197 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_197.x, _197.y, _197.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    highp vec3 _210 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_210.x, _210.y, _210.z, dstColor.w);
                }
            }
        }
    }
}

highp float SoftParticle(highp float backgroundZ, highp float meshZ, highp vec4 softparticleParam, highp vec4 reconstruct1, highp vec4 reconstruct2)
{
    highp float distanceFar = softparticleParam.x;
    highp float distanceNear = softparticleParam.y;
    highp float distanceNearOffset = softparticleParam.z;
    highp vec2 rescale = reconstruct1.xy;
    highp vec4 params = reconstruct2;
    highp vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    highp vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    highp float dir = sign(depth.x);
    depth *= dir;
    highp float alphaFar = (depth.x - depth.y) / distanceFar;
    highp float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

highp vec4 _main(PS_Input Input)
{
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    highp vec2 param_1 = advancedParam.UVDistortionUV;
    highp vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = false;
    highp vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    highp vec4 Output = texture(Sampler_sampler_colorTex, vec2(Input.UV_Others.xy) + UVOffset);
    Output.w *= Input.Color.w;
    highp vec4 param_4 = Output;
    highp float param_5 = advancedParam.FlipbookRate;
    bool param_6 = false;
    ApplyFlipbook(param_4, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_5, param_6, Sampler_sampler_colorTex);
    Output = param_4;
    highp vec4 AlphaTexColor = texture(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    highp vec2 param_7 = advancedParam.BlendUVDistortionUV;
    highp vec2 param_8 = CBPS0.fUVDistortionParameter.zw;
    bool param_9 = false;
    highp vec2 BlendUVOffset = UVDistortionOffset(param_7, param_8, param_9, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    highp vec4 BlendTextureColor = texture(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    highp vec4 BlendAlphaTextureColor = texture(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    highp vec4 param_10 = Output;
    ApplyTextureBlending(param_10, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_10;
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    highp vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    highp vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    highp vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    highp float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    highp float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    highp vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    highp vec3 color = vec3(texture(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    highp vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    highp vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        highp float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        highp float param_11 = backgroundZ;
        highp float param_12 = screenPos.z;
        highp vec4 param_13 = CBPS0.softParticleParam;
        highp vec4 param_14 = CBPS0.reconstructionParam1;
        highp vec4 param_15 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_11, param_12, param_13, param_14, param_15);
    }
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV_Others = _VSPS_UV_Others;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    highp vec4 _694 = _main(Input);
    _entryPointOutput = _694;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct AdvancedParameter
{
    vec2 AlphaUV;
    vec2 UVDistortionUV;
    vec2 BlendUV;
    vec2 BlendAlphaUV;
    vec2 BlendUVDistortionUV;
    vec2 FlipbookNextIndexUV;
    float FlipbookRate;
    float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_uvDistortionTex;
uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_normalTex;
uniform sampler2D Sampler_sampler_alphaTex;
uniform sampler2D Sampler_sampler_blendUVDistortionTex;
uniform sampler2D Sampler_sampler_blendTex;
uniform sampler2D Sampler_sampler_blendAlphaTex;

varying vec4 _VSPS_Color;
varying vec4 _VSPS_UV_Others;
varying vec3 _VSPS_WorldN;
varying vec3 _VSPS_WorldB;
varying vec3 _VSPS_WorldT;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

vec2 UVDistortionOffset(vec2 uv, vec2 uvInversed, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout vec4 dst, vec4 flipbookParameter, vec4 vcolor, vec2 nextUV, float flipbookRate, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout vec4 dstColor, vec4 blendColor, float blendType)
{
    if (blendType == 0.0)
    {
        vec3 _214 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_214.x, _214.y, _214.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            vec3 _226 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_226.x, _226.y, _226.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                vec3 _239 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_239.x, _239.y, _239.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    vec3 _252 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_252.x, _252.y, _252.z, dstColor.w);
                }
            }
        }
    }
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    vec2 param_1 = advancedParam.UVDistortionUV;
    vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    vec4 param_4 = texture2D(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    vec3 texNormal = (texture2D(Sampler_sampler_normalTex, Input.UV_Others.xy + UVOffset).xyz - vec3(0.5)) * 2.0;
    vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    vec4 param_6 = Output;
    float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    vec4 param_9 = texture2D(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    vec2 param_11 = advancedParam.BlendUVDistortionUV;
    vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    vec4 param_14 = texture2D(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    vec4 param_16 = texture2D(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    vec3 _549 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_549.x, _549.y, _549.z, Output.w);
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        float CdotN = clamp(dot(cameraVec, vec3(localNormal.x, localNormal.y, localNormal.z)), 0.0, 1.0);
        vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            vec3 _595 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_595.x, _595.y, _595.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                vec3 _608 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_608.x, _608.y, _608.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    vec3 _621 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_621.x, _621.y, _621.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    vec3 _635 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_635.x, _635.y, _635.z, Output.w);
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    vec3 _667 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_667.x, _667.y, _667.z, Output.w);
    vec4 param_19 = Output;
    bool param_20 = convertColorSpace;
    return ConvertToScreen(param_19, param_20);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    vec4 _710 = _main(Input);
    gl_FragData[0] = _710;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
    vec4 PosP;
};

struct AdvancedParameter
{
    vec2 AlphaUV;
    vec2 UVDistortionUV;
    vec2 BlendUV;
    vec2 BlendAlphaUV;
    vec2 BlendUVDistortionUV;
    vec2 FlipbookNextIndexUV;
    float FlipbookRate;
    float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_uvDistortionTex;
uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_normalTex;
uniform sampler2D Sampler_sampler_alphaTex;
uniform sampler2D Sampler_sampler_blendUVDistortionTex;
uniform sampler2D Sampler_sampler_blendTex;
uniform sampler2D Sampler_sampler_blendAlphaTex;
uniform sampler2D Sampler_sampler_depthTex;

centroid in vec4 _VSPS_Color;
centroid in vec4 _VSPS_UV_Others;
in vec3 _VSPS_WorldN;
in vec3 _VSPS_WorldB;
in vec3 _VSPS_WorldT;
in vec4 _VSPS_Alpha_Dist_UV;
in vec4 _VSPS_Blend_Alpha_Dist_UV;
in vec4 _VSPS_Blend_FBNextIndex_UV;
in vec4 _VSPS_PosP;
layout(location = 0) out vec4 _entryPointOutput;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

vec2 UVDistortionOffset(vec2 uv, vec2 uvInversed, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    vec4 sampledColor = texture(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout vec4 dst, vec4 flipbookParameter, vec4 vcolor, vec2 nextUV, float flipbookRate, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        vec4 sampledColor = texture(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout vec4 dstColor, vec4 blendColor, float blendType)
{
    if (blendType == 0.0)
    {
        vec3 _222 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_222.x, _222.y, _222.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            vec3 _234 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_234.x, _234.y, _234.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                vec3 _247 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_247.x, _247.y, _247.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    vec3 _260 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_260.x, _260.y, _260.z, dstColor.w);
                }
            }
        }
    }
}

float SoftParticle(float backgroundZ, float meshZ, vec4 softparticleParam, vec4 reconstruct1, vec4 reconstruct2)
{
    float distanceFar = softparticleParam.x;
    float distanceNear = softparticleParam.y;
    float distanceNearOffset = softparticleParam.z;
    vec2 rescale = reconstruct1.xy;
    vec4 params = reconstruct2;
    vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    float dir = sign(depth.x);
    depth *= dir;
    float alphaFar = (depth.x - depth.y) / distanceFar;
    float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    vec2 param_1 = advancedParam.UVDistortionUV;
    vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    vec4 param_4 = texture(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    vec3 texNormal = (texture(Sampler_sampler_normalTex, Input.UV_Others.xy + UVOffset).xyz - vec3(0.5)) * 2.0;
    vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    vec4 param_6 = Output;
    float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    vec4 param_9 = texture(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    vec2 param_11 = advancedParam.BlendUVDistortionUV;
    vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    vec4 param_14 = texture(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    vec4 param_16 = texture(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    vec3 _628 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_628.x, _628.y, _628.z, Output.w);
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        float CdotN = clamp(dot(cameraVec, vec3(localNormal.x, localNormal.y, localNormal.z)), 0.0, 1.0);
        vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            vec3 _674 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_674.x, _674.y, _674.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                vec3 _687 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_687.x, _687.y, _687.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    vec3 _700 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_700.x, _700.y, _700.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    vec3 _714 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_714.x, _714.y, _714.z, Output.w);
    vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        float param_19 = backgroundZ;
        float param_20 = screenPos.z;
        vec4 param_21 = CBPS0.softParticleParam;
        vec4 param_22 = CBPS0.reconstructionParam1;
        vec4 param_23 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_19, param_20, param_21, param_22, param_23);
    }
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    vec3 _812 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_812.x, _812.y, _812.z, Output.w);
    vec4 param_24 = Output;
    bool param_25 = convertColorSpace;
    return ConvertToScreen(param_24, param_25);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    Input.PosP = _VSPS_PosP;
    vec4 _858 = _main(Input);
    _entryPointOutput = _858;
}


precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec4 UV_Others;
    highp vec3 WorldN;
    highp vec3 WorldB;
    highp vec3 WorldT;
    highp vec4 Alpha_Dist_UV;
    highp vec4 Blend_Alpha_Dist_UV;
    highp vec4 Blend_FBNextIndex_UV;
};

struct AdvancedParameter
{
    highp vec2 AlphaUV;
    highp vec2 UVDistortionUV;
    highp vec2 BlendUV;
    highp vec2 BlendAlphaUV;
    highp vec2 BlendUVDistortionUV;
    highp vec2 FlipbookNextIndexUV;
    highp float FlipbookRate;
    highp float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform  sampler2D Sampler_sampler_uvDistortionTex;
uniform  sampler2D Sampler_sampler_colorTex;
uniform  sampler2D Sampler_sampler_normalTex;
uniform  sampler2D Sampler_sampler_alphaTex;
uniform  sampler2D Sampler_sampler_blendUVDistortionTex;
uniform  sampler2D Sampler_sampler_blendTex;
uniform  sampler2D Sampler_sampler_blendAlphaTex;

varying  vec4 _VSPS_Color;
varying  vec4 _VSPS_UV_Others;
varying  vec3 _VSPS_WorldN;
varying  vec3 _VSPS_WorldB;
varying  vec3 _VSPS_WorldT;
varying  vec4 _VSPS_Alpha_Dist_UV;
varying  vec4 _VSPS_Blend_Alpha_Dist_UV;
varying  vec4 _VSPS_Blend_FBNextIndex_UV;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec2 UVDistortionOffset(highp vec2 uv, highp vec2 uvInversed, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    highp vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        highp vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    highp vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout highp vec4 dst, highp vec4 flipbookParameter, highp vec4 vcolor, highp vec2 nextUV, highp float flipbookRate, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        highp vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            highp vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        highp vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout highp vec4 dstColor, highp vec4 blendColor, highp float blendType)
{
    if (blendType == 0.0)
    {
        highp vec3 _214 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_214.x, _214.y, _214.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            highp vec3 _226 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_226.x, _226.y, _226.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                highp vec3 _239 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_239.x, _239.y, _239.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    highp vec3 _252 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_252.x, _252.y, _252.z, dstColor.w);
                }
            }
        }
    }
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    highp vec2 param_1 = advancedParam.UVDistortionUV;
    highp vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    highp vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    highp vec4 param_4 = texture2D(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    highp vec3 texNormal = (texture2D(Sampler_sampler_normalTex, Input.UV_Others.xy + UVOffset).xyz - vec3(0.5)) * 2.0;
    highp vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    highp vec4 param_6 = Output;
    highp float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    highp vec4 param_9 = texture2D(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    highp vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    highp vec2 param_11 = advancedParam.BlendUVDistortionUV;
    highp vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    highp vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    highp vec4 param_14 = texture2D(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    highp vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    highp vec4 param_16 = texture2D(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    highp vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    highp vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    highp float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    highp vec3 _549 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_549.x, _549.y, _549.z, Output.w);
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        highp vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        highp float CdotN = clamp(dot(cameraVec, vec3(localNormal.x, localNormal.y, localNormal.z)), 0.0, 1.0);
        highp vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            highp vec3 _595 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_595.x, _595.y, _595.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                highp vec3 _608 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_608.x, _608.y, _608.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    highp vec3 _621 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_621.x, _621.y, _621.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    highp vec3 _635 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_635.x, _635.y, _635.z, Output.w);
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    highp vec3 _667 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_667.x, _667.y, _667.z, Output.w);
    highp vec4 param_19 = Output;
    bool param_20 = convertColorSpace;
    return ConvertToScreen(param_19, param_20);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    highp vec4 _710 = _main(Input);
    gl_FragData[0] = _710;
}

#version 300 es
precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec4 UV_Others;
    highp vec3 WorldN;
    highp vec3 WorldB;
    highp vec3 WorldT;
    highp vec4 Alpha_Dist_UV;
    highp vec4 Blend_Alpha_Dist_UV;
    highp vec4 Blend_FBNextIndex_UV;
    highp vec4 PosP;
};

struct AdvancedParameter
{
    highp vec2 AlphaUV;
    highp vec2 UVDistortionUV;
    highp vec2 BlendUV;
    highp vec2 BlendAlphaUV;
    highp vec2 BlendUVDistortionUV;
    highp vec2 FlipbookNextIndexUV;
    highp float FlipbookRate;
    highp float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform highp sampler2D Sampler_sampler_uvDistortionTex;
uniform highp sampler2D Sampler_sampler_colorTex;
uniform highp sampler2D Sampler_sampler_normalTex;
uniform highp sampler2D Sampler_sampler_alphaTex;
uniform highp sampler2D Sampler_sampler_blendUVDistortionTex;
uniform highp sampler2D Sampler_sampler_blendTex;
uniform highp sampler2D Sampler_sampler_blendAlphaTex;
uniform highp sampler2D Sampler_sampler_depthTex;

centroid in highp vec4 _VSPS_Color;
centroid in highp vec4 _VSPS_UV_Others;
in highp vec3 _VSPS_WorldN;
in highp vec3 _VSPS_WorldB;
in highp vec3 _VSPS_WorldT;
in highp vec4 _VSPS_Alpha_Dist_UV;
in highp vec4 _VSPS_Blend_Alpha_Dist_UV;
in highp vec4 _VSPS_Blend_FBNextIndex_UV;
in highp vec4 _VSPS_PosP;
layout(location = 0) out highp vec4 _entryPointOutput;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec2 UVDistortionOffset(highp vec2 uv, highp vec2 uvInversed, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    highp vec4 sampledColor = texture(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        highp vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    highp vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout highp vec4 dst, highp vec4 flipbookParameter, highp vec4 vcolor, highp vec2 nextUV, highp float flipbookRate, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        highp vec4 sampledColor = texture(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            highp vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        highp vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout highp vec4 dstColor, highp vec4 blendColor, highp float blendType)
{
    if (blendType == 0.0)
    {
        highp vec3 _222 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_222.x, _222.y, _222.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            highp vec3 _234 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_234.x, _234.y, _234.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                highp vec3 _247 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_247.x, _247.y, _247.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    highp vec3 _260 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_260.x, _260.y, _260.z, dstColor.w);
                }
            }
        }
    }
}

highp float SoftParticle(highp float backgroundZ, highp float meshZ, highp vec4 softparticleParam, highp vec4 reconstruct1, highp vec4 reconstruct2)
{
    highp float distanceFar = softparticleParam.x;
    highp float distanceNear = softparticleParam.y;
    highp float distanceNearOffset = softparticleParam.z;
    highp vec2 rescale = reconstruct1.xy;
    highp vec4 params = reconstruct2;
    highp vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    highp vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    highp float dir = sign(depth.x);
    depth *= dir;
    highp float alphaFar = (depth.x - depth.y) / distanceFar;
    highp float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    highp vec2 param_1 = advancedParam.UVDistortionUV;
    highp vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    highp vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    highp vec4 param_4 = texture(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    highp vec3 texNormal = (texture(Sampler_sampler_normalTex, Input.UV_Others.xy + UVOffset).xyz - vec3(0.5)) * 2.0;
    highp vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    highp vec4 param_6 = Output;
    highp float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    highp vec4 param_9 = texture(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    highp vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    highp vec2 param_11 = advancedParam.BlendUVDistortionUV;
    highp vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    highp vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    highp vec4 param_14 = texture(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    highp vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    highp vec4 param_16 = texture(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    highp vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    highp vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    highp float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    highp vec3 _628 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_628.x, _628.y, _628.z, Output.w);
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        highp vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        highp float CdotN = clamp(dot(cameraVec, vec3(localNormal.x, localNormal.y, localNormal.z)), 0.0, 1.0);
        highp vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            highp vec3 _674 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_674.x, _674.y, _674.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                highp vec3 _687 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_687.x, _687.y, _687.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    highp vec3 _700 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_700.x, _700.y, _700.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    highp vec3 _714 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_714.x, _714.y, _714.z, Output.w);
    highp vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    highp vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        highp float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        highp float param_19 = backgroundZ;
        highp float param_20 = screenPos.z;
        highp vec4 param_21 = CBPS0.softParticleParam;
        highp vec4 param_22 = CBPS0.reconstructionParam1;
        highp vec4 param_23 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_19, param_20, param_21, param_22, param_23);
    }
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    highp vec3 _812 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_812.x, _812.y, _812.z, Output.w);
    highp vec4 param_24 = Output;
    bool param_25 = convertColorSpace;
    return ConvertToScreen(param_24, param_25);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    Input.PosP = _VSPS_PosP;
    highp vec4 _858 = _main(Input);
    _entryPointOutput = _858;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct AdvancedParameter
{
    vec2 AlphaUV;
    vec2 UVDistortionUV;
    vec2 BlendUV;
    vec2 BlendAlphaUV;
    vec2 BlendUVDistortionUV;
    vec2 FlipbookNextIndexUV;
    float FlipbookRate;
    float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_uvDistortionTex;
uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_alphaTex;
uniform sampler2D Sampler_sampler_blendUVDistortionTex;
uniform sampler2D Sampler_sampler_blendTex;
uniform sampler2D Sampler_sampler_blendAlphaTex;

varying vec4 _VSPS_Color;
varying vec4 _VSPS_UV_Others;
varying vec3 _VSPS_WorldN;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

vec2 UVDistortionOffset(vec2 uv, vec2 uvInversed, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout vec4 dst, vec4 flipbookParameter, vec4 vcolor, vec2 nextUV, float flipbookRate, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout vec4 dstColor, vec4 blendColor, float blendType)
{
    if (blendType == 0.0)
    {
        vec3 _214 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_214.x, _214.y, _214.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            vec3 _226 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_226.x, _226.y, _226.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                vec3 _239 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_239.x, _239.y, _239.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    vec3 _252 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_252.x, _252.y, _252.z, dstColor.w);
                }
            }
        }
    }
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    vec2 param_1 = advancedParam.UVDistortionUV;
    vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    vec4 param_4 = texture2D(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    vec4 param_6 = Output;
    float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    vec4 param_9 = texture2D(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    vec2 param_11 = advancedParam.BlendUVDistortionUV;
    vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    vec4 param_14 = texture2D(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    vec4 param_16 = texture2D(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        float CdotN = clamp(dot(cameraVec, normalize(Input.WorldN)), 0.0, 1.0);
        vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            vec3 _532 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_532.x, _532.y, _532.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                vec3 _545 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_545.x, _545.y, _545.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    vec3 _558 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_558.x, _558.y, _558.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    vec3 _572 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_572.x, _572.y, _572.z, Output.w);
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    vec3 _604 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_604.x, _604.y, _604.z, Output.w);
    vec4 param_19 = Output;
    bool param_20 = convertColorSpace;
    return ConvertToScreen(param_19, param_20);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    vec4 _641 = _main(Input);
    gl_FragData[0] = _641;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
    vec4 PosP;
};

struct AdvancedParameter
{
    vec2 AlphaUV;
    vec2 UVDistortionUV;
    vec2 BlendUV;
    vec2 BlendAlphaUV;
    vec2 BlendUVDistortionUV;
    vec2 FlipbookNextIndexUV;
    float FlipbookRate;
    float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_uvDistortionTex;
uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_alphaTex;
uniform sampler2D Sampler_sampler_blendUVDistortionTex;
uniform sampler2D Sampler_sampler_blendTex;
uniform sampler2D Sampler_sampler_blendAlphaTex;
uniform sampler2D Sampler_sampler_depthTex;

centroid in vec4 _VSPS_Color;
centroid in vec4 _VSPS_UV_Others;
in vec3 _VSPS_WorldN;
in vec4 _VSPS_Alpha_Dist_UV;
in vec4 _VSPS_Blend_Alpha_Dist_UV;
in vec4 _VSPS_Blend_FBNextIndex_UV;
in vec4 _VSPS_PosP;
layout(location = 0) out vec4 _entryPointOutput;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

vec2 UVDistortionOffset(vec2 uv, vec2 uvInversed, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    vec4 sampledColor = texture(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout vec4 dst, vec4 flipbookParameter, vec4 vcolor, vec2 nextUV, float flipbookRate, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        vec4 sampledColor = texture(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout vec4 dstColor, vec4 blendColor, float blendType)
{
    if (blendType == 0.0)
    {
        vec3 _222 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_222.x, _222.y, _222.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            vec3 _234 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_234.x, _234.y, _234.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                vec3 _247 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_247.x, _247.y, _247.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    vec3 _260 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_260.x, _260.y, _260.z, dstColor.w);
                }
            }
        }
    }
}

float SoftParticle(float backgroundZ, float meshZ, vec4 softparticleParam, vec4 reconstruct1, vec4 reconstruct2)
{
    float distanceFar = softparticleParam.x;
    float distanceNear = softparticleParam.y;
    float distanceNearOffset = softparticleParam.z;
    vec2 rescale = reconstruct1.xy;
    vec4 params = reconstruct2;
    vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    float dir = sign(depth.x);
    depth *= dir;
    float alphaFar = (depth.x - depth.y) / distanceFar;
    float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    vec2 param_1 = advancedParam.UVDistortionUV;
    vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    vec4 param_4 = texture(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    vec4 param_6 = Output;
    float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    vec4 param_9 = texture(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    vec2 param_11 = advancedParam.BlendUVDistortionUV;
    vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    vec4 param_14 = texture(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    vec4 param_16 = texture(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        float CdotN = clamp(dot(cameraVec, normalize(Input.WorldN)), 0.0, 1.0);
        vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            vec3 _611 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_611.x, _611.y, _611.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                vec3 _624 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_624.x, _624.y, _624.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    vec3 _637 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_637.x, _637.y, _637.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    vec3 _651 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_651.x, _651.y, _651.z, Output.w);
    vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        float param_19 = backgroundZ;
        float param_20 = screenPos.z;
        vec4 param_21 = CBPS0.softParticleParam;
        vec4 param_22 = CBPS0.reconstructionParam1;
        vec4 param_23 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_19, param_20, param_21, param_22, param_23);
    }
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    vec3 _749 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_749.x, _749.y, _749.z, Output.w);
    vec4 param_24 = Output;
    bool param_25 = convertColorSpace;
    return ConvertToScreen(param_24, param_25);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    Input.PosP = _VSPS_PosP;
    vec4 _789 = _main(Input);
    _entryPointOutput = _789;
}


precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec4 UV_Others;
    highp vec3 WorldN;
    highp vec4 Alpha_Dist_UV;
    highp vec4 Blend_Alpha_Dist_UV;
    highp vec4 Blend_FBNextIndex_UV;
};

struct AdvancedParameter
{
    highp vec2 AlphaUV;
    highp vec2 UVDistortionUV;
    highp vec2 BlendUV;
    highp vec2 BlendAlphaUV;
    highp vec2 BlendUVDistortionUV;
    highp vec2 FlipbookNextIndexUV;
    highp float FlipbookRate;
    highp float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform  sampler2D Sampler_sampler_uvDistortionTex;
uniform  sampler2D Sampler_sampler_colorTex;
uniform  sampler2D Sampler_sampler_alphaTex;
uniform  sampler2D Sampler_sampler_blendUVDistortionTex;
uniform  sampler2D Sampler_sampler_blendTex;
uniform  sampler2D Sampler_sampler_blendAlphaTex;

varying  vec4 _VSPS_Color;
varying  vec4 _VSPS_UV_Others;
varying  vec3 _VSPS_WorldN;
varying  vec4 _VSPS_Alpha_Dist_UV;
varying  vec4 _VSPS_Blend_Alpha_Dist_UV;
varying  vec4 _VSPS_Blend_FBNextIndex_UV;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec2 UVDistortionOffset(highp vec2 uv, highp vec2 uvInversed, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    highp vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        highp vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    highp vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout highp vec4 dst, highp vec4 flipbookParameter, highp vec4 vcolor, highp vec2 nextUV, highp float flipbookRate, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        highp vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            highp vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        highp vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout highp vec4 dstColor, highp vec4 blendColor, highp float blendType)
{
    if (blendType == 0.0)
    {
        highp vec3 _214 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_214.x, _214.y, _214.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            highp vec3 _226 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_226.x, _226.y, _226.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                highp vec3 _239 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_239.x, _239.y, _239.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    highp vec3 _252 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_252.x, _252.y, _252.z, dstColor.w);
                }
            }
        }
    }
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    highp vec2 param_1 = advancedParam.UVDistortionUV;
    highp vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    highp vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    highp vec4 param_4 = texture2D(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    highp vec4 param_6 = Output;
    highp float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    highp vec4 param_9 = texture2D(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    highp vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    highp vec2 param_11 = advancedParam.BlendUVDistortionUV;
    highp vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    highp vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    highp vec4 param_14 = texture2D(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    highp vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    highp vec4 param_16 = texture2D(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    highp vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    highp vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        highp vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        highp float CdotN = clamp(dot(cameraVec, normalize(Input.WorldN)), 0.0, 1.0);
        highp vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            highp vec3 _532 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_532.x, _532.y, _532.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                highp vec3 _545 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_545.x, _545.y, _545.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    highp vec3 _558 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_558.x, _558.y, _558.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    highp vec3 _572 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_572.x, _572.y, _572.z, Output.w);
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    highp vec3 _604 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_604.x, _604.y, _604.z, Output.w);
    highp vec4 param_19 = Output;
    bool param_20 = convertColorSpace;
    return ConvertToScreen(param_19, param_20);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    highp vec4 _641 = _main(Input);
    gl_FragData[0] = _641;
}

#version 300 es
precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec4 UV_Others;
    highp vec3 WorldN;
    highp vec4 Alpha_Dist_UV;
    highp vec4 Blend_Alpha_Dist_UV;
    highp vec4 Blend_FBNextIndex_UV;
    highp vec4 PosP;
};

struct AdvancedParameter
{
    highp vec2 AlphaUV;
    highp vec2 UVDistortionUV;
    highp vec2 BlendUV;
    highp vec2 BlendAlphaUV;
    highp vec2 BlendUVDistortionUV;
    highp vec2 FlipbookNextIndexUV;
    highp float FlipbookRate;
    highp float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform highp sampler2D Sampler_sampler_uvDistortionTex;
uniform highp sampler2D Sampler_sampler_colorTex;
uniform highp sampler2D Sampler_sampler_alphaTex;
uniform highp sampler2D Sampler_sampler_blendUVDistortionTex;
uniform highp sampler2D Sampler_sampler_blendTex;
uniform highp sampler2D Sampler_sampler_blendAlphaTex;
uniform highp sampler2D Sampler_sampler_depthTex;

centroid in highp vec4 _VSPS_Color;
centroid in highp vec4 _VSPS_UV_Others;
in highp vec3 _VSPS_WorldN;
in highp vec4 _VSPS_Alpha_Dist_UV;
in highp vec4 _VSPS_Blend_Alpha_Dist_UV;
in highp vec4 _VSPS_Blend_FBNextIndex_UV;
in highp vec4 _VSPS_PosP;
layout(location = 0) out highp vec4 _entryPointOutput;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec2 UVDistortionOffset(highp vec2 uv, highp vec2 uvInversed, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    highp vec4 sampledColor = texture(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        highp vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    highp vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout highp vec4 dst, highp vec4 flipbookParameter, highp vec4 vcolor, highp vec2 nextUV, highp float flipbookRate, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        highp vec4 sampledColor = texture(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            highp vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        highp vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout highp vec4 dstColor, highp vec4 blendColor, highp float blendType)
{
    if (blendType == 0.0)
    {
        highp vec3 _222 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_222.x, _222.y, _222.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            highp vec3 _234 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_234.x, _234.y, _234.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                highp vec3 _247 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_247.x, _247.y, _247.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    highp vec3 _260 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_260.x, _260.y, _260.z, dstColor.w);
                }
            }
        }
    }
}

highp float SoftParticle(highp float backgroundZ, highp float meshZ, highp vec4 softparticleParam, highp vec4 reconstruct1, highp vec4 reconstruct2)
{
    highp float distanceFar = softparticleParam.x;
    highp float distanceNear = softparticleParam.y;
    highp float distanceNearOffset = softparticleParam.z;
    highp vec2 rescale = reconstruct1.xy;
    highp vec4 params = reconstruct2;
    highp vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    highp vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    highp float dir = sign(depth.x);
    depth *= dir;
    highp float alphaFar = (depth.x - depth.y) / distanceFar;
    highp float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    highp vec2 param_1 = advancedParam.UVDistortionUV;
    highp vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    highp vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    highp vec4 param_4 = texture(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    highp vec4 param_6 = Output;
    highp float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    highp vec4 param_9 = texture(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    highp vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    highp vec2 param_11 = advancedParam.BlendUVDistortionUV;
    highp vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    highp vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    highp vec4 param_14 = texture(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    highp vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    highp vec4 param_16 = texture(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    highp vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    highp vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        highp vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        highp float CdotN = clamp(dot(cameraVec, normalize(Input.WorldN)), 0.0, 1.0);
        highp vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            highp vec3 _611 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_611.x, _611.y, _611.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                highp vec3 _624 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_624.x, _624.y, _624.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    highp vec3 _637 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_637.x, _637.y, _637.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    highp vec3 _651 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_651.x, _651.y, _651.z, Output.w);
    highp vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    highp vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        highp float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        highp float param_19 = backgroundZ;
        highp float param_20 = screenPos.z;
        highp vec4 param_21 = CBPS0.softParticleParam;
        highp vec4 param_22 = CBPS0.reconstructionParam1;
        highp vec4 param_23 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_19, param_20, param_21, param_22, param_23);
    }
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    highp vec3 _749 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_749.x, _749.y, _749.z, Output.w);
    highp vec4 param_24 = Output;
    bool param_25 = convertColorSpace;
    return ConvertToScreen(param_24, param_25);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    Input.PosP = _VSPS_PosP;
    highp vec4 _789 = _main(Input);
    _entryPointOutput = _789;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
    vec4 Alpha_Dist_UV;
    vec2 BlendUV;
    vec4 Blend_Alpha_Dist_UV;
    float FlipbookIndex;
    float AlphaThreshold;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 UV_Others;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec4 Input_Color;
attribute vec4 Input_Normal;
attribute vec4 Input_Tangent;
attribute vec2 Input_UV1;
attribute vec2 Input_UV2;
attribute vec4 Input_Alpha_Dist_UV;
attribute vec2 Input_BlendUV;
attribute vec4 Input_Blend_Alpha_Dist_UV;
attribute float Input_FlipbookIndex;
attribute float Input_AlphaThreshold;
varying vec4 _VSPS_UV_Others;
varying vec4 _VSPS_ProjBinormal;
varying vec4 _VSPS_ProjTangent;
varying vec4 _VSPS_PosP;
varying vec4 _VSPS_Color;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

float IntMod(float x, float y)
{
    return floor(mod(x, y));
}

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = FlipbookIndex;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = Index;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(VS_Input vsinput, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV = vsinput.Alpha_Dist_UV;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV = vec4(vsinput.BlendUV.x, vsinput.BlendUV.y, vsoutput.Blend_FBNextIndex_UV.z, vsoutput.Blend_FBNextIndex_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.BlendUV.y);
    vsoutput.Blend_Alpha_Dist_UV = vsinput.Blend_Alpha_Dist_UV;
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.w);
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = vsinput.FlipbookIndex;
    vec2 param_5 = vsoutput.UV_Others.xy;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = vsinput.AlphaThreshold;
}

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV_Others = vec4(uv1.x, uv1.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.ProjTangent = CBVS0.mCameraProj * (worldPos + worldTangent);
    Output.ProjBinormal = CBVS0.mCameraProj * (worldPos + worldBinormal);
    Output.Color = Input.Color;
    VS_Input param = Input;
    VS_Output param_1 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1);
    Output = param_1;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    Input.Alpha_Dist_UV = Input_Alpha_Dist_UV;
    Input.BlendUV = Input_BlendUV;
    Input.Blend_Alpha_Dist_UV = Input_Blend_Alpha_Dist_UV;
    Input.FlipbookIndex = Input_FlipbookIndex;
    Input.AlphaThreshold = Input_AlphaThreshold;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
    vec4 Alpha_Dist_UV;
    vec2 BlendUV;
    vec4 Blend_Alpha_Dist_UV;
    float FlipbookIndex;
    float AlphaThreshold;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 UV_Others;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec4 Input_Color;
layout(location = 2) in vec4 Input_Normal;
layout(location = 3) in vec4 Input_Tangent;
layout(location = 4) in vec2 Input_UV1;
layout(location = 5) in vec2 Input_UV2;
layout(location = 6) in vec4 Input_Alpha_Dist_UV;
layout(location = 7) in vec2 Input_BlendUV;
layout(location = 8) in vec4 Input_Blend_Alpha_Dist_UV;
layout(location = 9) in float Input_FlipbookIndex;
layout(location = 10) in float Input_AlphaThreshold;
centroid out vec4 _VSPS_UV_Others;
out vec4 _VSPS_ProjBinormal;
out vec4 _VSPS_ProjTangent;
out vec4 _VSPS_PosP;
centroid out vec4 _VSPS_Color;
out vec4 _VSPS_Alpha_Dist_UV;
out vec4 _VSPS_Blend_Alpha_Dist_UV;
out vec4 _VSPS_Blend_FBNextIndex_UV;

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(FlipbookIndex) % int(DivideX));
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(Index) % int(DivideX));
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(VS_Input vsinput, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV = vsinput.Alpha_Dist_UV;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV = vec4(vsinput.BlendUV.x, vsinput.BlendUV.y, vsoutput.Blend_FBNextIndex_UV.z, vsoutput.Blend_FBNextIndex_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.BlendUV.y);
    vsoutput.Blend_Alpha_Dist_UV = vsinput.Blend_Alpha_Dist_UV;
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.w);
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = vsinput.FlipbookIndex;
    vec2 param_5 = vsoutput.UV_Others.xy;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = vsinput.AlphaThreshold;
}

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV_Others = vec4(uv1.x, uv1.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.ProjTangent = (worldPos + worldTangent) * CBVS0.mCameraProj;
    Output.ProjBinormal = (worldPos + worldBinormal) * CBVS0.mCameraProj;
    Output.Color = Input.Color;
    VS_Input param = Input;
    VS_Output param_1 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1);
    Output = param_1;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    Input.Alpha_Dist_UV = Input_Alpha_Dist_UV;
    Input.BlendUV = Input_BlendUV;
    Input.Blend_Alpha_Dist_UV = Input_Blend_Alpha_Dist_UV;
    Input.FlipbookIndex = Input_FlipbookIndex;
    Input.AlphaThreshold = Input_AlphaThreshold;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}



struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
    vec4 Alpha_Dist_UV;
    vec2 BlendUV;
    vec4 Blend_Alpha_Dist_UV;
    float FlipbookIndex;
    float AlphaThreshold;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 UV_Others;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec4 Input_Color;
attribute vec4 Input_Normal;
attribute vec4 Input_Tangent;
attribute vec2 Input_UV1;
attribute vec2 Input_UV2;
attribute vec4 Input_Alpha_Dist_UV;
attribute vec2 Input_BlendUV;
attribute vec4 Input_Blend_Alpha_Dist_UV;
attribute float Input_FlipbookIndex;
attribute float Input_AlphaThreshold;
varying vec4 _VSPS_UV_Others;
varying vec4 _VSPS_ProjBinormal;
varying vec4 _VSPS_ProjTangent;
varying vec4 _VSPS_PosP;
varying vec4 _VSPS_Color;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

float IntMod(float x, float y)
{
    return floor(mod(x, y));
}

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = FlipbookIndex;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = Index;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(VS_Input vsinput, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV = vsinput.Alpha_Dist_UV;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV = vec4(vsinput.BlendUV.x, vsinput.BlendUV.y, vsoutput.Blend_FBNextIndex_UV.z, vsoutput.Blend_FBNextIndex_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.BlendUV.y);
    vsoutput.Blend_Alpha_Dist_UV = vsinput.Blend_Alpha_Dist_UV;
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.w);
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = vsinput.FlipbookIndex;
    vec2 param_5 = vsoutput.UV_Others.xy;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = vsinput.AlphaThreshold;
}

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV_Others = vec4(uv1.x, uv1.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.ProjTangent = CBVS0.mCameraProj * (worldPos + worldTangent);
    Output.ProjBinormal = CBVS0.mCameraProj * (worldPos + worldBinormal);
    Output.Color = Input.Color;
    VS_Input param = Input;
    VS_Output param_1 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1);
    Output = param_1;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    Input.Alpha_Dist_UV = Input_Alpha_Dist_UV;
    Input.BlendUV = Input_BlendUV;
    Input.Blend_Alpha_Dist_UV = Input_Blend_Alpha_Dist_UV;
    Input.FlipbookIndex = Input_FlipbookIndex;
    Input.AlphaThreshold = Input_AlphaThreshold;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}

#version 300 es

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
    vec4 Alpha_Dist_UV;
    vec2 BlendUV;
    vec4 Blend_Alpha_Dist_UV;
    float FlipbookIndex;
    float AlphaThreshold;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 UV_Others;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec4 Input_Color;
layout(location = 2) in vec4 Input_Normal;
layout(location = 3) in vec4 Input_Tangent;
layout(location = 4) in vec2 Input_UV1;
layout(location = 5) in vec2 Input_UV2;
layout(location = 6) in vec4 Input_Alpha_Dist_UV;
layout(location = 7) in vec2 Input_BlendUV;
layout(location = 8) in vec4 Input_Blend_Alpha_Dist_UV;
layout(location = 9) in float Input_FlipbookIndex;
layout(location = 10) in float Input_AlphaThreshold;
centroid out vec4 _VSPS_UV_Others;
out vec4 _VSPS_ProjBinormal;
out vec4 _VSPS_ProjTangent;
out vec4 _VSPS_PosP;
centroid out vec4 _VSPS_Color;
out vec4 _VSPS_Alpha_Dist_UV;
out vec4 _VSPS_Blend_Alpha_Dist_UV;
out vec4 _VSPS_Blend_FBNextIndex_UV;

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(FlipbookIndex) % int(DivideX));
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(Index) % int(DivideX));
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(VS_Input vsinput, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV = vsinput.Alpha_Dist_UV;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV = vec4(vsinput.BlendUV.x, vsinput.BlendUV.y, vsoutput.Blend_FBNextIndex_UV.z, vsoutput.Blend_FBNextIndex_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.BlendUV.y);
    vsoutput.Blend_Alpha_Dist_UV = vsinput.Blend_Alpha_Dist_UV;
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.w);
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = vsinput.FlipbookIndex;
    vec2 param_5 = vsoutput.UV_Others.xy;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = vsinput.AlphaThreshold;
}

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV_Others = vec4(uv1.x, uv1.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.ProjTangent = (worldPos + worldTangent) * CBVS0.mCameraProj;
    Output.ProjBinormal = (worldPos + worldBinormal) * CBVS0.mCameraProj;
    Output.Color = Input.Color;
    VS_Input param = Input;
    VS_Output param_1 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1);
    Output = param_1;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    Input.Alpha_Dist_UV = Input_Alpha_Dist_UV;
    Input.BlendUV = Input_BlendUV;
    Input.Blend_Alpha_Dist_UV = Input_Blend_Alpha_Dist_UV;
    Input.FlipbookIndex = Input_FlipbookIndex;
    Input.AlphaThreshold = Input_AlphaThreshold;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
    vec4 Alpha_Dist_UV;
    vec2 BlendUV;
    vec4 Blend_Alpha_Dist_UV;
    float FlipbookIndex;
    float AlphaThreshold;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec4 Input_Color;
attribute vec4 Input_Normal;
attribute vec4 Input_Tangent;
attribute vec2 Input_UV1;
attribute vec2 Input_UV2;
attribute vec4 Input_Alpha_Dist_UV;
attribute vec2 Input_BlendUV;
attribute vec4 Input_Blend_Alpha_Dist_UV;
attribute float Input_FlipbookIndex;
attribute float Input_AlphaThreshold;
varying vec4 _VSPS_Color;
varying vec4 _VSPS_UV_Others;
varying vec3 _VSPS_WorldN;
varying vec3 _VSPS_WorldB;
varying vec3 _VSPS_WorldT;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

float IntMod(float x, float y)
{
    return floor(mod(x, y));
}

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = FlipbookIndex;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = Index;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(VS_Input vsinput, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV = vsinput.Alpha_Dist_UV;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV = vec4(vsinput.BlendUV.x, vsinput.BlendUV.y, vsoutput.Blend_FBNextIndex_UV.z, vsoutput.Blend_FBNextIndex_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.BlendUV.y);
    vsoutput.Blend_Alpha_Dist_UV = vsinput.Blend_Alpha_Dist_UV;
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.w);
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = vsinput.FlipbookIndex;
    vec2 param_5 = vsoutput.UV_Others.xy;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = vsinput.AlphaThreshold;
}

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV_Others = vec4(uv1.x, uv1.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.Color = Input.Color;
    VS_Input param = Input;
    VS_Output param_1 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1);
    Output = param_1;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    Input.Alpha_Dist_UV = Input_Alpha_Dist_UV;
    Input.BlendUV = Input_BlendUV;
    Input.Blend_Alpha_Dist_UV = Input_Blend_Alpha_Dist_UV;
    Input.FlipbookIndex = Input_FlipbookIndex;
    Input.AlphaThreshold = Input_AlphaThreshold;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
    vec4 Alpha_Dist_UV;
    vec2 BlendUV;
    vec4 Blend_Alpha_Dist_UV;
    float FlipbookIndex;
    float AlphaThreshold;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec4 Input_Color;
layout(location = 2) in vec4 Input_Normal;
layout(location = 3) in vec4 Input_Tangent;
layout(location = 4) in vec2 Input_UV1;
layout(location = 5) in vec2 Input_UV2;
layout(location = 6) in vec4 Input_Alpha_Dist_UV;
layout(location = 7) in vec2 Input_BlendUV;
layout(location = 8) in vec4 Input_Blend_Alpha_Dist_UV;
layout(location = 9) in float Input_FlipbookIndex;
layout(location = 10) in float Input_AlphaThreshold;
centroid out vec4 _VSPS_Color;
centroid out vec4 _VSPS_UV_Others;
out vec3 _VSPS_WorldN;
out vec3 _VSPS_WorldB;
out vec3 _VSPS_WorldT;
out vec4 _VSPS_Alpha_Dist_UV;
out vec4 _VSPS_Blend_Alpha_Dist_UV;
out vec4 _VSPS_Blend_FBNextIndex_UV;
out vec4 _VSPS_PosP;

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(FlipbookIndex) % int(DivideX));
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(Index) % int(DivideX));
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(VS_Input vsinput, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV = vsinput.Alpha_Dist_UV;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV = vec4(vsinput.BlendUV.x, vsinput.BlendUV.y, vsoutput.Blend_FBNextIndex_UV.z, vsoutput.Blend_FBNextIndex_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.BlendUV.y);
    vsoutput.Blend_Alpha_Dist_UV = vsinput.Blend_Alpha_Dist_UV;
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.w);
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = vsinput.FlipbookIndex;
    vec2 param_5 = vsoutput.UV_Others.xy;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = vsinput.AlphaThreshold;
}

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV_Others = vec4(uv1.x, uv1.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.Color = Input.Color;
    VS_Input param = Input;
    VS_Output param_1 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1);
    Output = param_1;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    Input.Alpha_Dist_UV = Input_Alpha_Dist_UV;
    Input.BlendUV = Input_BlendUV;
    Input.Blend_Alpha_Dist_UV = Input_Blend_Alpha_Dist_UV;
    Input.FlipbookIndex = Input_FlipbookIndex;
    Input.AlphaThreshold = Input_AlphaThreshold;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
    _VSPS_PosP = flattenTemp.PosP;
}



struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
    vec4 Alpha_Dist_UV;
    vec2 BlendUV;
    vec4 Blend_Alpha_Dist_UV;
    float FlipbookIndex;
    float AlphaThreshold;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec4 Input_Color;
attribute vec4 Input_Normal;
attribute vec4 Input_Tangent;
attribute vec2 Input_UV1;
attribute vec2 Input_UV2;
attribute vec4 Input_Alpha_Dist_UV;
attribute vec2 Input_BlendUV;
attribute vec4 Input_Blend_Alpha_Dist_UV;
attribute float Input_FlipbookIndex;
attribute float Input_AlphaThreshold;
varying vec4 _VSPS_Color;
varying vec4 _VSPS_UV_Others;
varying vec3 _VSPS_WorldN;
varying vec3 _VSPS_WorldB;
varying vec3 _VSPS_WorldT;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

float IntMod(float x, float y)
{
    return floor(mod(x, y));
}

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = FlipbookIndex;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = Index;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(VS_Input vsinput, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV = vsinput.Alpha_Dist_UV;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV = vec4(vsinput.BlendUV.x, vsinput.BlendUV.y, vsoutput.Blend_FBNextIndex_UV.z, vsoutput.Blend_FBNextIndex_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.BlendUV.y);
    vsoutput.Blend_Alpha_Dist_UV = vsinput.Blend_Alpha_Dist_UV;
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.w);
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = vsinput.FlipbookIndex;
    vec2 param_5 = vsoutput.UV_Others.xy;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = vsinput.AlphaThreshold;
}

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV_Others = vec4(uv1.x, uv1.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.Color = Input.Color;
    VS_Input param = Input;
    VS_Output param_1 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1);
    Output = param_1;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    Input.Alpha_Dist_UV = Input_Alpha_Dist_UV;
    Input.BlendUV = Input_BlendUV;
    Input.Blend_Alpha_Dist_UV = Input_Blend_Alpha_Dist_UV;
    Input.FlipbookIndex = Input_FlipbookIndex;
    Input.AlphaThreshold = Input_AlphaThreshold;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}

#version 300 es

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
    vec4 Alpha_Dist_UV;
    vec2 BlendUV;
    vec4 Blend_Alpha_Dist_UV;
    float FlipbookIndex;
    float AlphaThreshold;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec4 Input_Color;
layout(location = 2) in vec4 Input_Normal;
layout(location = 3) in vec4 Input_Tangent;
layout(location = 4) in vec2 Input_UV1;
layout(location = 5) in vec2 Input_UV2;
layout(location = 6) in vec4 Input_Alpha_Dist_UV;
layout(location = 7) in vec2 Input_BlendUV;
layout(location = 8) in vec4 Input_Blend_Alpha_Dist_UV;
layout(location = 9) in float Input_FlipbookIndex;
layout(location = 10) in float Input_AlphaThreshold;
centroid out vec4 _VSPS_Color;
centroid out vec4 _VSPS_UV_Others;
out vec3 _VSPS_WorldN;
out vec3 _VSPS_WorldB;
out vec3 _VSPS_WorldT;
out vec4 _VSPS_Alpha_Dist_UV;
out vec4 _VSPS_Blend_Alpha_Dist_UV;
out vec4 _VSPS_Blend_FBNextIndex_UV;
out vec4 _VSPS_PosP;

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(FlipbookIndex) % int(DivideX));
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(Index) % int(DivideX));
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(VS_Input vsinput, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV = vsinput.Alpha_Dist_UV;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV = vec4(vsinput.BlendUV.x, vsinput.BlendUV.y, vsoutput.Blend_FBNextIndex_UV.z, vsoutput.Blend_FBNextIndex_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.BlendUV.y);
    vsoutput.Blend_Alpha_Dist_UV = vsinput.Blend_Alpha_Dist_UV;
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.w);
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = vsinput.FlipbookIndex;
    vec2 param_5 = vsoutput.UV_Others.xy;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = vsinput.AlphaThreshold;
}

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV_Others = vec4(uv1.x, uv1.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.Color = Input.Color;
    VS_Input param = Input;
    VS_Output param_1 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1);
    Output = param_1;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    Input.Alpha_Dist_UV = Input_Alpha_Dist_UV;
    Input.BlendUV = Input_BlendUV;
    Input.Blend_Alpha_Dist_UV = Input_Blend_Alpha_Dist_UV;
    Input.FlipbookIndex = Input_FlipbookIndex;
    Input.AlphaThreshold = Input_AlphaThreshold;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
    _VSPS_PosP = flattenTemp.PosP;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec2 UV;
    vec4 Alpha_Dist_UV;
    vec2 BlendUV;
    vec4 Blend_Alpha_Dist_UV;
    float FlipbookIndex;
    float AlphaThreshold;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec4 Input_Color;
attribute vec2 Input_UV;
attribute vec4 Input_Alpha_Dist_UV;
attribute vec2 Input_BlendUV;
attribute vec4 Input_Blend_Alpha_Dist_UV;
attribute float Input_FlipbookIndex;
attribute float Input_AlphaThreshold;
varying vec4 _VSPS_Color;
varying vec4 _VSPS_UV_Others;
varying vec3 _VSPS_WorldN;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

float IntMod(float x, float y)
{
    return floor(mod(x, y));
}

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = FlipbookIndex;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = Index;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(VS_Input vsinput, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV = vsinput.Alpha_Dist_UV;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV = vec4(vsinput.BlendUV.x, vsinput.BlendUV.y, vsoutput.Blend_FBNextIndex_UV.z, vsoutput.Blend_FBNextIndex_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.BlendUV.y);
    vsoutput.Blend_Alpha_Dist_UV = vsinput.Blend_Alpha_Dist_UV;
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.w);
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = vsinput.FlipbookIndex;
    vec2 param_5 = vsoutput.UV_Others.xy;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = vsinput.AlphaThreshold;
}

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec2 uv1 = Input.UV;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV_Others = vec4(uv1.x, uv1.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.Color = Input.Color;
    VS_Input param = Input;
    VS_Output param_1 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1);
    Output = param_1;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.UV = Input_UV;
    Input.Alpha_Dist_UV = Input_Alpha_Dist_UV;
    Input.BlendUV = Input_BlendUV;
    Input.Blend_Alpha_Dist_UV = Input_Blend_Alpha_Dist_UV;
    Input.FlipbookIndex = Input_FlipbookIndex;
    Input.AlphaThreshold = Input_AlphaThreshold;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec2 UV;
    vec4 Alpha_Dist_UV;
    vec2 BlendUV;
    vec4 Blend_Alpha_Dist_UV;
    float FlipbookIndex;
    float AlphaThreshold;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec4 Input_Color;
layout(location = 2) in vec2 Input_UV;
layout(location = 3) in vec4 Input_Alpha_Dist_UV;
layout(location = 4) in vec2 Input_BlendUV;
layout(location = 5) in vec4 Input_Blend_Alpha_Dist_UV;
layout(location = 6) in float Input_FlipbookIndex;
layout(location = 7) in float Input_AlphaThreshold;
centroid out vec4 _VSPS_Color;
centroid out vec4 _VSPS_UV_Others;
out vec3 _VSPS_WorldN;
out vec4 _VSPS_Alpha_Dist_UV;
out vec4 _VSPS_Blend_Alpha_Dist_UV;
out vec4 _VSPS_Blend_FBNextIndex_UV;
out vec4 _VSPS_PosP;

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(FlipbookIndex) % int(DivideX));
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(Index) % int(DivideX));
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(VS_Input vsinput, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV = vsinput.Alpha_Dist_UV;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV = vec4(vsinput.BlendUV.x, vsinput.BlendUV.y, vsoutput.Blend_FBNextIndex_UV.z, vsoutput.Blend_FBNextIndex_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.BlendUV.y);
    vsoutput.Blend_Alpha_Dist_UV = vsinput.Blend_Alpha_Dist_UV;
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.w);
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = vsinput.FlipbookIndex;
    vec2 param_5 = vsoutput.UV_Others.xy;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = vsinput.AlphaThreshold;
}

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec2 uv1 = Input.UV;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV_Others = vec4(uv1.x, uv1.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.Color = Input.Color;
    VS_Input param = Input;
    VS_Output param_1 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1);
    Output = param_1;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.UV = Input_UV;
    Input.Alpha_Dist_UV = Input_Alpha_Dist_UV;
    Input.BlendUV = Input_BlendUV;
    Input.Blend_Alpha_Dist_UV = Input_Blend_Alpha_Dist_UV;
    Input.FlipbookIndex = Input_FlipbookIndex;
    Input.AlphaThreshold = Input_AlphaThreshold;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
    _VSPS_PosP = flattenTemp.PosP;
}



struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec2 UV;
    vec4 Alpha_Dist_UV;
    vec2 BlendUV;
    vec4 Blend_Alpha_Dist_UV;
    float FlipbookIndex;
    float AlphaThreshold;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec4 Input_Color;
attribute vec2 Input_UV;
attribute vec4 Input_Alpha_Dist_UV;
attribute vec2 Input_BlendUV;
attribute vec4 Input_Blend_Alpha_Dist_UV;
attribute float Input_FlipbookIndex;
attribute float Input_AlphaThreshold;
varying vec4 _VSPS_Color;
varying vec4 _VSPS_UV_Others;
varying vec3 _VSPS_WorldN;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

float IntMod(float x, float y)
{
    return floor(mod(x, y));
}

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = FlipbookIndex;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = Index;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(VS_Input vsinput, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV = vsinput.Alpha_Dist_UV;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV = vec4(vsinput.BlendUV.x, vsinput.BlendUV.y, vsoutput.Blend_FBNextIndex_UV.z, vsoutput.Blend_FBNextIndex_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.BlendUV.y);
    vsoutput.Blend_Alpha_Dist_UV = vsinput.Blend_Alpha_Dist_UV;
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.w);
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = vsinput.FlipbookIndex;
    vec2 param_5 = vsoutput.UV_Others.xy;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = vsinput.AlphaThreshold;
}

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec2 uv1 = Input.UV;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV_Others = vec4(uv1.x, uv1.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.Color = Input.Color;
    VS_Input param = Input;
    VS_Output param_1 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1);
    Output = param_1;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.UV = Input_UV;
    Input.Alpha_Dist_UV = Input_Alpha_Dist_UV;
    Input.BlendUV = Input_BlendUV;
    Input.Blend_Alpha_Dist_UV = Input_Blend_Alpha_Dist_UV;
    Input.FlipbookIndex = Input_FlipbookIndex;
    Input.AlphaThreshold = Input_AlphaThreshold;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}

#version 300 es

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec2 UV;
    vec4 Alpha_Dist_UV;
    vec2 BlendUV;
    vec4 Blend_Alpha_Dist_UV;
    float FlipbookIndex;
    float AlphaThreshold;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec4 Input_Color;
layout(location = 2) in vec2 Input_UV;
layout(location = 3) in vec4 Input_Alpha_Dist_UV;
layout(location = 4) in vec2 Input_BlendUV;
layout(location = 5) in vec4 Input_Blend_Alpha_Dist_UV;
layout(location = 6) in float Input_FlipbookIndex;
layout(location = 7) in float Input_AlphaThreshold;
centroid out vec4 _VSPS_Color;
centroid out vec4 _VSPS_UV_Others;
out vec3 _VSPS_WorldN;
out vec4 _VSPS_Alpha_Dist_UV;
out vec4 _VSPS_Blend_Alpha_Dist_UV;
out vec4 _VSPS_Blend_FBNextIndex_UV;
out vec4 _VSPS_PosP;

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(FlipbookIndex) % int(DivideX));
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(Index) % int(DivideX));
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(VS_Input vsinput, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV = vsinput.Alpha_Dist_UV;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV = vec4(vsinput.BlendUV.x, vsinput.BlendUV.y, vsoutput.Blend_FBNextIndex_UV.z, vsoutput.Blend_FBNextIndex_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.BlendUV.y);
    vsoutput.Blend_Alpha_Dist_UV = vsinput.Blend_Alpha_Dist_UV;
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsinput.Blend_Alpha_Dist_UV.w);
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = vsinput.FlipbookIndex;
    vec2 param_5 = vsoutput.UV_Others.xy;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = vsinput.AlphaThreshold;
}

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec2 uv1 = Input.UV;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV_Others = vec4(uv1.x, uv1.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.Color = Input.Color;
    VS_Input param = Input;
    VS_Output param_1 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1);
    Output = param_1;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.UV = Input_UV;
    Input.Alpha_Dist_UV = Input_Alpha_Dist_UV;
    Input.BlendUV = Input_BlendUV;
    Input.Blend_Alpha_Dist_UV = Input_Blend_Alpha_Dist_UV;
    Input.FlipbookIndex = Input_FlipbookIndex;
    Input.AlphaThreshold = Input_AlphaThreshold;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
    _VSPS_PosP = flattenTemp.PosP;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec2 UV;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
};

struct PS_ConstanBuffer
{
    vec4 g_scale;
    vec4 mUVInversedBack;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_backTex;

varying vec2 _VSPS_UV;
varying vec4 _VSPS_ProjBinormal;
varying vec4 _VSPS_ProjTangent;
varying vec4 _VSPS_PosP;
varying vec4 _VSPS_Color;

vec4 _main(PS_Input Input)
{
    vec4 Output = texture2D(Sampler_sampler_colorTex, Input.UV);
    Output.w *= Input.Color.w;
    vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    vec3 color = vec3(texture2D(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    if (Output.w == 0.0)
    {
        discard;
    }
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV = _VSPS_UV;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    vec4 _182 = _main(Input);
    gl_FragData[0] = _182;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec2 UV;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
};

struct PS_ConstanBuffer
{
    vec4 g_scale;
    vec4 mUVInversedBack;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_backTex;
uniform sampler2D Sampler_sampler_depthTex;

centroid in vec2 _VSPS_UV;
in vec4 _VSPS_ProjBinormal;
in vec4 _VSPS_ProjTangent;
in vec4 _VSPS_PosP;
centroid in vec4 _VSPS_Color;
layout(location = 0) out vec4 _entryPointOutput;

float SoftParticle(float backgroundZ, float meshZ, vec4 softparticleParam, vec4 reconstruct1, vec4 reconstruct2)
{
    float distanceFar = softparticleParam.x;
    float distanceNear = softparticleParam.y;
    float distanceNearOffset = softparticleParam.z;
    vec2 rescale = reconstruct1.xy;
    vec4 params = reconstruct2;
    vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    float dir = sign(depth.x);
    depth *= dir;
    float alphaFar = (depth.x - depth.y) / distanceFar;
    float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

vec4 _main(PS_Input Input)
{
    vec4 Output = texture(Sampler_sampler_colorTex, Input.UV);
    Output.w *= Input.Color.w;
    vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    vec3 color = vec3(texture(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        float param = backgroundZ;
        float param_1 = screenPos.z;
        vec4 param_2 = CBPS0.softParticleParam;
        vec4 param_3 = CBPS0.reconstructionParam1;
        vec4 param_4 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param, param_1, param_2, param_3, param_4);
    }
    if (Output.w == 0.0)
    {
        discard;
    }
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV = _VSPS_UV;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    vec4 _318 = _main(Input);
    _entryPointOutput = _318;
}


precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec2 UV;
    highp vec4 ProjBinormal;
    highp vec4 ProjTangent;
    highp vec4 PosP;
    highp vec4 Color;
};

struct PS_ConstanBuffer
{
    highp vec4 g_scale;
    highp vec4 mUVInversedBack;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
};

uniform PS_ConstanBuffer CBPS0;

uniform  sampler2D Sampler_sampler_colorTex;
uniform  sampler2D Sampler_sampler_backTex;

varying  vec2 _VSPS_UV;
varying  vec4 _VSPS_ProjBinormal;
varying  vec4 _VSPS_ProjTangent;
varying  vec4 _VSPS_PosP;
varying  vec4 _VSPS_Color;

highp vec4 _main(PS_Input Input)
{
    highp vec4 Output = texture2D(Sampler_sampler_colorTex, Input.UV);
    Output.w *= Input.Color.w;
    highp vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    highp vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    highp vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    highp float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    highp float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    highp vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    highp vec3 color = vec3(texture2D(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    if (Output.w == 0.0)
    {
        discard;
    }
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV = _VSPS_UV;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    highp vec4 _182 = _main(Input);
    gl_FragData[0] = _182;
}

#version 300 es
precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec2 UV;
    highp vec4 ProjBinormal;
    highp vec4 ProjTangent;
    highp vec4 PosP;
    highp vec4 Color;
};

struct PS_ConstanBuffer
{
    highp vec4 g_scale;
    highp vec4 mUVInversedBack;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
};

uniform PS_ConstanBuffer CBPS0;

uniform highp sampler2D Sampler_sampler_colorTex;
uniform highp sampler2D Sampler_sampler_backTex;
uniform highp sampler2D Sampler_sampler_depthTex;

centroid in highp vec2 _VSPS_UV;
in highp vec4 _VSPS_ProjBinormal;
in highp vec4 _VSPS_ProjTangent;
in highp vec4 _VSPS_PosP;
centroid in highp vec4 _VSPS_Color;
layout(location = 0) out highp vec4 _entryPointOutput;

highp float SoftParticle(highp float backgroundZ, highp float meshZ, highp vec4 softparticleParam, highp vec4 reconstruct1, highp vec4 reconstruct2)
{
    highp float distanceFar = softparticleParam.x;
    highp float distanceNear = softparticleParam.y;
    highp float distanceNearOffset = softparticleParam.z;
    highp vec2 rescale = reconstruct1.xy;
    highp vec4 params = reconstruct2;
    highp vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    highp vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    highp float dir = sign(depth.x);
    depth *= dir;
    highp float alphaFar = (depth.x - depth.y) / distanceFar;
    highp float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

highp vec4 _main(PS_Input Input)
{
    highp vec4 Output = texture(Sampler_sampler_colorTex, Input.UV);
    Output.w *= Input.Color.w;
    highp vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    highp vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    highp vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    highp float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    highp float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    highp vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    highp vec3 color = vec3(texture(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    highp vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    highp vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        highp float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        highp float param = backgroundZ;
        highp float param_1 = screenPos.z;
        highp vec4 param_2 = CBPS0.softParticleParam;
        highp vec4 param_3 = CBPS0.reconstructionParam1;
        highp vec4 param_4 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param, param_1, param_2, param_3, param_4);
    }
    if (Output.w == 0.0)
    {
        discard;
    }
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV = _VSPS_UV;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    highp vec4 _318 = _main(Input);
    _entryPointOutput = _318;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 PosP;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_normalTex;

varying vec4 _VSPS_Color;
varying vec2 _VSPS_UV;
varying vec3 _VSPS_WorldN;
varying vec3 _VSPS_WorldB;
varying vec3 _VSPS_WorldT;
varying vec4 _VSPS_PosP;

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    vec4 param = texture2D(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    vec3 texNormal = (texture2D(Sampler_sampler_normalTex, Input.UV).xyz - vec3(0.5)) * 2.0;
    vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    vec3 _229 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_229.x, _229.y, _229.z, Output.w);
    vec3 _237 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_237.x, _237.y, _237.z, Output.w);
    if (Output.w == 0.0)
    {
        discard;
    }
    vec4 param_2 = Output;
    bool param_3 = convertColorSpace;
    return ConvertToScreen(param_2, param_3);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.PosP = _VSPS_PosP;
    vec4 _284 = _main(Input);
    gl_FragData[0] = _284;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 PosP;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_normalTex;
uniform sampler2D Sampler_sampler_depthTex;

centroid in vec4 _VSPS_Color;
centroid in vec2 _VSPS_UV;
in vec3 _VSPS_WorldN;
in vec3 _VSPS_WorldB;
in vec3 _VSPS_WorldT;
in vec4 _VSPS_PosP;
layout(location = 0) out vec4 _entryPointOutput;

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

float SoftParticle(float backgroundZ, float meshZ, vec4 softparticleParam, vec4 reconstruct1, vec4 reconstruct2)
{
    float distanceFar = softparticleParam.x;
    float distanceNear = softparticleParam.y;
    float distanceNearOffset = softparticleParam.z;
    vec2 rescale = reconstruct1.xy;
    vec4 params = reconstruct2;
    vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    float dir = sign(depth.x);
    depth *= dir;
    float alphaFar = (depth.x - depth.y) / distanceFar;
    float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    vec4 param = texture(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    vec3 texNormal = (texture(Sampler_sampler_normalTex, Input.UV).xyz - vec3(0.5)) * 2.0;
    vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    vec3 _311 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_311.x, _311.y, _311.z, Output.w);
    vec3 _319 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_319.x, _319.y, _319.z, Output.w);
    vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        float param_2 = backgroundZ;
        float param_3 = screenPos.z;
        vec4 param_4 = CBPS0.softParticleParam;
        vec4 param_5 = CBPS0.reconstructionParam1;
        vec4 param_6 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_2, param_3, param_4, param_5, param_6);
    }
    if (Output.w == 0.0)
    {
        discard;
    }
    vec4 param_7 = Output;
    bool param_8 = convertColorSpace;
    return ConvertToScreen(param_7, param_8);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.PosP = _VSPS_PosP;
    vec4 _431 = _main(Input);
    _entryPointOutput = _431;
}


precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec2 UV;
    highp vec3 WorldN;
    highp vec3 WorldB;
    highp vec3 WorldT;
    highp vec4 PosP;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform  sampler2D Sampler_sampler_colorTex;
uniform  sampler2D Sampler_sampler_normalTex;

varying  vec4 _VSPS_Color;
varying  vec2 _VSPS_UV;
varying  vec3 _VSPS_WorldN;
varying  vec3 _VSPS_WorldB;
varying  vec3 _VSPS_WorldT;
varying  vec4 _VSPS_PosP;

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    highp vec4 param = texture2D(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    highp vec3 texNormal = (texture2D(Sampler_sampler_normalTex, Input.UV).xyz - vec3(0.5)) * 2.0;
    highp vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    highp float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    highp vec3 _229 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_229.x, _229.y, _229.z, Output.w);
    highp vec3 _237 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_237.x, _237.y, _237.z, Output.w);
    if (Output.w == 0.0)
    {
        discard;
    }
    highp vec4 param_2 = Output;
    bool param_3 = convertColorSpace;
    return ConvertToScreen(param_2, param_3);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.PosP = _VSPS_PosP;
    highp vec4 _284 = _main(Input);
    gl_FragData[0] = _284;
}

#version 300 es
precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec2 UV;
    highp vec3 WorldN;
    highp vec3 WorldB;
    highp vec3 WorldT;
    highp vec4 PosP;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform highp sampler2D Sampler_sampler_colorTex;
uniform highp sampler2D Sampler_sampler_normalTex;
uniform highp sampler2D Sampler_sampler_depthTex;

centroid in highp vec4 _VSPS_Color;
centroid in highp vec2 _VSPS_UV;
in highp vec3 _VSPS_WorldN;
in highp vec3 _VSPS_WorldB;
in highp vec3 _VSPS_WorldT;
in highp vec4 _VSPS_PosP;
layout(location = 0) out highp vec4 _entryPointOutput;

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp float SoftParticle(highp float backgroundZ, highp float meshZ, highp vec4 softparticleParam, highp vec4 reconstruct1, highp vec4 reconstruct2)
{
    highp float distanceFar = softparticleParam.x;
    highp float distanceNear = softparticleParam.y;
    highp float distanceNearOffset = softparticleParam.z;
    highp vec2 rescale = reconstruct1.xy;
    highp vec4 params = reconstruct2;
    highp vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    highp vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    highp float dir = sign(depth.x);
    depth *= dir;
    highp float alphaFar = (depth.x - depth.y) / distanceFar;
    highp float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    highp vec4 param = texture(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    highp vec3 texNormal = (texture(Sampler_sampler_normalTex, Input.UV).xyz - vec3(0.5)) * 2.0;
    highp vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    highp float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    highp vec3 _311 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_311.x, _311.y, _311.z, Output.w);
    highp vec3 _319 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_319.x, _319.y, _319.z, Output.w);
    highp vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    highp vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        highp float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        highp float param_2 = backgroundZ;
        highp float param_3 = screenPos.z;
        highp vec4 param_4 = CBPS0.softParticleParam;
        highp vec4 param_5 = CBPS0.reconstructionParam1;
        highp vec4 param_6 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_2, param_3, param_4, param_5, param_6);
    }
    if (Output.w == 0.0)
    {
        discard;
    }
    highp vec4 param_7 = Output;
    bool param_8 = convertColorSpace;
    return ConvertToScreen(param_7, param_8);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.PosP = _VSPS_PosP;
    highp vec4 _431 = _main(Input);
    _entryPointOutput = _431;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec4 PosP;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_colorTex;

varying vec4 _VSPS_Color;
varying vec2 _VSPS_UV;
varying vec4 _VSPS_PosP;

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    vec4 param = texture2D(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    vec3 _175 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_175.x, _175.y, _175.z, Output.w);
    if (Output.w == 0.0)
    {
        discard;
    }
    vec4 param_2 = Output;
    bool param_3 = convertColorSpace;
    return ConvertToScreen(param_2, param_3);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.PosP = _VSPS_PosP;
    vec4 _213 = _main(Input);
    gl_FragData[0] = _213;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec4 PosP;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_depthTex;

centroid in vec4 _VSPS_Color;
centroid in vec2 _VSPS_UV;
in vec4 _VSPS_PosP;
layout(location = 0) out vec4 _entryPointOutput;

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

float SoftParticle(float backgroundZ, float meshZ, vec4 softparticleParam, vec4 reconstruct1, vec4 reconstruct2)
{
    float distanceFar = softparticleParam.x;
    float distanceNear = softparticleParam.y;
    float distanceNearOffset = softparticleParam.z;
    vec2 rescale = reconstruct1.xy;
    vec4 params = reconstruct2;
    vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    float dir = sign(depth.x);
    depth *= dir;
    float alphaFar = (depth.x - depth.y) / distanceFar;
    float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    vec4 param = texture(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    vec3 _258 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_258.x, _258.y, _258.z, Output.w);
    vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        float param_2 = backgroundZ;
        float param_3 = screenPos.z;
        vec4 param_4 = CBPS0.softParticleParam;
        vec4 param_5 = CBPS0.reconstructionParam1;
        vec4 param_6 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_2, param_3, param_4, param_5, param_6);
    }
    if (Output.w == 0.0)
    {
        discard;
    }
    vec4 param_7 = Output;
    bool param_8 = convertColorSpace;
    return ConvertToScreen(param_7, param_8);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.PosP = _VSPS_PosP;
    vec4 _363 = _main(Input);
    _entryPointOutput = _363;
}


precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec2 UV;
    highp vec4 PosP;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform  sampler2D Sampler_sampler_colorTex;

varying  vec4 _VSPS_Color;
varying  vec2 _VSPS_UV;
varying  vec4 _VSPS_PosP;

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    highp vec4 param = texture2D(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    highp vec3 _175 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_175.x, _175.y, _175.z, Output.w);
    if (Output.w == 0.0)
    {
        discard;
    }
    highp vec4 param_2 = Output;
    bool param_3 = convertColorSpace;
    return ConvertToScreen(param_2, param_3);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.PosP = _VSPS_PosP;
    highp vec4 _213 = _main(Input);
    gl_FragData[0] = _213;
}

#version 300 es
precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec2 UV;
    highp vec4 PosP;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform highp sampler2D Sampler_sampler_colorTex;
uniform highp sampler2D Sampler_sampler_depthTex;

centroid in highp vec4 _VSPS_Color;
centroid in highp vec2 _VSPS_UV;
in highp vec4 _VSPS_PosP;
layout(location = 0) out highp vec4 _entryPointOutput;

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp float SoftParticle(highp float backgroundZ, highp float meshZ, highp vec4 softparticleParam, highp vec4 reconstruct1, highp vec4 reconstruct2)
{
    highp float distanceFar = softparticleParam.x;
    highp float distanceNear = softparticleParam.y;
    highp float distanceNearOffset = softparticleParam.z;
    highp vec2 rescale = reconstruct1.xy;
    highp vec4 params = reconstruct2;
    highp vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    highp vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    highp float dir = sign(depth.x);
    depth *= dir;
    highp float alphaFar = (depth.x - depth.y) / distanceFar;
    highp float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    highp vec4 param = texture(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    highp vec3 _258 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_258.x, _258.y, _258.z, Output.w);
    highp vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    highp vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        highp float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        highp float param_2 = backgroundZ;
        highp float param_3 = screenPos.z;
        highp vec4 param_4 = CBPS0.softParticleParam;
        highp vec4 param_5 = CBPS0.reconstructionParam1;
        highp vec4 param_6 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_2, param_3, param_4, param_5, param_6);
    }
    if (Output.w == 0.0)
    {
        discard;
    }
    highp vec4 param_7 = Output;
    bool param_8 = convertColorSpace;
    return ConvertToScreen(param_7, param_8);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.PosP = _VSPS_PosP;
    highp vec4 _363 = _main(Input);
    _entryPointOutput = _363;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
};

struct VS_Output
{
    vec4 PosVS;
    vec2 UV;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 mflipbookParameter;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec4 Input_Color;
attribute vec4 Input_Normal;
attribute vec4 Input_Tangent;
attribute vec2 Input_UV1;
attribute vec2 Input_UV2;
varying vec2 _VSPS_UV;
varying vec4 _VSPS_ProjBinormal;
varying vec4 _VSPS_ProjTangent;
varying vec4 _VSPS_PosP;
varying vec4 _VSPS_Color;

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec2(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.Color = Input.Color;
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV = uv1;
    Output.ProjTangent = CBVS0.mCameraProj * (worldPos + worldTangent);
    Output.ProjBinormal = CBVS0.mCameraProj * (worldPos + worldBinormal);
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
};

struct VS_Output
{
    vec4 PosVS;
    vec2 UV;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 mflipbookParameter;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec4 Input_Color;
layout(location = 2) in vec4 Input_Normal;
layout(location = 3) in vec4 Input_Tangent;
layout(location = 4) in vec2 Input_UV1;
layout(location = 5) in vec2 Input_UV2;
centroid out vec2 _VSPS_UV;
out vec4 _VSPS_ProjBinormal;
out vec4 _VSPS_ProjTangent;
out vec4 _VSPS_PosP;
centroid out vec4 _VSPS_Color;

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec2(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.Color = Input.Color;
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV = uv1;
    Output.ProjTangent = (worldPos + worldTangent) * CBVS0.mCameraProj;
    Output.ProjBinormal = (worldPos + worldBinormal) * CBVS0.mCameraProj;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
}



struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
};

struct VS_Output
{
    vec4 PosVS;
    vec2 UV;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 mflipbookParameter;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec4 Input_Color;
attribute vec4 Input_Normal;
attribute vec4 Input_Tangent;
attribute vec2 Input_UV1;
attribute vec2 Input_UV2;
varying vec2 _VSPS_UV;
varying vec4 _VSPS_ProjBinormal;
varying vec4 _VSPS_ProjTangent;
varying vec4 _VSPS_PosP;
varying vec4 _VSPS_Color;

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec2(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.Color = Input.Color;
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV = uv1;
    Output.ProjTangent = CBVS0.mCameraProj * (worldPos + worldTangent);
    Output.ProjBinormal = CBVS0.mCameraProj * (worldPos + worldBinormal);
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
}

#version 300 es

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
};

struct VS_Output
{
    vec4 PosVS;
    vec2 UV;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 mflipbookParameter;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec4 Input_Color;
layout(location = 2) in vec4 Input_Normal;
layout(location = 3) in vec4 Input_Tangent;
layout(location = 4) in vec2 Input_UV1;
layout(location = 5) in vec2 Input_UV2;
centroid out vec2 _VSPS_UV;
out vec4 _VSPS_ProjBinormal;
out vec4 _VSPS_ProjTangent;
out vec4 _VSPS_PosP;
centroid out vec4 _VSPS_Color;

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec2(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.Color = Input.Color;
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV = uv1;
    Output.ProjTangent = (worldPos + worldTangent) * CBVS0.mCameraProj;
    Output.ProjBinormal = (worldPos + worldBinormal) * CBVS0.mCameraProj;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 mflipbookParameter;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec4 Input_Color;
attribute vec4 Input_Normal;
attribute vec4 Input_Tangent;
attribute vec2 Input_UV1;
attribute vec2 Input_UV2;
varying vec4 _VSPS_Color;
varying vec2 _VSPS_UV;
varying vec3 _VSPS_WorldN;
varying vec3 _VSPS_WorldB;
varying vec3 _VSPS_WorldT;
varying vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.Color = Input.Color;
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV = uv1;
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_PosP = flattenTemp.PosP;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 mflipbookParameter;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec4 Input_Color;
layout(location = 2) in vec4 Input_Normal;
layout(location = 3) in vec4 Input_Tangent;
layout(location = 4) in vec2 Input_UV1;
layout(location = 5) in vec2 Input_UV2;
centroid out vec4 _VSPS_Color;
centroid out vec2 _VSPS_UV;
out vec3 _VSPS_WorldN;
out vec3 _VSPS_WorldB;
out vec3 _VSPS_WorldT;
out vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.Color = Input.Color;
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV = uv1;
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_PosP = flattenTemp.PosP;
}



struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 mflipbookParameter;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec4 Input_Color;
attribute vec4 Input_Normal;
attribute vec4 Input_Tangent;
attribute vec2 Input_UV1;
attribute vec2 Input_UV2;
varying vec4 _VSPS_Color;
varying vec2 _VSPS_UV;
varying vec3 _VSPS_WorldN;
varying vec3 _VSPS_WorldB;
varying vec3 _VSPS_WorldT;
varying vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.Color = Input.Color;
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV = uv1;
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_PosP = flattenTemp.PosP;
}

#version 300 es

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec4 Normal;
    vec4 Tangent;
    vec2 UV1;
    vec2 UV2;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 mflipbookParameter;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec4 Input_Color;
layout(location = 2) in vec4 Input_Normal;
layout(location = 3) in vec4 Input_Tangent;
layout(location = 4) in vec2 Input_UV1;
layout(location = 5) in vec2 Input_UV2;
centroid out vec4 _VSPS_Color;
centroid out vec2 _VSPS_UV;
out vec3 _VSPS_WorldN;
out vec3 _VSPS_WorldB;
out vec3 _VSPS_WorldT;
out vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0));
    vec4 worldNormal = vec4((Input.Normal.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldTangent = vec4((Input.Tangent.xyz - vec3(0.5)) * 2.0, 0.0);
    vec4 worldBinormal = vec4(cross(worldNormal.xyz, worldTangent.xyz), 0.0);
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.Color = Input.Color;
    vec2 uv1 = Input.UV1;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV = uv1;
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.Normal = Input_Normal;
    Input.Tangent = Input_Tangent;
    Input.UV1 = Input_UV1;
    Input.UV2 = Input_UV2;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_PosP = flattenTemp.PosP;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec2 UV;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 mflipbookParameter;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec4 Input_Color;
attribute vec2 Input_UV;
varying vec4 _VSPS_Color;
varying vec2 _VSPS_UV;
varying vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec4(0.0));
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.Color = Input.Color;
    vec2 uv1 = Input.UV;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV = uv1;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.UV = Input_UV;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_PosP = flattenTemp.PosP;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec2 UV;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 mflipbookParameter;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec4 Input_Color;
layout(location = 2) in vec2 Input_UV;
centroid out vec4 _VSPS_Color;
centroid out vec2 _VSPS_UV;
out vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec4(0.0));
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.Color = Input.Color;
    vec2 uv1 = Input.UV;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV = uv1;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.UV = Input_UV;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_PosP = flattenTemp.PosP;
}



struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec2 UV;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 mflipbookParameter;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec4 Input_Color;
attribute vec2 Input_UV;
varying vec4 _VSPS_Color;
varying vec2 _VSPS_UV;
varying vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec4(0.0));
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.Color = Input.Color;
    vec2 uv1 = Input.UV;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV = uv1;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.UV = Input_UV;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_PosP = flattenTemp.PosP;
}

#version 300 es

struct VS_Input
{
    vec3 Pos;
    vec4 Color;
    vec2 UV;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCamera;
    mat4 mCameraProj;
    vec4 mUVInversed;
    vec4 mflipbookParameter;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec4 Input_Color;
layout(location = 2) in vec2 Input_UV;
centroid out vec4 _VSPS_Color;
centroid out vec2 _VSPS_UV;
out vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec4(0.0));
    vec4 worldPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.Color = Input.Color;
    vec2 uv1 = Input.UV;
    uv1.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * uv1.y);
    Output.UV = uv1;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Color = Input_Color;
    Input.UV = Input_UV;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_PosP = flattenTemp.PosP;
}

??P8?p8??:??:?h????
???
???
?`:???
???
???
???
???
??i?`l??i?Pl??i?@l???
?j??l??h?k?0i??h?i? k???
???
???
???
???
? 9???
???
???
???
???
???
?`i?pi?`j?pj?0j??l?@j??l??h?k?Pj??l??;??h??j?`g??h?Pi?0k?pl? 9??i??k???
???
???
???
???P=?Ph?@???:???????`???=??`??i?`l??i?Pl??i?@l?j?j??l??h?k?0i??h?i? k?`[?Y??Z??X??]?pT??\??W??V?????g????`i?pi?`j?pj?0j??l?@j??l??h?k?Pj??l??;??h??j?`g??h?Pi?0k?pl?h??i??k?p?????g?Ќ????\=?Xh?x???5????8?UnlitAdFailed to compile UnlitAdDistAdFailed to compile DistAdLitAdFailed to compile LitAdUnlitFailed to compile UnlitDistFailed to compile DistLitFailed to compile Lit0??P8?p8??:?P7??=?????`?ȭ?P8?p8??:??5?P;?????_?PH?P;?`??P8?p8??:??6?p=???`????P8?p8??:??8?P;?????_??J?P;?CBVS0.mCameraCBVS0.mCameraProjCBVS0.mUVInversedCBVS0.flipbookParameter1CBVS0.flipbookParameter2CBPS0.fLightDirectionCBPS0.fLightColorCBPS0.fLightAmbientCBPS0.fFlipbookParameterCBPS0.fUVDistortionParameterCBPS0.fBlendTextureParameterCBPS0.fCameraFrontDirectionCBPS0.fFalloffParameterCBPS0.fFalloffBeginColorCBPS0.fFalloffEndColorCBPS0.fEmissiveScalingCBPS0.fEdgeColorCBPS0.fEdgeParameterCBPS0.softParticleParamCBPS0.reconstructionParam1CBPS0.reconstructionParam2CBPS0.mUVInversedBackCBPS0.miscFlagsCBPS0.g_scaleSampler_sampler_colorTexSampler_sampler_depthTexSampler_sampler_backTexSampler_sampler_normalTexSampler_sampler_alphaTexSampler_sampler_uvDistortionTexSampler_sampler_blendTexSampler_sampler_blendAlphaTexSampler_sampler_blendUVDistortionTex???P????0:??????0????:???? ??0?????P8?p8??:????P?0????`?Ȳ?P8?p8??:? 0.0)
    {
        vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout vec4 dstColor, vec4 blendColor, float blendType)
{
    if (blendType == 0.0)
    {
        vec3 _164 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_164.x, _164.y, _164.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            vec3 _176 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_176.x, _176.y, _176.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                vec3 _189 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_189.x, _189.y, _189.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    vec3 _202 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_202.x, _202.y, _202.z, dstColor.w);
                }
            }
        }
    }
}

vec4 _main(PS_Input Input)
{
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    vec2 param_1 = advancedParam.UVDistortionUV;
    vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = false;
    vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    vec4 Output = texture2D(Sampler_sampler_colorTex, vec2(Input.UV_Others.xy) + UVOffset);
    Output.w *= Input.Color.w;
    vec4 param_4 = Output;
    float param_5 = advancedParam.FlipbookRate;
    bool param_6 = false;
    ApplyFlipbook(param_4, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_5, param_6, Sampler_sampler_colorTex);
    Output = param_4;
    vec4 AlphaTexColor = texture2D(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    vec2 param_7 = advancedParam.BlendUVDistortionUV;
    vec2 param_8 = CBPS0.fUVDistortionParameter.zw;
    bool param_9 = false;
    vec2 BlendUVOffset = UVDistortionOffset(param_7, param_8, param_9, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    vec4 BlendTextureColor = texture2D(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    vec4 BlendAlphaTextureColor = texture2D(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    vec4 param_10 = Output;
    ApplyTextureBlending(param_10, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_10;
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    vec3 color = vec3(texture2D(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV_Others = _VSPS_UV_Others;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    vec4 _562 = _main(Input);
    gl_FragData[0] = _562;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 UV_Others;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct AdvancedParameter
{
    vec2 AlphaUV;
    vec2 UVDistortionUV;
    vec2 BlendUV;
    vec2 BlendAlphaUV;
    vec2 BlendUVDistortionUV;
    vec2 FlipbookNextIndexUV;
    float FlipbookRate;
    float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    vec4 g_scale;
    vec4 mUVInversedBack;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_uvDistortionTex;
uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_alphaTex;
uniform sampler2D Sampler_sampler_blendUVDistortionTex;
uniform sampler2D Sampler_sampler_blendTex;
uniform sampler2D Sampler_sampler_blendAlphaTex;
uniform sampler2D Sampler_sampler_backTex;
uniform sampler2D Sampler_sampler_depthTex;

centroid in vec4 _VSPS_UV_Others;
in vec4 _VSPS_ProjBinormal;
in vec4 _VSPS_ProjTangent;
in vec4 _VSPS_PosP;
centroid in vec4 _VSPS_Color;
in vec4 _VSPS_Alpha_Dist_UV;
in vec4 _VSPS_Blend_Alpha_Dist_UV;
in vec4 _VSPS_Blend_FBNextIndex_UV;
layout(location = 0) out vec4 _entryPointOutput;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

vec2 UVDistortionOffset(vec2 uv, vec2 uvInversed, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    vec4 sampledColor = texture(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout vec4 dst, vec4 flipbookParameter, vec4 vcolor, vec2 nextUV, float flipbookRate, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        vec4 sampledColor = texture(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout vec4 dstColor, vec4 blendColor, float blendType)
{
    if (blendType == 0.0)
    {
        vec3 _172 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_172.x, _172.y, _172.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            vec3 _184 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_184.x, _184.y, _184.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                vec3 _197 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_197.x, _197.y, _197.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    vec3 _210 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_210.x, _210.y, _210.z, dstColor.w);
                }
            }
        }
    }
}

float SoftParticle(float backgroundZ, float meshZ, vec4 softparticleParam, vec4 reconstruct1, vec4 reconstruct2)
{
    float distanceFar = softparticleParam.x;
    float distanceNear = softparticleParam.y;
    float distanceNearOffset = softparticleParam.z;
    vec2 rescale = reconstruct1.xy;
    vec4 params = reconstruct2;
    vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    float dir = sign(depth.x);
    depth *= dir;
    float alphaFar = (depth.x - depth.y) / distanceFar;
    float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

vec4 _main(PS_Input Input)
{
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    vec2 param_1 = advancedParam.UVDistortionUV;
    vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = false;
    vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    vec4 Output = texture(Sampler_sampler_colorTex, vec2(Input.UV_Others.xy) + UVOffset);
    Output.w *= Input.Color.w;
    vec4 param_4 = Output;
    float param_5 = advancedParam.FlipbookRate;
    bool param_6 = false;
    ApplyFlipbook(param_4, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_5, param_6, Sampler_sampler_colorTex);
    Output = param_4;
    vec4 AlphaTexColor = texture(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    vec2 param_7 = advancedParam.BlendUVDistortionUV;
    vec2 param_8 = CBPS0.fUVDistortionParameter.zw;
    bool param_9 = false;
    vec2 BlendUVOffset = UVDistortionOffset(param_7, param_8, param_9, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    vec4 BlendTextureColor = texture(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    vec4 BlendAlphaTextureColor = texture(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    vec4 param_10 = Output;
    ApplyTextureBlending(param_10, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_10;
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    vec3 color = vec3(texture(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        float param_11 = backgroundZ;
        float param_12 = screenPos.z;
        vec4 param_13 = CBPS0.softParticleParam;
        vec4 param_14 = CBPS0.reconstructionParam1;
        vec4 param_15 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_11, param_12, param_13, param_14, param_15);
    }
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV_Others = _VSPS_UV_Others;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    vec4 _694 = _main(Input);
    _entryPointOutput = _694;
}


precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 UV_Others;
    highp vec4 ProjBinormal;
    highp vec4 ProjTangent;
    highp vec4 PosP;
    highp vec4 Color;
    highp vec4 Alpha_Dist_UV;
    highp vec4 Blend_Alpha_Dist_UV;
    highp vec4 Blend_FBNextIndex_UV;
};

struct AdvancedParameter
{
    highp vec2 AlphaUV;
    highp vec2 UVDistortionUV;
    highp vec2 BlendUV;
    highp vec2 BlendAlphaUV;
    highp vec2 BlendUVDistortionUV;
    highp vec2 FlipbookNextIndexUV;
    highp float FlipbookRate;
    highp float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    highp vec4 g_scale;
    highp vec4 mUVInversedBack;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
};

uniform PS_ConstanBuffer CBPS0;

uniform  sampler2D Sampler_sampler_uvDistortionTex;
uniform  sampler2D Sampler_sampler_colorTex;
uniform  sampler2D Sampler_sampler_alphaTex;
uniform  sampler2D Sampler_sampler_blendUVDistortionTex;
uniform  sampler2D Sampler_sampler_blendTex;
uniform  sampler2D Sampler_sampler_blendAlphaTex;
uniform  sampler2D Sampler_sampler_backTex;

varying  vec4 _VSPS_UV_Others;
varying  vec4 _VSPS_ProjBinormal;
varying  vec4 _VSPS_ProjTangent;
varying  vec4 _VSPS_PosP;
varying  vec4 _VSPS_Color;
varying  vec4 _VSPS_Alpha_Dist_UV;
varying  vec4 _VSPS_Blend_Alpha_Dist_UV;
varying  vec4 _VSPS_Blend_FBNextIndex_UV;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec2 UVDistortionOffset(highp vec2 uv, highp vec2 uvInversed, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    highp vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        highp vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    highp vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout highp vec4 dst, highp vec4 flipbookParameter, highp vec4 vcolor, highp vec2 nextUV, highp float flipbookRate, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        highp vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            highp vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        highp vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout highp vec4 dstColor, highp vec4 blendColor, highp float blendType)
{
    if (blendType == 0.0)
    {
        highp vec3 _164 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_164.x, _164.y, _164.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            highp vec3 _176 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_176.x, _176.y, _176.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                highp vec3 _189 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_189.x, _189.y, _189.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    highp vec3 _202 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_202.x, _202.y, _202.z, dstColor.w);
                }
            }
        }
    }
}

highp vec4 _main(PS_Input Input)
{
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    highp vec2 param_1 = advancedParam.UVDistortionUV;
    highp vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = false;
    highp vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    highp vec4 Output = texture2D(Sampler_sampler_colorTex, vec2(Input.UV_Others.xy) + UVOffset);
    Output.w *= Input.Color.w;
    highp vec4 param_4 = Output;
    highp float param_5 = advancedParam.FlipbookRate;
    bool param_6 = false;
    ApplyFlipbook(param_4, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_5, param_6, Sampler_sampler_colorTex);
    Output = param_4;
    highp vec4 AlphaTexColor = texture2D(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    highp vec2 param_7 = advancedParam.BlendUVDistortionUV;
    highp vec2 param_8 = CBPS0.fUVDistortionParameter.zw;
    bool param_9 = false;
    highp vec2 BlendUVOffset = UVDistortionOffset(param_7, param_8, param_9, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    highp vec4 BlendTextureColor = texture2D(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    highp vec4 BlendAlphaTextureColor = texture2D(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    highp vec4 param_10 = Output;
    ApplyTextureBlending(param_10, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_10;
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    highp vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    highp vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    highp vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    highp float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    highp float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    highp vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    highp vec3 color = vec3(texture2D(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV_Others = _VSPS_UV_Others;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    highp vec4 _562 = _main(Input);
    gl_FragData[0] = _562;
}

#version 300 es
precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 UV_Others;
    highp vec4 ProjBinormal;
    highp vec4 ProjTangent;
    highp vec4 PosP;
    highp vec4 Color;
    highp vec4 Alpha_Dist_UV;
    highp vec4 Blend_Alpha_Dist_UV;
    highp vec4 Blend_FBNextIndex_UV;
};

struct AdvancedParameter
{
    highp vec2 AlphaUV;
    highp vec2 UVDistortionUV;
    highp vec2 BlendUV;
    highp vec2 BlendAlphaUV;
    highp vec2 BlendUVDistortionUV;
    highp vec2 FlipbookNextIndexUV;
    highp float FlipbookRate;
    highp float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    highp vec4 g_scale;
    highp vec4 mUVInversedBack;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
};

uniform PS_ConstanBuffer CBPS0;

uniform highp sampler2D Sampler_sampler_uvDistortionTex;
uniform highp sampler2D Sampler_sampler_colorTex;
uniform highp sampler2D Sampler_sampler_alphaTex;
uniform highp sampler2D Sampler_sampler_blendUVDistortionTex;
uniform highp sampler2D Sampler_sampler_blendTex;
uniform highp sampler2D Sampler_sampler_blendAlphaTex;
uniform highp sampler2D Sampler_sampler_backTex;
uniform highp sampler2D Sampler_sampler_depthTex;

centroid in highp vec4 _VSPS_UV_Others;
in highp vec4 _VSPS_ProjBinormal;
in highp vec4 _VSPS_ProjTangent;
in highp vec4 _VSPS_PosP;
centroid in highp vec4 _VSPS_Color;
in highp vec4 _VSPS_Alpha_Dist_UV;
in highp vec4 _VSPS_Blend_Alpha_Dist_UV;
in highp vec4 _VSPS_Blend_FBNextIndex_UV;
layout(location = 0) out highp vec4 _entryPointOutput;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec2 UVDistortionOffset(highp vec2 uv, highp vec2 uvInversed, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    highp vec4 sampledColor = texture(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        highp vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    highp vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout highp vec4 dst, highp vec4 flipbookParameter, highp vec4 vcolor, highp vec2 nextUV, highp float flipbookRate, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        highp vec4 sampledColor = texture(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            highp vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        highp vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout highp vec4 dstColor, highp vec4 blendColor, highp float blendType)
{
    if (blendType == 0.0)
    {
        highp vec3 _172 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_172.x, _172.y, _172.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            highp vec3 _184 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_184.x, _184.y, _184.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                highp vec3 _197 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_197.x, _197.y, _197.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    highp vec3 _210 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_210.x, _210.y, _210.z, dstColor.w);
                }
            }
        }
    }
}

highp float SoftParticle(highp float backgroundZ, highp float meshZ, highp vec4 softparticleParam, highp vec4 reconstruct1, highp vec4 reconstruct2)
{
    highp float distanceFar = softparticleParam.x;
    highp float distanceNear = softparticleParam.y;
    highp float distanceNearOffset = softparticleParam.z;
    highp vec2 rescale = reconstruct1.xy;
    highp vec4 params = reconstruct2;
    highp vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    highp vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    highp float dir = sign(depth.x);
    depth *= dir;
    highp float alphaFar = (depth.x - depth.y) / distanceFar;
    highp float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

highp vec4 _main(PS_Input Input)
{
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    highp vec2 param_1 = advancedParam.UVDistortionUV;
    highp vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = false;
    highp vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    highp vec4 Output = texture(Sampler_sampler_colorTex, vec2(Input.UV_Others.xy) + UVOffset);
    Output.w *= Input.Color.w;
    highp vec4 param_4 = Output;
    highp float param_5 = advancedParam.FlipbookRate;
    bool param_6 = false;
    ApplyFlipbook(param_4, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_5, param_6, Sampler_sampler_colorTex);
    Output = param_4;
    highp vec4 AlphaTexColor = texture(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    highp vec2 param_7 = advancedParam.BlendUVDistortionUV;
    highp vec2 param_8 = CBPS0.fUVDistortionParameter.zw;
    bool param_9 = false;
    highp vec2 BlendUVOffset = UVDistortionOffset(param_7, param_8, param_9, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    highp vec4 BlendTextureColor = texture(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    highp vec4 BlendAlphaTextureColor = texture(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    highp vec4 param_10 = Output;
    ApplyTextureBlending(param_10, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_10;
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    highp vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    highp vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    highp vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    highp float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    highp float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    highp vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    highp vec3 color = vec3(texture(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    highp vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    highp vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        highp float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        highp float param_11 = backgroundZ;
        highp float param_12 = screenPos.z;
        highp vec4 param_13 = CBPS0.softParticleParam;
        highp vec4 param_14 = CBPS0.reconstructionParam1;
        highp vec4 param_15 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_11, param_12, param_13, param_14, param_15);
    }
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV_Others = _VSPS_UV_Others;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    highp vec4 _694 = _main(Input);
    _entryPointOutput = _694;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Output
{
    vec4 PosVS;
    vec4 UV_Others;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel;
    vec4 fUV;
    vec4 fAlphaUV;
    vec4 fUVDistortionUV;
    vec4 fBlendUV;
    vec4 fBlendAlphaUV;
    vec4 fBlendUVDistortionUV;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
    vec4 fFlipbookIndexAndNextRate;
    vec4 fModelAlphaThreshold;
    vec4 fModelColor;
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec3 Input_Normal;
attribute vec3 Input_Binormal;
attribute vec3 Input_Tangent;
attribute vec2 Input_UV;
attribute vec4 Input_Color;
varying vec4 _VSPS_UV_Others;
varying vec4 _VSPS_ProjBinormal;
varying vec4 _VSPS_ProjTangent;
varying vec4 _VSPS_PosP;
varying vec4 _VSPS_Color;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

float IntMod(float x, float y)
{
    return floor(mod(x, y));
}

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = FlipbookIndex;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = Index;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(vec2 uv, vec2 uv1, vec4 alphaUV, vec4 uvDistortionUV, vec4 blendUV, vec4 blendAlphaUV, vec4 blendUVDistortionUV, float flipbookIndexAndNextRate, float modelAlphaThreshold, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV.x = (uv.x * alphaUV.z) + alphaUV.x;
    vsoutput.Alpha_Dist_UV.y = (uv.y * alphaUV.w) + alphaUV.y;
    vsoutput.Alpha_Dist_UV.z = (uv.x * uvDistortionUV.z) + uvDistortionUV.x;
    vsoutput.Alpha_Dist_UV.w = (uv.y * uvDistortionUV.w) + uvDistortionUV.y;
    vsoutput.Blend_FBNextIndex_UV.x = (uv.x * blendUV.z) + blendUV.x;
    vsoutput.Blend_FBNextIndex_UV.y = (uv.y * blendUV.w) + blendUV.y;
    vsoutput.Blend_Alpha_Dist_UV.x = (uv.x * blendAlphaUV.z) + blendAlphaUV.x;
    vsoutput.Blend_Alpha_Dist_UV.y = (uv.y * blendAlphaUV.w) + blendAlphaUV.y;
    vsoutput.Blend_Alpha_Dist_UV.z = (uv.x * blendUVDistortionUV.z) + blendUVDistortionUV.x;
    vsoutput.Blend_Alpha_Dist_UV.w = (uv.y * blendUVDistortionUV.w) + blendUVDistortionUV.y;
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = flipbookIndexAndNextRate;
    vec2 param_5 = uv1;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = modelAlphaThreshold;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_FBNextIndex_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.w);
}

VS_Output _main(VS_Input Input)
{
    vec4 uv = CBVS0.fUV;
    vec4 alphaUV = CBVS0.fAlphaUV;
    vec4 uvDistortionUV = CBVS0.fUVDistortionUV;
    vec4 blendUV = CBVS0.fBlendUV;
    vec4 blendAlphaUV = CBVS0.fBlendAlphaUV;
    vec4 blendUVDistortionUV = CBVS0.fBlendUVDistortionUV;
    vec4 modelColor = CBVS0.fModelColor * Input.Color;
    float flipbookIndexAndNextRate = CBVS0.fFlipbookIndexAndNextRate.x;
    float modelAlphaThreshold = CBVS0.fModelAlphaThreshold.x;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPosition = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = CBVS0.mModel * localPosition;
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV_Others = vec4(outputUV.x, outputUV.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = CBVS0.mModel * localNormal;
    vec4 worldBinormal = CBVS0.mModel * localBinormal;
    vec4 worldTangent = CBVS0.mModel * localTangent;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.ProjTangent = CBVS0.mCameraProj * (worldPos + worldTangent);
    Output.ProjBinormal = CBVS0.mCameraProj * (worldPos + worldBinormal);
    Output.Color = modelColor;
    vec2 param = Input.UV;
    vec2 param_1 = Output.UV_Others.xy;
    vec4 param_2 = alphaUV;
    vec4 param_3 = uvDistortionUV;
    vec4 param_4 = blendUV;
    vec4 param_5 = blendAlphaUV;
    vec4 param_6 = blendUVDistortionUV;
    float param_7 = flipbookIndexAndNextRate;
    float param_8 = modelAlphaThreshold;
    VS_Output param_9 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9);
    Output = param_9;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif
#ifdef GL_ARB_shader_draw_parameters
#extension GL_ARB_shader_draw_parameters : enable
#endif

struct VS_Output
{
    vec4 PosVS;
    vec4 UV_Others;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
    uint Index;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel_Inst[10];
    vec4 fUV[10];
    vec4 fAlphaUV[10];
    vec4 fUVDistortionUV[10];
    vec4 fBlendUV[10];
    vec4 fBlendAlphaUV[10];
    vec4 fBlendUVDistortionUV[10];
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
    vec4 fFlipbookIndexAndNextRate[10];
    vec4 fModelAlphaThreshold[10];
    vec4 fModelColor[10];
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec3 Input_Normal;
layout(location = 2) in vec3 Input_Binormal;
layout(location = 3) in vec3 Input_Tangent;
layout(location = 4) in vec2 Input_UV;
layout(location = 5) in vec4 Input_Color;
#ifdef GL_ARB_shader_draw_parameters
#define SPIRV_Cross_BaseInstance gl_BaseInstanceARB
#else
uniform int SPIRV_Cross_BaseInstance;
#endif
centroid out vec4 _VSPS_UV_Others;
out vec4 _VSPS_ProjBinormal;
out vec4 _VSPS_ProjTangent;
out vec4 _VSPS_PosP;
centroid out vec4 _VSPS_Color;
out vec4 _VSPS_Alpha_Dist_UV;
out vec4 _VSPS_Blend_Alpha_Dist_UV;
out vec4 _VSPS_Blend_FBNextIndex_UV;

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(FlipbookIndex) % int(DivideX));
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(Index) % int(DivideX));
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(vec2 uv, vec2 uv1, vec4 alphaUV, vec4 uvDistortionUV, vec4 blendUV, vec4 blendAlphaUV, vec4 blendUVDistortionUV, float flipbookIndexAndNextRate, float modelAlphaThreshold, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV.x = (uv.x * alphaUV.z) + alphaUV.x;
    vsoutput.Alpha_Dist_UV.y = (uv.y * alphaUV.w) + alphaUV.y;
    vsoutput.Alpha_Dist_UV.z = (uv.x * uvDistortionUV.z) + uvDistortionUV.x;
    vsoutput.Alpha_Dist_UV.w = (uv.y * uvDistortionUV.w) + uvDistortionUV.y;
    vsoutput.Blend_FBNextIndex_UV.x = (uv.x * blendUV.z) + blendUV.x;
    vsoutput.Blend_FBNextIndex_UV.y = (uv.y * blendUV.w) + blendUV.y;
    vsoutput.Blend_Alpha_Dist_UV.x = (uv.x * blendAlphaUV.z) + blendAlphaUV.x;
    vsoutput.Blend_Alpha_Dist_UV.y = (uv.y * blendAlphaUV.w) + blendAlphaUV.y;
    vsoutput.Blend_Alpha_Dist_UV.z = (uv.x * blendUVDistortionUV.z) + blendUVDistortionUV.x;
    vsoutput.Blend_Alpha_Dist_UV.w = (uv.y * blendUVDistortionUV.w) + blendUVDistortionUV.y;
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = flipbookIndexAndNextRate;
    vec2 param_5 = uv1;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = modelAlphaThreshold;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_FBNextIndex_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.w);
}

VS_Output _main(VS_Input Input)
{
    uint index = Input.Index;
    mat4 mModel = CBVS0.mModel_Inst[index];
    vec4 uv = CBVS0.fUV[index];
    vec4 alphaUV = CBVS0.fAlphaUV[index];
    vec4 uvDistortionUV = CBVS0.fUVDistortionUV[index];
    vec4 blendUV = CBVS0.fBlendUV[index];
    vec4 blendAlphaUV = CBVS0.fBlendAlphaUV[index];
    vec4 blendUVDistortionUV = CBVS0.fBlendUVDistortionUV[index];
    vec4 modelColor = CBVS0.fModelColor[index] * Input.Color;
    float flipbookIndexAndNextRate = CBVS0.fFlipbookIndexAndNextRate[index].x;
    float modelAlphaThreshold = CBVS0.fModelAlphaThreshold[index].x;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPosition = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = localPosition * mModel;
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV_Others = vec4(outputUV.x, outputUV.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = localNormal * mModel;
    vec4 worldBinormal = localBinormal * mModel;
    vec4 worldTangent = localTangent * mModel;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.ProjTangent = (worldPos + worldTangent) * CBVS0.mCameraProj;
    Output.ProjBinormal = (worldPos + worldBinormal) * CBVS0.mCameraProj;
    Output.Color = modelColor;
    vec2 param = Input.UV;
    vec2 param_1 = Output.UV_Others.xy;
    vec4 param_2 = alphaUV;
    vec4 param_3 = uvDistortionUV;
    vec4 param_4 = blendUV;
    vec4 param_5 = blendAlphaUV;
    vec4 param_6 = blendUVDistortionUV;
    float param_7 = flipbookIndexAndNextRate;
    float param_8 = modelAlphaThreshold;
    VS_Output param_9 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9);
    Output = param_9;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    Input.Index = uint((gl_InstanceID + SPIRV_Cross_BaseInstance));
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}



struct VS_Output
{
    vec4 PosVS;
    vec4 UV_Others;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel;
    vec4 fUV;
    vec4 fAlphaUV;
    vec4 fUVDistortionUV;
    vec4 fBlendUV;
    vec4 fBlendAlphaUV;
    vec4 fBlendUVDistortionUV;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
    vec4 fFlipbookIndexAndNextRate;
    vec4 fModelAlphaThreshold;
    vec4 fModelColor;
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec3 Input_Normal;
attribute vec3 Input_Binormal;
attribute vec3 Input_Tangent;
attribute vec2 Input_UV;
attribute vec4 Input_Color;
varying vec4 _VSPS_UV_Others;
varying vec4 _VSPS_ProjBinormal;
varying vec4 _VSPS_ProjTangent;
varying vec4 _VSPS_PosP;
varying vec4 _VSPS_Color;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

float IntMod(float x, float y)
{
    return floor(mod(x, y));
}

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = FlipbookIndex;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = Index;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(vec2 uv, vec2 uv1, vec4 alphaUV, vec4 uvDistortionUV, vec4 blendUV, vec4 blendAlphaUV, vec4 blendUVDistortionUV, float flipbookIndexAndNextRate, float modelAlphaThreshold, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV.x = (uv.x * alphaUV.z) + alphaUV.x;
    vsoutput.Alpha_Dist_UV.y = (uv.y * alphaUV.w) + alphaUV.y;
    vsoutput.Alpha_Dist_UV.z = (uv.x * uvDistortionUV.z) + uvDistortionUV.x;
    vsoutput.Alpha_Dist_UV.w = (uv.y * uvDistortionUV.w) + uvDistortionUV.y;
    vsoutput.Blend_FBNextIndex_UV.x = (uv.x * blendUV.z) + blendUV.x;
    vsoutput.Blend_FBNextIndex_UV.y = (uv.y * blendUV.w) + blendUV.y;
    vsoutput.Blend_Alpha_Dist_UV.x = (uv.x * blendAlphaUV.z) + blendAlphaUV.x;
    vsoutput.Blend_Alpha_Dist_UV.y = (uv.y * blendAlphaUV.w) + blendAlphaUV.y;
    vsoutput.Blend_Alpha_Dist_UV.z = (uv.x * blendUVDistortionUV.z) + blendUVDistortionUV.x;
    vsoutput.Blend_Alpha_Dist_UV.w = (uv.y * blendUVDistortionUV.w) + blendUVDistortionUV.y;
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = flipbookIndexAndNextRate;
    vec2 param_5 = uv1;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = modelAlphaThreshold;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_FBNextIndex_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.w);
}

VS_Output _main(VS_Input Input)
{
    vec4 uv = CBVS0.fUV;
    vec4 alphaUV = CBVS0.fAlphaUV;
    vec4 uvDistortionUV = CBVS0.fUVDistortionUV;
    vec4 blendUV = CBVS0.fBlendUV;
    vec4 blendAlphaUV = CBVS0.fBlendAlphaUV;
    vec4 blendUVDistortionUV = CBVS0.fBlendUVDistortionUV;
    vec4 modelColor = CBVS0.fModelColor * Input.Color;
    float flipbookIndexAndNextRate = CBVS0.fFlipbookIndexAndNextRate.x;
    float modelAlphaThreshold = CBVS0.fModelAlphaThreshold.x;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPosition = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = CBVS0.mModel * localPosition;
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV_Others = vec4(outputUV.x, outputUV.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = CBVS0.mModel * localNormal;
    vec4 worldBinormal = CBVS0.mModel * localBinormal;
    vec4 worldTangent = CBVS0.mModel * localTangent;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.ProjTangent = CBVS0.mCameraProj * (worldPos + worldTangent);
    Output.ProjBinormal = CBVS0.mCameraProj * (worldPos + worldBinormal);
    Output.Color = modelColor;
    vec2 param = Input.UV;
    vec2 param_1 = Output.UV_Others.xy;
    vec4 param_2 = alphaUV;
    vec4 param_3 = uvDistortionUV;
    vec4 param_4 = blendUV;
    vec4 param_5 = blendAlphaUV;
    vec4 param_6 = blendUVDistortionUV;
    float param_7 = flipbookIndexAndNextRate;
    float param_8 = modelAlphaThreshold;
    VS_Output param_9 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9);
    Output = param_9;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}

#version 300 es
#ifdef GL_ARB_shader_draw_parameters
#extension GL_ARB_shader_draw_parameters : enable
#endif

struct VS_Output
{
    vec4 PosVS;
    vec4 UV_Others;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
    uint Index;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel_Inst[10];
    vec4 fUV[10];
    vec4 fAlphaUV[10];
    vec4 fUVDistortionUV[10];
    vec4 fBlendUV[10];
    vec4 fBlendAlphaUV[10];
    vec4 fBlendUVDistortionUV[10];
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
    vec4 fFlipbookIndexAndNextRate[10];
    vec4 fModelAlphaThreshold[10];
    vec4 fModelColor[10];
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec3 Input_Normal;
layout(location = 2) in vec3 Input_Binormal;
layout(location = 3) in vec3 Input_Tangent;
layout(location = 4) in vec2 Input_UV;
layout(location = 5) in vec4 Input_Color;
#ifdef GL_ARB_shader_draw_parameters
#define SPIRV_Cross_BaseInstance gl_BaseInstanceARB
#else
uniform int SPIRV_Cross_BaseInstance;
#endif
centroid out vec4 _VSPS_UV_Others;
out vec4 _VSPS_ProjBinormal;
out vec4 _VSPS_ProjTangent;
out vec4 _VSPS_PosP;
centroid out vec4 _VSPS_Color;
out vec4 _VSPS_Alpha_Dist_UV;
out vec4 _VSPS_Blend_Alpha_Dist_UV;
out vec4 _VSPS_Blend_FBNextIndex_UV;

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(FlipbookIndex) % int(DivideX));
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(Index) % int(DivideX));
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(vec2 uv, vec2 uv1, vec4 alphaUV, vec4 uvDistortionUV, vec4 blendUV, vec4 blendAlphaUV, vec4 blendUVDistortionUV, float flipbookIndexAndNextRate, float modelAlphaThreshold, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV.x = (uv.x * alphaUV.z) + alphaUV.x;
    vsoutput.Alpha_Dist_UV.y = (uv.y * alphaUV.w) + alphaUV.y;
    vsoutput.Alpha_Dist_UV.z = (uv.x * uvDistortionUV.z) + uvDistortionUV.x;
    vsoutput.Alpha_Dist_UV.w = (uv.y * uvDistortionUV.w) + uvDistortionUV.y;
    vsoutput.Blend_FBNextIndex_UV.x = (uv.x * blendUV.z) + blendUV.x;
    vsoutput.Blend_FBNextIndex_UV.y = (uv.y * blendUV.w) + blendUV.y;
    vsoutput.Blend_Alpha_Dist_UV.x = (uv.x * blendAlphaUV.z) + blendAlphaUV.x;
    vsoutput.Blend_Alpha_Dist_UV.y = (uv.y * blendAlphaUV.w) + blendAlphaUV.y;
    vsoutput.Blend_Alpha_Dist_UV.z = (uv.x * blendUVDistortionUV.z) + blendUVDistortionUV.x;
    vsoutput.Blend_Alpha_Dist_UV.w = (uv.y * blendUVDistortionUV.w) + blendUVDistortionUV.y;
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = flipbookIndexAndNextRate;
    vec2 param_5 = uv1;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = modelAlphaThreshold;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_FBNextIndex_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.w);
}

VS_Output _main(VS_Input Input)
{
    uint index = Input.Index;
    mat4 mModel = CBVS0.mModel_Inst[index];
    vec4 uv = CBVS0.fUV[index];
    vec4 alphaUV = CBVS0.fAlphaUV[index];
    vec4 uvDistortionUV = CBVS0.fUVDistortionUV[index];
    vec4 blendUV = CBVS0.fBlendUV[index];
    vec4 blendAlphaUV = CBVS0.fBlendAlphaUV[index];
    vec4 blendUVDistortionUV = CBVS0.fBlendUVDistortionUV[index];
    vec4 modelColor = CBVS0.fModelColor[index] * Input.Color;
    float flipbookIndexAndNextRate = CBVS0.fFlipbookIndexAndNextRate[index].x;
    float modelAlphaThreshold = CBVS0.fModelAlphaThreshold[index].x;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPosition = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = localPosition * mModel;
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV_Others = vec4(outputUV.x, outputUV.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = localNormal * mModel;
    vec4 worldBinormal = localBinormal * mModel;
    vec4 worldTangent = localTangent * mModel;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.ProjTangent = (worldPos + worldTangent) * CBVS0.mCameraProj;
    Output.ProjBinormal = (worldPos + worldBinormal) * CBVS0.mCameraProj;
    Output.Color = modelColor;
    vec2 param = Input.UV;
    vec2 param_1 = Output.UV_Others.xy;
    vec4 param_2 = alphaUV;
    vec4 param_3 = uvDistortionUV;
    vec4 param_4 = blendUV;
    vec4 param_5 = blendAlphaUV;
    vec4 param_6 = blendUVDistortionUV;
    float param_7 = flipbookIndexAndNextRate;
    float param_8 = modelAlphaThreshold;
    VS_Output param_9 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9);
    Output = param_9;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    Input.Index = uint((gl_InstanceID + SPIRV_Cross_BaseInstance));
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct AdvancedParameter
{
    vec2 AlphaUV;
    vec2 UVDistortionUV;
    vec2 BlendUV;
    vec2 BlendAlphaUV;
    vec2 BlendUVDistortionUV;
    vec2 FlipbookNextIndexUV;
    float FlipbookRate;
    float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_uvDistortionTex;
uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_normalTex;
uniform sampler2D Sampler_sampler_alphaTex;
uniform sampler2D Sampler_sampler_blendUVDistortionTex;
uniform sampler2D Sampler_sampler_blendTex;
uniform sampler2D Sampler_sampler_blendAlphaTex;

varying vec4 _VSPS_Color;
varying vec4 _VSPS_UV_Others;
varying vec3 _VSPS_WorldN;
varying vec3 _VSPS_WorldB;
varying vec3 _VSPS_WorldT;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

vec2 UVDistortionOffset(vec2 uv, vec2 uvInversed, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout vec4 dst, vec4 flipbookParameter, vec4 vcolor, vec2 nextUV, float flipbookRate, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout vec4 dstColor, vec4 blendColor, float blendType)
{
    if (blendType == 0.0)
    {
        vec3 _214 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_214.x, _214.y, _214.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            vec3 _226 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_226.x, _226.y, _226.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                vec3 _239 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_239.x, _239.y, _239.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    vec3 _252 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_252.x, _252.y, _252.z, dstColor.w);
                }
            }
        }
    }
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    vec2 param_1 = advancedParam.UVDistortionUV;
    vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    vec4 param_4 = texture2D(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    vec3 texNormal = (texture2D(Sampler_sampler_normalTex, Input.UV_Others.xy + UVOffset).xyz - vec3(0.5)) * 2.0;
    vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    vec4 param_6 = Output;
    float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    vec4 param_9 = texture2D(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    vec2 param_11 = advancedParam.BlendUVDistortionUV;
    vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    vec4 param_14 = texture2D(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    vec4 param_16 = texture2D(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    vec3 _549 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_549.x, _549.y, _549.z, Output.w);
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        float CdotN = clamp(dot(cameraVec, vec3(localNormal.x, localNormal.y, localNormal.z)), 0.0, 1.0);
        vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            vec3 _595 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_595.x, _595.y, _595.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                vec3 _608 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_608.x, _608.y, _608.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    vec3 _621 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_621.x, _621.y, _621.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    vec3 _635 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_635.x, _635.y, _635.z, Output.w);
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    vec3 _667 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_667.x, _667.y, _667.z, Output.w);
    vec4 param_19 = Output;
    bool param_20 = convertColorSpace;
    return ConvertToScreen(param_19, param_20);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    vec4 _710 = _main(Input);
    gl_FragData[0] = _710;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
    vec4 PosP;
};

struct AdvancedParameter
{
    vec2 AlphaUV;
    vec2 UVDistortionUV;
    vec2 BlendUV;
    vec2 BlendAlphaUV;
    vec2 BlendUVDistortionUV;
    vec2 FlipbookNextIndexUV;
    float FlipbookRate;
    float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_uvDistortionTex;
uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_normalTex;
uniform sampler2D Sampler_sampler_alphaTex;
uniform sampler2D Sampler_sampler_blendUVDistortionTex;
uniform sampler2D Sampler_sampler_blendTex;
uniform sampler2D Sampler_sampler_blendAlphaTex;
uniform sampler2D Sampler_sampler_depthTex;

centroid in vec4 _VSPS_Color;
centroid in vec4 _VSPS_UV_Others;
in vec3 _VSPS_WorldN;
in vec3 _VSPS_WorldB;
in vec3 _VSPS_WorldT;
in vec4 _VSPS_Alpha_Dist_UV;
in vec4 _VSPS_Blend_Alpha_Dist_UV;
in vec4 _VSPS_Blend_FBNextIndex_UV;
in vec4 _VSPS_PosP;
layout(location = 0) out vec4 _entryPointOutput;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

vec2 UVDistortionOffset(vec2 uv, vec2 uvInversed, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    vec4 sampledColor = texture(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout vec4 dst, vec4 flipbookParameter, vec4 vcolor, vec2 nextUV, float flipbookRate, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        vec4 sampledColor = texture(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout vec4 dstColor, vec4 blendColor, float blendType)
{
    if (blendType == 0.0)
    {
        vec3 _222 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_222.x, _222.y, _222.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            vec3 _234 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_234.x, _234.y, _234.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                vec3 _247 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_247.x, _247.y, _247.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    vec3 _260 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_260.x, _260.y, _260.z, dstColor.w);
                }
            }
        }
    }
}

float SoftParticle(float backgroundZ, float meshZ, vec4 softparticleParam, vec4 reconstruct1, vec4 reconstruct2)
{
    float distanceFar = softparticleParam.x;
    float distanceNear = softparticleParam.y;
    float distanceNearOffset = softparticleParam.z;
    vec2 rescale = reconstruct1.xy;
    vec4 params = reconstruct2;
    vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    float dir = sign(depth.x);
    depth *= dir;
    float alphaFar = (depth.x - depth.y) / distanceFar;
    float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    vec2 param_1 = advancedParam.UVDistortionUV;
    vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    vec4 param_4 = texture(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    vec3 texNormal = (texture(Sampler_sampler_normalTex, Input.UV_Others.xy + UVOffset).xyz - vec3(0.5)) * 2.0;
    vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    vec4 param_6 = Output;
    float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    vec4 param_9 = texture(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    vec2 param_11 = advancedParam.BlendUVDistortionUV;
    vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    vec4 param_14 = texture(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    vec4 param_16 = texture(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    vec3 _628 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_628.x, _628.y, _628.z, Output.w);
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        float CdotN = clamp(dot(cameraVec, vec3(localNormal.x, localNormal.y, localNormal.z)), 0.0, 1.0);
        vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            vec3 _674 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_674.x, _674.y, _674.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                vec3 _687 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_687.x, _687.y, _687.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    vec3 _700 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_700.x, _700.y, _700.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    vec3 _714 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_714.x, _714.y, _714.z, Output.w);
    vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        float param_19 = backgroundZ;
        float param_20 = screenPos.z;
        vec4 param_21 = CBPS0.softParticleParam;
        vec4 param_22 = CBPS0.reconstructionParam1;
        vec4 param_23 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_19, param_20, param_21, param_22, param_23);
    }
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    vec3 _812 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_812.x, _812.y, _812.z, Output.w);
    vec4 param_24 = Output;
    bool param_25 = convertColorSpace;
    return ConvertToScreen(param_24, param_25);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    Input.PosP = _VSPS_PosP;
    vec4 _858 = _main(Input);
    _entryPointOutput = _858;
}


precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec4 UV_Others;
    highp vec3 WorldN;
    highp vec3 WorldB;
    highp vec3 WorldT;
    highp vec4 Alpha_Dist_UV;
    highp vec4 Blend_Alpha_Dist_UV;
    highp vec4 Blend_FBNextIndex_UV;
};

struct AdvancedParameter
{
    highp vec2 AlphaUV;
    highp vec2 UVDistortionUV;
    highp vec2 BlendUV;
    highp vec2 BlendAlphaUV;
    highp vec2 BlendUVDistortionUV;
    highp vec2 FlipbookNextIndexUV;
    highp float FlipbookRate;
    highp float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform  sampler2D Sampler_sampler_uvDistortionTex;
uniform  sampler2D Sampler_sampler_colorTex;
uniform  sampler2D Sampler_sampler_normalTex;
uniform  sampler2D Sampler_sampler_alphaTex;
uniform  sampler2D Sampler_sampler_blendUVDistortionTex;
uniform  sampler2D Sampler_sampler_blendTex;
uniform  sampler2D Sampler_sampler_blendAlphaTex;

varying  vec4 _VSPS_Color;
varying  vec4 _VSPS_UV_Others;
varying  vec3 _VSPS_WorldN;
varying  vec3 _VSPS_WorldB;
varying  vec3 _VSPS_WorldT;
varying  vec4 _VSPS_Alpha_Dist_UV;
varying  vec4 _VSPS_Blend_Alpha_Dist_UV;
varying  vec4 _VSPS_Blend_FBNextIndex_UV;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec2 UVDistortionOffset(highp vec2 uv, highp vec2 uvInversed, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    highp vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        highp vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    highp vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout highp vec4 dst, highp vec4 flipbookParameter, highp vec4 vcolor, highp vec2 nextUV, highp float flipbookRate, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        highp vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            highp vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        highp vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout highp vec4 dstColor, highp vec4 blendColor, highp float blendType)
{
    if (blendType == 0.0)
    {
        highp vec3 _214 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_214.x, _214.y, _214.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            highp vec3 _226 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_226.x, _226.y, _226.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                highp vec3 _239 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_239.x, _239.y, _239.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    highp vec3 _252 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_252.x, _252.y, _252.z, dstColor.w);
                }
            }
        }
    }
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    highp vec2 param_1 = advancedParam.UVDistortionUV;
    highp vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    highp vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    highp vec4 param_4 = texture2D(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    highp vec3 texNormal = (texture2D(Sampler_sampler_normalTex, Input.UV_Others.xy + UVOffset).xyz - vec3(0.5)) * 2.0;
    highp vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    highp vec4 param_6 = Output;
    highp float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    highp vec4 param_9 = texture2D(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    highp vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    highp vec2 param_11 = advancedParam.BlendUVDistortionUV;
    highp vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    highp vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    highp vec4 param_14 = texture2D(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    highp vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    highp vec4 param_16 = texture2D(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    highp vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    highp vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    highp float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    highp vec3 _549 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_549.x, _549.y, _549.z, Output.w);
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        highp vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        highp float CdotN = clamp(dot(cameraVec, vec3(localNormal.x, localNormal.y, localNormal.z)), 0.0, 1.0);
        highp vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            highp vec3 _595 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_595.x, _595.y, _595.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                highp vec3 _608 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_608.x, _608.y, _608.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    highp vec3 _621 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_621.x, _621.y, _621.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    highp vec3 _635 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_635.x, _635.y, _635.z, Output.w);
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    highp vec3 _667 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_667.x, _667.y, _667.z, Output.w);
    highp vec4 param_19 = Output;
    bool param_20 = convertColorSpace;
    return ConvertToScreen(param_19, param_20);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    highp vec4 _710 = _main(Input);
    gl_FragData[0] = _710;
}

#version 300 es
precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec4 UV_Others;
    highp vec3 WorldN;
    highp vec3 WorldB;
    highp vec3 WorldT;
    highp vec4 Alpha_Dist_UV;
    highp vec4 Blend_Alpha_Dist_UV;
    highp vec4 Blend_FBNextIndex_UV;
    highp vec4 PosP;
};

struct AdvancedParameter
{
    highp vec2 AlphaUV;
    highp vec2 UVDistortionUV;
    highp vec2 BlendUV;
    highp vec2 BlendAlphaUV;
    highp vec2 BlendUVDistortionUV;
    highp vec2 FlipbookNextIndexUV;
    highp float FlipbookRate;
    highp float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform highp sampler2D Sampler_sampler_uvDistortionTex;
uniform highp sampler2D Sampler_sampler_colorTex;
uniform highp sampler2D Sampler_sampler_normalTex;
uniform highp sampler2D Sampler_sampler_alphaTex;
uniform highp sampler2D Sampler_sampler_blendUVDistortionTex;
uniform highp sampler2D Sampler_sampler_blendTex;
uniform highp sampler2D Sampler_sampler_blendAlphaTex;
uniform highp sampler2D Sampler_sampler_depthTex;

centroid in highp vec4 _VSPS_Color;
centroid in highp vec4 _VSPS_UV_Others;
in highp vec3 _VSPS_WorldN;
in highp vec3 _VSPS_WorldB;
in highp vec3 _VSPS_WorldT;
in highp vec4 _VSPS_Alpha_Dist_UV;
in highp vec4 _VSPS_Blend_Alpha_Dist_UV;
in highp vec4 _VSPS_Blend_FBNextIndex_UV;
in highp vec4 _VSPS_PosP;
layout(location = 0) out highp vec4 _entryPointOutput;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec2 UVDistortionOffset(highp vec2 uv, highp vec2 uvInversed, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    highp vec4 sampledColor = texture(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        highp vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    highp vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout highp vec4 dst, highp vec4 flipbookParameter, highp vec4 vcolor, highp vec2 nextUV, highp float flipbookRate, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        highp vec4 sampledColor = texture(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            highp vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        highp vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout highp vec4 dstColor, highp vec4 blendColor, highp float blendType)
{
    if (blendType == 0.0)
    {
        highp vec3 _222 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_222.x, _222.y, _222.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            highp vec3 _234 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_234.x, _234.y, _234.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                highp vec3 _247 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_247.x, _247.y, _247.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    highp vec3 _260 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_260.x, _260.y, _260.z, dstColor.w);
                }
            }
        }
    }
}

highp float SoftParticle(highp float backgroundZ, highp float meshZ, highp vec4 softparticleParam, highp vec4 reconstruct1, highp vec4 reconstruct2)
{
    highp float distanceFar = softparticleParam.x;
    highp float distanceNear = softparticleParam.y;
    highp float distanceNearOffset = softparticleParam.z;
    highp vec2 rescale = reconstruct1.xy;
    highp vec4 params = reconstruct2;
    highp vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    highp vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    highp float dir = sign(depth.x);
    depth *= dir;
    highp float alphaFar = (depth.x - depth.y) / distanceFar;
    highp float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    highp vec2 param_1 = advancedParam.UVDistortionUV;
    highp vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    highp vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    highp vec4 param_4 = texture(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    highp vec3 texNormal = (texture(Sampler_sampler_normalTex, Input.UV_Others.xy + UVOffset).xyz - vec3(0.5)) * 2.0;
    highp vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    highp vec4 param_6 = Output;
    highp float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    highp vec4 param_9 = texture(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    highp vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    highp vec2 param_11 = advancedParam.BlendUVDistortionUV;
    highp vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    highp vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    highp vec4 param_14 = texture(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    highp vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    highp vec4 param_16 = texture(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    highp vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    highp vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    highp float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    highp vec3 _628 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_628.x, _628.y, _628.z, Output.w);
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        highp vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        highp float CdotN = clamp(dot(cameraVec, vec3(localNormal.x, localNormal.y, localNormal.z)), 0.0, 1.0);
        highp vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            highp vec3 _674 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_674.x, _674.y, _674.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                highp vec3 _687 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_687.x, _687.y, _687.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    highp vec3 _700 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_700.x, _700.y, _700.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    highp vec3 _714 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_714.x, _714.y, _714.z, Output.w);
    highp vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    highp vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        highp float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        highp float param_19 = backgroundZ;
        highp float param_20 = screenPos.z;
        highp vec4 param_21 = CBPS0.softParticleParam;
        highp vec4 param_22 = CBPS0.reconstructionParam1;
        highp vec4 param_23 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_19, param_20, param_21, param_22, param_23);
    }
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    highp vec3 _812 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_812.x, _812.y, _812.z, Output.w);
    highp vec4 param_24 = Output;
    bool param_25 = convertColorSpace;
    return ConvertToScreen(param_24, param_25);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    Input.PosP = _VSPS_PosP;
    highp vec4 _858 = _main(Input);
    _entryPointOutput = _858;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel;
    vec4 fUV;
    vec4 fAlphaUV;
    vec4 fUVDistortionUV;
    vec4 fBlendUV;
    vec4 fBlendAlphaUV;
    vec4 fBlendUVDistortionUV;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
    vec4 fFlipbookIndexAndNextRate;
    vec4 fModelAlphaThreshold;
    vec4 fModelColor;
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec3 Input_Normal;
attribute vec3 Input_Binormal;
attribute vec3 Input_Tangent;
attribute vec2 Input_UV;
attribute vec4 Input_Color;
varying vec4 _VSPS_Color;
varying vec4 _VSPS_UV_Others;
varying vec3 _VSPS_WorldN;
varying vec3 _VSPS_WorldB;
varying vec3 _VSPS_WorldT;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

float IntMod(float x, float y)
{
    return floor(mod(x, y));
}

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = FlipbookIndex;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = Index;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(vec2 uv, vec2 uv1, vec4 alphaUV, vec4 uvDistortionUV, vec4 blendUV, vec4 blendAlphaUV, vec4 blendUVDistortionUV, float flipbookIndexAndNextRate, float modelAlphaThreshold, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV.x = (uv.x * alphaUV.z) + alphaUV.x;
    vsoutput.Alpha_Dist_UV.y = (uv.y * alphaUV.w) + alphaUV.y;
    vsoutput.Alpha_Dist_UV.z = (uv.x * uvDistortionUV.z) + uvDistortionUV.x;
    vsoutput.Alpha_Dist_UV.w = (uv.y * uvDistortionUV.w) + uvDistortionUV.y;
    vsoutput.Blend_FBNextIndex_UV.x = (uv.x * blendUV.z) + blendUV.x;
    vsoutput.Blend_FBNextIndex_UV.y = (uv.y * blendUV.w) + blendUV.y;
    vsoutput.Blend_Alpha_Dist_UV.x = (uv.x * blendAlphaUV.z) + blendAlphaUV.x;
    vsoutput.Blend_Alpha_Dist_UV.y = (uv.y * blendAlphaUV.w) + blendAlphaUV.y;
    vsoutput.Blend_Alpha_Dist_UV.z = (uv.x * blendUVDistortionUV.z) + blendUVDistortionUV.x;
    vsoutput.Blend_Alpha_Dist_UV.w = (uv.y * blendUVDistortionUV.w) + blendUVDistortionUV.y;
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = flipbookIndexAndNextRate;
    vec2 param_5 = uv1;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = modelAlphaThreshold;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_FBNextIndex_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.w);
}

VS_Output _main(VS_Input Input)
{
    vec4 uv = CBVS0.fUV;
    vec4 alphaUV = CBVS0.fAlphaUV;
    vec4 uvDistortionUV = CBVS0.fUVDistortionUV;
    vec4 blendUV = CBVS0.fBlendUV;
    vec4 blendAlphaUV = CBVS0.fBlendAlphaUV;
    vec4 blendUVDistortionUV = CBVS0.fBlendUVDistortionUV;
    vec4 modelColor = CBVS0.fModelColor * Input.Color;
    float flipbookIndexAndNextRate = CBVS0.fFlipbookIndexAndNextRate.x;
    float modelAlphaThreshold = CBVS0.fModelAlphaThreshold.x;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPosition = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = CBVS0.mModel * localPosition;
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV_Others = vec4(outputUV.x, outputUV.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = CBVS0.mModel * localNormal;
    vec4 worldBinormal = CBVS0.mModel * localBinormal;
    vec4 worldTangent = CBVS0.mModel * localTangent;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.Color = modelColor;
    vec2 param = Input.UV;
    vec2 param_1 = Output.UV_Others.xy;
    vec4 param_2 = alphaUV;
    vec4 param_3 = uvDistortionUV;
    vec4 param_4 = blendUV;
    vec4 param_5 = blendAlphaUV;
    vec4 param_6 = blendUVDistortionUV;
    float param_7 = flipbookIndexAndNextRate;
    float param_8 = modelAlphaThreshold;
    VS_Output param_9 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9);
    Output = param_9;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif
#ifdef GL_ARB_shader_draw_parameters
#extension GL_ARB_shader_draw_parameters : enable
#endif

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
    vec4 PosP;
};

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
    uint Index;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel_Inst[10];
    vec4 fUV[10];
    vec4 fAlphaUV[10];
    vec4 fUVDistortionUV[10];
    vec4 fBlendUV[10];
    vec4 fBlendAlphaUV[10];
    vec4 fBlendUVDistortionUV[10];
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
    vec4 fFlipbookIndexAndNextRate[10];
    vec4 fModelAlphaThreshold[10];
    vec4 fModelColor[10];
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec3 Input_Normal;
layout(location = 2) in vec3 Input_Binormal;
layout(location = 3) in vec3 Input_Tangent;
layout(location = 4) in vec2 Input_UV;
layout(location = 5) in vec4 Input_Color;
#ifdef GL_ARB_shader_draw_parameters
#define SPIRV_Cross_BaseInstance gl_BaseInstanceARB
#else
uniform int SPIRV_Cross_BaseInstance;
#endif
centroid out vec4 _VSPS_Color;
centroid out vec4 _VSPS_UV_Others;
out vec3 _VSPS_WorldN;
out vec3 _VSPS_WorldB;
out vec3 _VSPS_WorldT;
out vec4 _VSPS_Alpha_Dist_UV;
out vec4 _VSPS_Blend_Alpha_Dist_UV;
out vec4 _VSPS_Blend_FBNextIndex_UV;
out vec4 _VSPS_PosP;

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(FlipbookIndex) % int(DivideX));
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(Index) % int(DivideX));
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(vec2 uv, vec2 uv1, vec4 alphaUV, vec4 uvDistortionUV, vec4 blendUV, vec4 blendAlphaUV, vec4 blendUVDistortionUV, float flipbookIndexAndNextRate, float modelAlphaThreshold, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV.x = (uv.x * alphaUV.z) + alphaUV.x;
    vsoutput.Alpha_Dist_UV.y = (uv.y * alphaUV.w) + alphaUV.y;
    vsoutput.Alpha_Dist_UV.z = (uv.x * uvDistortionUV.z) + uvDistortionUV.x;
    vsoutput.Alpha_Dist_UV.w = (uv.y * uvDistortionUV.w) + uvDistortionUV.y;
    vsoutput.Blend_FBNextIndex_UV.x = (uv.x * blendUV.z) + blendUV.x;
    vsoutput.Blend_FBNextIndex_UV.y = (uv.y * blendUV.w) + blendUV.y;
    vsoutput.Blend_Alpha_Dist_UV.x = (uv.x * blendAlphaUV.z) + blendAlphaUV.x;
    vsoutput.Blend_Alpha_Dist_UV.y = (uv.y * blendAlphaUV.w) + blendAlphaUV.y;
    vsoutput.Blend_Alpha_Dist_UV.z = (uv.x * blendUVDistortionUV.z) + blendUVDistortionUV.x;
    vsoutput.Blend_Alpha_Dist_UV.w = (uv.y * blendUVDistortionUV.w) + blendUVDistortionUV.y;
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = flipbookIndexAndNextRate;
    vec2 param_5 = uv1;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = modelAlphaThreshold;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_FBNextIndex_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.w);
}

VS_Output _main(VS_Input Input)
{
    uint index = Input.Index;
    mat4 mModel = CBVS0.mModel_Inst[index];
    vec4 uv = CBVS0.fUV[index];
    vec4 alphaUV = CBVS0.fAlphaUV[index];
    vec4 uvDistortionUV = CBVS0.fUVDistortionUV[index];
    vec4 blendUV = CBVS0.fBlendUV[index];
    vec4 blendAlphaUV = CBVS0.fBlendAlphaUV[index];
    vec4 blendUVDistortionUV = CBVS0.fBlendUVDistortionUV[index];
    vec4 modelColor = CBVS0.fModelColor[index] * Input.Color;
    float flipbookIndexAndNextRate = CBVS0.fFlipbookIndexAndNextRate[index].x;
    float modelAlphaThreshold = CBVS0.fModelAlphaThreshold[index].x;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPosition = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = localPosition * mModel;
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV_Others = vec4(outputUV.x, outputUV.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = localNormal * mModel;
    vec4 worldBinormal = localBinormal * mModel;
    vec4 worldTangent = localTangent * mModel;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.Color = modelColor;
    vec2 param = Input.UV;
    vec2 param_1 = Output.UV_Others.xy;
    vec4 param_2 = alphaUV;
    vec4 param_3 = uvDistortionUV;
    vec4 param_4 = blendUV;
    vec4 param_5 = blendAlphaUV;
    vec4 param_6 = blendUVDistortionUV;
    float param_7 = flipbookIndexAndNextRate;
    float param_8 = modelAlphaThreshold;
    VS_Output param_9 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9);
    Output = param_9;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    Input.Index = uint((gl_InstanceID + SPIRV_Cross_BaseInstance));
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
    _VSPS_PosP = flattenTemp.PosP;
}



struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel;
    vec4 fUV;
    vec4 fAlphaUV;
    vec4 fUVDistortionUV;
    vec4 fBlendUV;
    vec4 fBlendAlphaUV;
    vec4 fBlendUVDistortionUV;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
    vec4 fFlipbookIndexAndNextRate;
    vec4 fModelAlphaThreshold;
    vec4 fModelColor;
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec3 Input_Normal;
attribute vec3 Input_Binormal;
attribute vec3 Input_Tangent;
attribute vec2 Input_UV;
attribute vec4 Input_Color;
varying vec4 _VSPS_Color;
varying vec4 _VSPS_UV_Others;
varying vec3 _VSPS_WorldN;
varying vec3 _VSPS_WorldB;
varying vec3 _VSPS_WorldT;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

float IntMod(float x, float y)
{
    return floor(mod(x, y));
}

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = FlipbookIndex;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = Index;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(vec2 uv, vec2 uv1, vec4 alphaUV, vec4 uvDistortionUV, vec4 blendUV, vec4 blendAlphaUV, vec4 blendUVDistortionUV, float flipbookIndexAndNextRate, float modelAlphaThreshold, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV.x = (uv.x * alphaUV.z) + alphaUV.x;
    vsoutput.Alpha_Dist_UV.y = (uv.y * alphaUV.w) + alphaUV.y;
    vsoutput.Alpha_Dist_UV.z = (uv.x * uvDistortionUV.z) + uvDistortionUV.x;
    vsoutput.Alpha_Dist_UV.w = (uv.y * uvDistortionUV.w) + uvDistortionUV.y;
    vsoutput.Blend_FBNextIndex_UV.x = (uv.x * blendUV.z) + blendUV.x;
    vsoutput.Blend_FBNextIndex_UV.y = (uv.y * blendUV.w) + blendUV.y;
    vsoutput.Blend_Alpha_Dist_UV.x = (uv.x * blendAlphaUV.z) + blendAlphaUV.x;
    vsoutput.Blend_Alpha_Dist_UV.y = (uv.y * blendAlphaUV.w) + blendAlphaUV.y;
    vsoutput.Blend_Alpha_Dist_UV.z = (uv.x * blendUVDistortionUV.z) + blendUVDistortionUV.x;
    vsoutput.Blend_Alpha_Dist_UV.w = (uv.y * blendUVDistortionUV.w) + blendUVDistortionUV.y;
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = flipbookIndexAndNextRate;
    vec2 param_5 = uv1;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = modelAlphaThreshold;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_FBNextIndex_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.w);
}

VS_Output _main(VS_Input Input)
{
    vec4 uv = CBVS0.fUV;
    vec4 alphaUV = CBVS0.fAlphaUV;
    vec4 uvDistortionUV = CBVS0.fUVDistortionUV;
    vec4 blendUV = CBVS0.fBlendUV;
    vec4 blendAlphaUV = CBVS0.fBlendAlphaUV;
    vec4 blendUVDistortionUV = CBVS0.fBlendUVDistortionUV;
    vec4 modelColor = CBVS0.fModelColor * Input.Color;
    float flipbookIndexAndNextRate = CBVS0.fFlipbookIndexAndNextRate.x;
    float modelAlphaThreshold = CBVS0.fModelAlphaThreshold.x;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPosition = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = CBVS0.mModel * localPosition;
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV_Others = vec4(outputUV.x, outputUV.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = CBVS0.mModel * localNormal;
    vec4 worldBinormal = CBVS0.mModel * localBinormal;
    vec4 worldTangent = CBVS0.mModel * localTangent;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.Color = modelColor;
    vec2 param = Input.UV;
    vec2 param_1 = Output.UV_Others.xy;
    vec4 param_2 = alphaUV;
    vec4 param_3 = uvDistortionUV;
    vec4 param_4 = blendUV;
    vec4 param_5 = blendAlphaUV;
    vec4 param_6 = blendUVDistortionUV;
    float param_7 = flipbookIndexAndNextRate;
    float param_8 = modelAlphaThreshold;
    VS_Output param_9 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9);
    Output = param_9;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}

#version 300 es
#ifdef GL_ARB_shader_draw_parameters
#extension GL_ARB_shader_draw_parameters : enable
#endif

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
    vec4 PosP;
};

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
    uint Index;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel_Inst[10];
    vec4 fUV[10];
    vec4 fAlphaUV[10];
    vec4 fUVDistortionUV[10];
    vec4 fBlendUV[10];
    vec4 fBlendAlphaUV[10];
    vec4 fBlendUVDistortionUV[10];
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
    vec4 fFlipbookIndexAndNextRate[10];
    vec4 fModelAlphaThreshold[10];
    vec4 fModelColor[10];
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec3 Input_Normal;
layout(location = 2) in vec3 Input_Binormal;
layout(location = 3) in vec3 Input_Tangent;
layout(location = 4) in vec2 Input_UV;
layout(location = 5) in vec4 Input_Color;
#ifdef GL_ARB_shader_draw_parameters
#define SPIRV_Cross_BaseInstance gl_BaseInstanceARB
#else
uniform int SPIRV_Cross_BaseInstance;
#endif
centroid out vec4 _VSPS_Color;
centroid out vec4 _VSPS_UV_Others;
out vec3 _VSPS_WorldN;
out vec3 _VSPS_WorldB;
out vec3 _VSPS_WorldT;
out vec4 _VSPS_Alpha_Dist_UV;
out vec4 _VSPS_Blend_Alpha_Dist_UV;
out vec4 _VSPS_Blend_FBNextIndex_UV;
out vec4 _VSPS_PosP;

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(FlipbookIndex) % int(DivideX));
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(Index) % int(DivideX));
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(vec2 uv, vec2 uv1, vec4 alphaUV, vec4 uvDistortionUV, vec4 blendUV, vec4 blendAlphaUV, vec4 blendUVDistortionUV, float flipbookIndexAndNextRate, float modelAlphaThreshold, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV.x = (uv.x * alphaUV.z) + alphaUV.x;
    vsoutput.Alpha_Dist_UV.y = (uv.y * alphaUV.w) + alphaUV.y;
    vsoutput.Alpha_Dist_UV.z = (uv.x * uvDistortionUV.z) + uvDistortionUV.x;
    vsoutput.Alpha_Dist_UV.w = (uv.y * uvDistortionUV.w) + uvDistortionUV.y;
    vsoutput.Blend_FBNextIndex_UV.x = (uv.x * blendUV.z) + blendUV.x;
    vsoutput.Blend_FBNextIndex_UV.y = (uv.y * blendUV.w) + blendUV.y;
    vsoutput.Blend_Alpha_Dist_UV.x = (uv.x * blendAlphaUV.z) + blendAlphaUV.x;
    vsoutput.Blend_Alpha_Dist_UV.y = (uv.y * blendAlphaUV.w) + blendAlphaUV.y;
    vsoutput.Blend_Alpha_Dist_UV.z = (uv.x * blendUVDistortionUV.z) + blendUVDistortionUV.x;
    vsoutput.Blend_Alpha_Dist_UV.w = (uv.y * blendUVDistortionUV.w) + blendUVDistortionUV.y;
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = flipbookIndexAndNextRate;
    vec2 param_5 = uv1;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = modelAlphaThreshold;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_FBNextIndex_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.w);
}

VS_Output _main(VS_Input Input)
{
    uint index = Input.Index;
    mat4 mModel = CBVS0.mModel_Inst[index];
    vec4 uv = CBVS0.fUV[index];
    vec4 alphaUV = CBVS0.fAlphaUV[index];
    vec4 uvDistortionUV = CBVS0.fUVDistortionUV[index];
    vec4 blendUV = CBVS0.fBlendUV[index];
    vec4 blendAlphaUV = CBVS0.fBlendAlphaUV[index];
    vec4 blendUVDistortionUV = CBVS0.fBlendUVDistortionUV[index];
    vec4 modelColor = CBVS0.fModelColor[index] * Input.Color;
    float flipbookIndexAndNextRate = CBVS0.fFlipbookIndexAndNextRate[index].x;
    float modelAlphaThreshold = CBVS0.fModelAlphaThreshold[index].x;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPosition = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = localPosition * mModel;
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV_Others = vec4(outputUV.x, outputUV.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = localNormal * mModel;
    vec4 worldBinormal = localBinormal * mModel;
    vec4 worldTangent = localTangent * mModel;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.Color = modelColor;
    vec2 param = Input.UV;
    vec2 param_1 = Output.UV_Others.xy;
    vec4 param_2 = alphaUV;
    vec4 param_3 = uvDistortionUV;
    vec4 param_4 = blendUV;
    vec4 param_5 = blendAlphaUV;
    vec4 param_6 = blendUVDistortionUV;
    float param_7 = flipbookIndexAndNextRate;
    float param_8 = modelAlphaThreshold;
    VS_Output param_9 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9);
    Output = param_9;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    Input.Index = uint((gl_InstanceID + SPIRV_Cross_BaseInstance));
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
    _VSPS_PosP = flattenTemp.PosP;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct AdvancedParameter
{
    vec2 AlphaUV;
    vec2 UVDistortionUV;
    vec2 BlendUV;
    vec2 BlendAlphaUV;
    vec2 BlendUVDistortionUV;
    vec2 FlipbookNextIndexUV;
    float FlipbookRate;
    float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_uvDistortionTex;
uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_alphaTex;
uniform sampler2D Sampler_sampler_blendUVDistortionTex;
uniform sampler2D Sampler_sampler_blendTex;
uniform sampler2D Sampler_sampler_blendAlphaTex;

varying vec4 _VSPS_Color;
varying vec4 _VSPS_UV_Others;
varying vec3 _VSPS_WorldN;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

vec2 UVDistortionOffset(vec2 uv, vec2 uvInversed, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout vec4 dst, vec4 flipbookParameter, vec4 vcolor, vec2 nextUV, float flipbookRate, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout vec4 dstColor, vec4 blendColor, float blendType)
{
    if (blendType == 0.0)
    {
        vec3 _214 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_214.x, _214.y, _214.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            vec3 _226 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_226.x, _226.y, _226.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                vec3 _239 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_239.x, _239.y, _239.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    vec3 _252 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_252.x, _252.y, _252.z, dstColor.w);
                }
            }
        }
    }
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    vec2 param_1 = advancedParam.UVDistortionUV;
    vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    vec4 param_4 = texture2D(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    vec4 param_6 = Output;
    float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    vec4 param_9 = texture2D(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    vec2 param_11 = advancedParam.BlendUVDistortionUV;
    vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    vec4 param_14 = texture2D(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    vec4 param_16 = texture2D(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        float CdotN = clamp(dot(cameraVec, normalize(Input.WorldN)), 0.0, 1.0);
        vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            vec3 _532 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_532.x, _532.y, _532.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                vec3 _545 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_545.x, _545.y, _545.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    vec3 _558 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_558.x, _558.y, _558.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    vec3 _572 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_572.x, _572.y, _572.z, Output.w);
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    vec3 _604 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_604.x, _604.y, _604.z, Output.w);
    vec4 param_19 = Output;
    bool param_20 = convertColorSpace;
    return ConvertToScreen(param_19, param_20);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    vec4 _641 = _main(Input);
    gl_FragData[0] = _641;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
    vec4 PosP;
};

struct AdvancedParameter
{
    vec2 AlphaUV;
    vec2 UVDistortionUV;
    vec2 BlendUV;
    vec2 BlendAlphaUV;
    vec2 BlendUVDistortionUV;
    vec2 FlipbookNextIndexUV;
    float FlipbookRate;
    float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_uvDistortionTex;
uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_alphaTex;
uniform sampler2D Sampler_sampler_blendUVDistortionTex;
uniform sampler2D Sampler_sampler_blendTex;
uniform sampler2D Sampler_sampler_blendAlphaTex;
uniform sampler2D Sampler_sampler_depthTex;

centroid in vec4 _VSPS_Color;
centroid in vec4 _VSPS_UV_Others;
in vec3 _VSPS_WorldN;
in vec4 _VSPS_Alpha_Dist_UV;
in vec4 _VSPS_Blend_Alpha_Dist_UV;
in vec4 _VSPS_Blend_FBNextIndex_UV;
in vec4 _VSPS_PosP;
layout(location = 0) out vec4 _entryPointOutput;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

vec2 UVDistortionOffset(vec2 uv, vec2 uvInversed, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    vec4 sampledColor = texture(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout vec4 dst, vec4 flipbookParameter, vec4 vcolor, vec2 nextUV, float flipbookRate, bool convertFromSRGB, sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        vec4 sampledColor = texture(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout vec4 dstColor, vec4 blendColor, float blendType)
{
    if (blendType == 0.0)
    {
        vec3 _222 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_222.x, _222.y, _222.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            vec3 _234 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_234.x, _234.y, _234.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                vec3 _247 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_247.x, _247.y, _247.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    vec3 _260 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_260.x, _260.y, _260.z, dstColor.w);
                }
            }
        }
    }
}

float SoftParticle(float backgroundZ, float meshZ, vec4 softparticleParam, vec4 reconstruct1, vec4 reconstruct2)
{
    float distanceFar = softparticleParam.x;
    float distanceNear = softparticleParam.y;
    float distanceNearOffset = softparticleParam.z;
    vec2 rescale = reconstruct1.xy;
    vec4 params = reconstruct2;
    vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    float dir = sign(depth.x);
    depth *= dir;
    float alphaFar = (depth.x - depth.y) / distanceFar;
    float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    vec2 param_1 = advancedParam.UVDistortionUV;
    vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    vec4 param_4 = texture(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    vec4 param_6 = Output;
    float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    vec4 param_9 = texture(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    vec2 param_11 = advancedParam.BlendUVDistortionUV;
    vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    vec4 param_14 = texture(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    vec4 param_16 = texture(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        float CdotN = clamp(dot(cameraVec, normalize(Input.WorldN)), 0.0, 1.0);
        vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            vec3 _611 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_611.x, _611.y, _611.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                vec3 _624 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_624.x, _624.y, _624.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    vec3 _637 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_637.x, _637.y, _637.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    vec3 _651 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_651.x, _651.y, _651.z, Output.w);
    vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        float param_19 = backgroundZ;
        float param_20 = screenPos.z;
        vec4 param_21 = CBPS0.softParticleParam;
        vec4 param_22 = CBPS0.reconstructionParam1;
        vec4 param_23 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_19, param_20, param_21, param_22, param_23);
    }
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    vec3 _749 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_749.x, _749.y, _749.z, Output.w);
    vec4 param_24 = Output;
    bool param_25 = convertColorSpace;
    return ConvertToScreen(param_24, param_25);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    Input.PosP = _VSPS_PosP;
    vec4 _789 = _main(Input);
    _entryPointOutput = _789;
}


precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec4 UV_Others;
    highp vec3 WorldN;
    highp vec4 Alpha_Dist_UV;
    highp vec4 Blend_Alpha_Dist_UV;
    highp vec4 Blend_FBNextIndex_UV;
};

struct AdvancedParameter
{
    highp vec2 AlphaUV;
    highp vec2 UVDistortionUV;
    highp vec2 BlendUV;
    highp vec2 BlendAlphaUV;
    highp vec2 BlendUVDistortionUV;
    highp vec2 FlipbookNextIndexUV;
    highp float FlipbookRate;
    highp float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform  sampler2D Sampler_sampler_uvDistortionTex;
uniform  sampler2D Sampler_sampler_colorTex;
uniform  sampler2D Sampler_sampler_alphaTex;
uniform  sampler2D Sampler_sampler_blendUVDistortionTex;
uniform  sampler2D Sampler_sampler_blendTex;
uniform  sampler2D Sampler_sampler_blendAlphaTex;

varying  vec4 _VSPS_Color;
varying  vec4 _VSPS_UV_Others;
varying  vec3 _VSPS_WorldN;
varying  vec4 _VSPS_Alpha_Dist_UV;
varying  vec4 _VSPS_Blend_Alpha_Dist_UV;
varying  vec4 _VSPS_Blend_FBNextIndex_UV;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec2 UVDistortionOffset(highp vec2 uv, highp vec2 uvInversed, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    highp vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        highp vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    highp vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout highp vec4 dst, highp vec4 flipbookParameter, highp vec4 vcolor, highp vec2 nextUV, highp float flipbookRate, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        highp vec4 sampledColor = texture2D(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            highp vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        highp vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout highp vec4 dstColor, highp vec4 blendColor, highp float blendType)
{
    if (blendType == 0.0)
    {
        highp vec3 _214 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_214.x, _214.y, _214.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            highp vec3 _226 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_226.x, _226.y, _226.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                highp vec3 _239 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_239.x, _239.y, _239.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    highp vec3 _252 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_252.x, _252.y, _252.z, dstColor.w);
                }
            }
        }
    }
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    highp vec2 param_1 = advancedParam.UVDistortionUV;
    highp vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    highp vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    highp vec4 param_4 = texture2D(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    highp vec4 param_6 = Output;
    highp float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    highp vec4 param_9 = texture2D(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    highp vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    highp vec2 param_11 = advancedParam.BlendUVDistortionUV;
    highp vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    highp vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    highp vec4 param_14 = texture2D(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    highp vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    highp vec4 param_16 = texture2D(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    highp vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    highp vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        highp vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        highp float CdotN = clamp(dot(cameraVec, normalize(Input.WorldN)), 0.0, 1.0);
        highp vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            highp vec3 _532 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_532.x, _532.y, _532.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                highp vec3 _545 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_545.x, _545.y, _545.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    highp vec3 _558 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_558.x, _558.y, _558.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    highp vec3 _572 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_572.x, _572.y, _572.z, Output.w);
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    highp vec3 _604 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_604.x, _604.y, _604.z, Output.w);
    highp vec4 param_19 = Output;
    bool param_20 = convertColorSpace;
    return ConvertToScreen(param_19, param_20);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    highp vec4 _641 = _main(Input);
    gl_FragData[0] = _641;
}

#version 300 es
precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec4 UV_Others;
    highp vec3 WorldN;
    highp vec4 Alpha_Dist_UV;
    highp vec4 Blend_Alpha_Dist_UV;
    highp vec4 Blend_FBNextIndex_UV;
    highp vec4 PosP;
};

struct AdvancedParameter
{
    highp vec2 AlphaUV;
    highp vec2 UVDistortionUV;
    highp vec2 BlendUV;
    highp vec2 BlendAlphaUV;
    highp vec2 BlendUVDistortionUV;
    highp vec2 FlipbookNextIndexUV;
    highp float FlipbookRate;
    highp float AlphaThreshold;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform highp sampler2D Sampler_sampler_uvDistortionTex;
uniform highp sampler2D Sampler_sampler_colorTex;
uniform highp sampler2D Sampler_sampler_alphaTex;
uniform highp sampler2D Sampler_sampler_blendUVDistortionTex;
uniform highp sampler2D Sampler_sampler_blendTex;
uniform highp sampler2D Sampler_sampler_blendAlphaTex;
uniform highp sampler2D Sampler_sampler_depthTex;

centroid in highp vec4 _VSPS_Color;
centroid in highp vec4 _VSPS_UV_Others;
in highp vec3 _VSPS_WorldN;
in highp vec4 _VSPS_Alpha_Dist_UV;
in highp vec4 _VSPS_Blend_Alpha_Dist_UV;
in highp vec4 _VSPS_Blend_FBNextIndex_UV;
in highp vec4 _VSPS_PosP;
layout(location = 0) out highp vec4 _entryPointOutput;

AdvancedParameter DisolveAdvancedParameter(PS_Input psinput)
{
    AdvancedParameter ret;
    ret.AlphaUV = psinput.Alpha_Dist_UV.xy;
    ret.UVDistortionUV = psinput.Alpha_Dist_UV.zw;
    ret.BlendUV = psinput.Blend_FBNextIndex_UV.xy;
    ret.BlendAlphaUV = psinput.Blend_Alpha_Dist_UV.xy;
    ret.BlendUVDistortionUV = psinput.Blend_Alpha_Dist_UV.zw;
    ret.FlipbookNextIndexUV = psinput.Blend_FBNextIndex_UV.zw;
    ret.FlipbookRate = psinput.UV_Others.z;
    ret.AlphaThreshold = psinput.UV_Others.w;
    return ret;
}

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec2 UVDistortionOffset(highp vec2 uv, highp vec2 uvInversed, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    highp vec4 sampledColor = texture(SPIRV_Cross_Combinedts, uv);
    if (convertFromSRGB)
    {
        highp vec4 param = sampledColor;
        bool param_1 = convertFromSRGB;
        sampledColor = ConvertFromSRGBTexture(param, param_1);
    }
    highp vec2 UVOffset = (sampledColor.xy * 2.0) - vec2(1.0);
    UVOffset.y *= (-1.0);
    UVOffset.y = uvInversed.x + (uvInversed.y * UVOffset.y);
    return UVOffset;
}

void ApplyFlipbook(inout highp vec4 dst, highp vec4 flipbookParameter, highp vec4 vcolor, highp vec2 nextUV, highp float flipbookRate, bool convertFromSRGB, highp sampler2D SPIRV_Cross_Combinedts)
{
    if (flipbookParameter.x > 0.0)
    {
        highp vec4 sampledColor = texture(SPIRV_Cross_Combinedts, nextUV);
        if (convertFromSRGB)
        {
            highp vec4 param = sampledColor;
            bool param_1 = convertFromSRGB;
            sampledColor = ConvertFromSRGBTexture(param, param_1);
        }
        highp vec4 NextPixelColor = sampledColor * vcolor;
        if (flipbookParameter.y == 1.0)
        {
            dst = mix(dst, NextPixelColor, vec4(flipbookRate));
        }
    }
}

void ApplyTextureBlending(inout highp vec4 dstColor, highp vec4 blendColor, highp float blendType)
{
    if (blendType == 0.0)
    {
        highp vec3 _222 = (blendColor.xyz * blendColor.w) + (dstColor.xyz * (1.0 - blendColor.w));
        dstColor = vec4(_222.x, _222.y, _222.z, dstColor.w);
    }
    else
    {
        if (blendType == 1.0)
        {
            highp vec3 _234 = dstColor.xyz + (blendColor.xyz * blendColor.w);
            dstColor = vec4(_234.x, _234.y, _234.z, dstColor.w);
        }
        else
        {
            if (blendType == 2.0)
            {
                highp vec3 _247 = dstColor.xyz - (blendColor.xyz * blendColor.w);
                dstColor = vec4(_247.x, _247.y, _247.z, dstColor.w);
            }
            else
            {
                if (blendType == 3.0)
                {
                    highp vec3 _260 = dstColor.xyz * (blendColor.xyz * blendColor.w);
                    dstColor = vec4(_260.x, _260.y, _260.z, dstColor.w);
                }
            }
        }
    }
}

highp float SoftParticle(highp float backgroundZ, highp float meshZ, highp vec4 softparticleParam, highp vec4 reconstruct1, highp vec4 reconstruct2)
{
    highp float distanceFar = softparticleParam.x;
    highp float distanceNear = softparticleParam.y;
    highp float distanceNearOffset = softparticleParam.z;
    highp vec2 rescale = reconstruct1.xy;
    highp vec4 params = reconstruct2;
    highp vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    highp vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    highp float dir = sign(depth.x);
    depth *= dir;
    highp float alphaFar = (depth.x - depth.y) / distanceFar;
    highp float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    PS_Input param = Input;
    AdvancedParameter advancedParam = DisolveAdvancedParameter(param);
    highp vec2 param_1 = advancedParam.UVDistortionUV;
    highp vec2 param_2 = CBPS0.fUVDistortionParameter.zw;
    bool param_3 = convertColorSpace;
    highp vec2 UVOffset = UVDistortionOffset(param_1, param_2, param_3, Sampler_sampler_uvDistortionTex);
    UVOffset *= CBPS0.fUVDistortionParameter.x;
    highp vec4 param_4 = texture(Sampler_sampler_colorTex, Input.UV_Others.xy + UVOffset);
    bool param_5 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param_4, param_5) * Input.Color;
    highp vec4 param_6 = Output;
    highp float param_7 = advancedParam.FlipbookRate;
    bool param_8 = convertColorSpace;
    ApplyFlipbook(param_6, CBPS0.fFlipbookParameter, Input.Color, advancedParam.FlipbookNextIndexUV + UVOffset, param_7, param_8, Sampler_sampler_colorTex);
    Output = param_6;
    highp vec4 param_9 = texture(Sampler_sampler_alphaTex, advancedParam.AlphaUV + UVOffset);
    bool param_10 = convertColorSpace;
    highp vec4 AlphaTexColor = ConvertFromSRGBTexture(param_9, param_10);
    Output.w *= (AlphaTexColor.x * AlphaTexColor.w);
    highp vec2 param_11 = advancedParam.BlendUVDistortionUV;
    highp vec2 param_12 = CBPS0.fUVDistortionParameter.zw;
    bool param_13 = convertColorSpace;
    highp vec2 BlendUVOffset = UVDistortionOffset(param_11, param_12, param_13, Sampler_sampler_blendUVDistortionTex);
    BlendUVOffset *= CBPS0.fUVDistortionParameter.y;
    highp vec4 param_14 = texture(Sampler_sampler_blendTex, advancedParam.BlendUV + BlendUVOffset);
    bool param_15 = convertColorSpace;
    highp vec4 BlendTextureColor = ConvertFromSRGBTexture(param_14, param_15);
    highp vec4 param_16 = texture(Sampler_sampler_blendAlphaTex, advancedParam.BlendAlphaUV + BlendUVOffset);
    bool param_17 = convertColorSpace;
    highp vec4 BlendAlphaTextureColor = ConvertFromSRGBTexture(param_16, param_17);
    BlendTextureColor.w *= (BlendAlphaTextureColor.x * BlendAlphaTextureColor.w);
    highp vec4 param_18 = Output;
    ApplyTextureBlending(param_18, BlendTextureColor, CBPS0.fBlendTextureParameter.x);
    Output = param_18;
    if (CBPS0.fFalloffParameter.x == 1.0)
    {
        highp vec3 cameraVec = normalize(-CBPS0.fCameraFrontDirection.xyz);
        highp float CdotN = clamp(dot(cameraVec, normalize(Input.WorldN)), 0.0, 1.0);
        highp vec4 FalloffBlendColor = mix(CBPS0.fFalloffEndColor, CBPS0.fFalloffBeginColor, vec4(pow(CdotN, CBPS0.fFalloffParameter.z)));
        if (CBPS0.fFalloffParameter.y == 0.0)
        {
            highp vec3 _611 = Output.xyz + FalloffBlendColor.xyz;
            Output = vec4(_611.x, _611.y, _611.z, Output.w);
        }
        else
        {
            if (CBPS0.fFalloffParameter.y == 1.0)
            {
                highp vec3 _624 = Output.xyz - FalloffBlendColor.xyz;
                Output = vec4(_624.x, _624.y, _624.z, Output.w);
            }
            else
            {
                if (CBPS0.fFalloffParameter.y == 2.0)
                {
                    highp vec3 _637 = Output.xyz * FalloffBlendColor.xyz;
                    Output = vec4(_637.x, _637.y, _637.z, Output.w);
                }
            }
        }
        Output.w *= FalloffBlendColor.w;
    }
    highp vec3 _651 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_651.x, _651.y, _651.z, Output.w);
    highp vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    highp vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        highp float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        highp float param_19 = backgroundZ;
        highp float param_20 = screenPos.z;
        highp vec4 param_21 = CBPS0.softParticleParam;
        highp vec4 param_22 = CBPS0.reconstructionParam1;
        highp vec4 param_23 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_19, param_20, param_21, param_22, param_23);
    }
    if (Output.w <= max(0.0, advancedParam.AlphaThreshold))
    {
        discard;
    }
    highp vec3 _749 = mix(CBPS0.fEdgeColor.xyz * CBPS0.fEdgeParameter.y, Output.xyz, vec3(ceil((Output.w - advancedParam.AlphaThreshold) - CBPS0.fEdgeParameter.x)));
    Output = vec4(_749.x, _749.y, _749.z, Output.w);
    highp vec4 param_24 = Output;
    bool param_25 = convertColorSpace;
    return ConvertToScreen(param_24, param_25);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV_Others = _VSPS_UV_Others;
    Input.WorldN = _VSPS_WorldN;
    Input.Alpha_Dist_UV = _VSPS_Alpha_Dist_UV;
    Input.Blend_Alpha_Dist_UV = _VSPS_Blend_Alpha_Dist_UV;
    Input.Blend_FBNextIndex_UV = _VSPS_Blend_FBNextIndex_UV;
    Input.PosP = _VSPS_PosP;
    highp vec4 _789 = _main(Input);
    _entryPointOutput = _789;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel;
    vec4 fUV;
    vec4 fAlphaUV;
    vec4 fUVDistortionUV;
    vec4 fBlendUV;
    vec4 fBlendAlphaUV;
    vec4 fBlendUVDistortionUV;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
    vec4 fFlipbookIndexAndNextRate;
    vec4 fModelAlphaThreshold;
    vec4 fModelColor;
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec3 Input_Normal;
attribute vec3 Input_Binormal;
attribute vec3 Input_Tangent;
attribute vec2 Input_UV;
attribute vec4 Input_Color;
varying vec4 _VSPS_Color;
varying vec4 _VSPS_UV_Others;
varying vec3 _VSPS_WorldN;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

float IntMod(float x, float y)
{
    return floor(mod(x, y));
}

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = FlipbookIndex;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = Index;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(vec2 uv, vec2 uv1, vec4 alphaUV, vec4 uvDistortionUV, vec4 blendUV, vec4 blendAlphaUV, vec4 blendUVDistortionUV, float flipbookIndexAndNextRate, float modelAlphaThreshold, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV.x = (uv.x * alphaUV.z) + alphaUV.x;
    vsoutput.Alpha_Dist_UV.y = (uv.y * alphaUV.w) + alphaUV.y;
    vsoutput.Alpha_Dist_UV.z = (uv.x * uvDistortionUV.z) + uvDistortionUV.x;
    vsoutput.Alpha_Dist_UV.w = (uv.y * uvDistortionUV.w) + uvDistortionUV.y;
    vsoutput.Blend_FBNextIndex_UV.x = (uv.x * blendUV.z) + blendUV.x;
    vsoutput.Blend_FBNextIndex_UV.y = (uv.y * blendUV.w) + blendUV.y;
    vsoutput.Blend_Alpha_Dist_UV.x = (uv.x * blendAlphaUV.z) + blendAlphaUV.x;
    vsoutput.Blend_Alpha_Dist_UV.y = (uv.y * blendAlphaUV.w) + blendAlphaUV.y;
    vsoutput.Blend_Alpha_Dist_UV.z = (uv.x * blendUVDistortionUV.z) + blendUVDistortionUV.x;
    vsoutput.Blend_Alpha_Dist_UV.w = (uv.y * blendUVDistortionUV.w) + blendUVDistortionUV.y;
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = flipbookIndexAndNextRate;
    vec2 param_5 = uv1;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = modelAlphaThreshold;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_FBNextIndex_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.w);
}

VS_Output _main(VS_Input Input)
{
    vec4 uv = CBVS0.fUV;
    vec4 alphaUV = CBVS0.fAlphaUV;
    vec4 uvDistortionUV = CBVS0.fUVDistortionUV;
    vec4 blendUV = CBVS0.fBlendUV;
    vec4 blendAlphaUV = CBVS0.fBlendAlphaUV;
    vec4 blendUVDistortionUV = CBVS0.fBlendUVDistortionUV;
    vec4 modelColor = CBVS0.fModelColor * Input.Color;
    float flipbookIndexAndNextRate = CBVS0.fFlipbookIndexAndNextRate.x;
    float modelAlphaThreshold = CBVS0.fModelAlphaThreshold.x;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPosition = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = CBVS0.mModel * localPosition;
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV_Others = vec4(outputUV.x, outputUV.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    localNormal = normalize(CBVS0.mModel * localNormal);
    Output.WorldN = localNormal.xyz;
    Output.Color = modelColor;
    vec2 param = Input.UV;
    vec2 param_1 = Output.UV_Others.xy;
    vec4 param_2 = alphaUV;
    vec4 param_3 = uvDistortionUV;
    vec4 param_4 = blendUV;
    vec4 param_5 = blendAlphaUV;
    vec4 param_6 = blendUVDistortionUV;
    float param_7 = flipbookIndexAndNextRate;
    float param_8 = modelAlphaThreshold;
    VS_Output param_9 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9);
    Output = param_9;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif
#ifdef GL_ARB_shader_draw_parameters
#extension GL_ARB_shader_draw_parameters : enable
#endif

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
    vec4 PosP;
};

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
    uint Index;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel_Inst[10];
    vec4 fUV[10];
    vec4 fAlphaUV[10];
    vec4 fUVDistortionUV[10];
    vec4 fBlendUV[10];
    vec4 fBlendAlphaUV[10];
    vec4 fBlendUVDistortionUV[10];
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
    vec4 fFlipbookIndexAndNextRate[10];
    vec4 fModelAlphaThreshold[10];
    vec4 fModelColor[10];
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec3 Input_Normal;
layout(location = 2) in vec3 Input_Binormal;
layout(location = 3) in vec3 Input_Tangent;
layout(location = 4) in vec2 Input_UV;
layout(location = 5) in vec4 Input_Color;
#ifdef GL_ARB_shader_draw_parameters
#define SPIRV_Cross_BaseInstance gl_BaseInstanceARB
#else
uniform int SPIRV_Cross_BaseInstance;
#endif
centroid out vec4 _VSPS_Color;
centroid out vec4 _VSPS_UV_Others;
out vec3 _VSPS_WorldN;
out vec4 _VSPS_Alpha_Dist_UV;
out vec4 _VSPS_Blend_Alpha_Dist_UV;
out vec4 _VSPS_Blend_FBNextIndex_UV;
out vec4 _VSPS_PosP;

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(FlipbookIndex) % int(DivideX));
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(Index) % int(DivideX));
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(vec2 uv, vec2 uv1, vec4 alphaUV, vec4 uvDistortionUV, vec4 blendUV, vec4 blendAlphaUV, vec4 blendUVDistortionUV, float flipbookIndexAndNextRate, float modelAlphaThreshold, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV.x = (uv.x * alphaUV.z) + alphaUV.x;
    vsoutput.Alpha_Dist_UV.y = (uv.y * alphaUV.w) + alphaUV.y;
    vsoutput.Alpha_Dist_UV.z = (uv.x * uvDistortionUV.z) + uvDistortionUV.x;
    vsoutput.Alpha_Dist_UV.w = (uv.y * uvDistortionUV.w) + uvDistortionUV.y;
    vsoutput.Blend_FBNextIndex_UV.x = (uv.x * blendUV.z) + blendUV.x;
    vsoutput.Blend_FBNextIndex_UV.y = (uv.y * blendUV.w) + blendUV.y;
    vsoutput.Blend_Alpha_Dist_UV.x = (uv.x * blendAlphaUV.z) + blendAlphaUV.x;
    vsoutput.Blend_Alpha_Dist_UV.y = (uv.y * blendAlphaUV.w) + blendAlphaUV.y;
    vsoutput.Blend_Alpha_Dist_UV.z = (uv.x * blendUVDistortionUV.z) + blendUVDistortionUV.x;
    vsoutput.Blend_Alpha_Dist_UV.w = (uv.y * blendUVDistortionUV.w) + blendUVDistortionUV.y;
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = flipbookIndexAndNextRate;
    vec2 param_5 = uv1;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = modelAlphaThreshold;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_FBNextIndex_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.w);
}

VS_Output _main(VS_Input Input)
{
    uint index = Input.Index;
    mat4 mModel = CBVS0.mModel_Inst[index];
    vec4 uv = CBVS0.fUV[index];
    vec4 alphaUV = CBVS0.fAlphaUV[index];
    vec4 uvDistortionUV = CBVS0.fUVDistortionUV[index];
    vec4 blendUV = CBVS0.fBlendUV[index];
    vec4 blendAlphaUV = CBVS0.fBlendAlphaUV[index];
    vec4 blendUVDistortionUV = CBVS0.fBlendUVDistortionUV[index];
    vec4 modelColor = CBVS0.fModelColor[index] * Input.Color;
    float flipbookIndexAndNextRate = CBVS0.fFlipbookIndexAndNextRate[index].x;
    float modelAlphaThreshold = CBVS0.fModelAlphaThreshold[index].x;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPosition = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = localPosition * mModel;
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV_Others = vec4(outputUV.x, outputUV.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    localNormal = normalize(localNormal * mModel);
    Output.WorldN = localNormal.xyz;
    Output.Color = modelColor;
    vec2 param = Input.UV;
    vec2 param_1 = Output.UV_Others.xy;
    vec4 param_2 = alphaUV;
    vec4 param_3 = uvDistortionUV;
    vec4 param_4 = blendUV;
    vec4 param_5 = blendAlphaUV;
    vec4 param_6 = blendUVDistortionUV;
    float param_7 = flipbookIndexAndNextRate;
    float param_8 = modelAlphaThreshold;
    VS_Output param_9 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9);
    Output = param_9;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    Input.Index = uint((gl_InstanceID + SPIRV_Cross_BaseInstance));
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
    _VSPS_PosP = flattenTemp.PosP;
}



struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
};

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel;
    vec4 fUV;
    vec4 fAlphaUV;
    vec4 fUVDistortionUV;
    vec4 fBlendUV;
    vec4 fBlendAlphaUV;
    vec4 fBlendUVDistortionUV;
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
    vec4 fFlipbookIndexAndNextRate;
    vec4 fModelAlphaThreshold;
    vec4 fModelColor;
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec3 Input_Normal;
attribute vec3 Input_Binormal;
attribute vec3 Input_Tangent;
attribute vec2 Input_UV;
attribute vec4 Input_Color;
varying vec4 _VSPS_Color;
varying vec4 _VSPS_UV_Others;
varying vec3 _VSPS_WorldN;
varying vec4 _VSPS_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_Alpha_Dist_UV;
varying vec4 _VSPS_Blend_FBNextIndex_UV;

float IntMod(float x, float y)
{
    return floor(mod(x, y));
}

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = FlipbookIndex;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    float param = Index;
    float param_1 = DivideX;
    vec2 DivideIndex;
    DivideIndex.x = IntMod(param, param_1);
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(vec2 uv, vec2 uv1, vec4 alphaUV, vec4 uvDistortionUV, vec4 blendUV, vec4 blendAlphaUV, vec4 blendUVDistortionUV, float flipbookIndexAndNextRate, float modelAlphaThreshold, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV.x = (uv.x * alphaUV.z) + alphaUV.x;
    vsoutput.Alpha_Dist_UV.y = (uv.y * alphaUV.w) + alphaUV.y;
    vsoutput.Alpha_Dist_UV.z = (uv.x * uvDistortionUV.z) + uvDistortionUV.x;
    vsoutput.Alpha_Dist_UV.w = (uv.y * uvDistortionUV.w) + uvDistortionUV.y;
    vsoutput.Blend_FBNextIndex_UV.x = (uv.x * blendUV.z) + blendUV.x;
    vsoutput.Blend_FBNextIndex_UV.y = (uv.y * blendUV.w) + blendUV.y;
    vsoutput.Blend_Alpha_Dist_UV.x = (uv.x * blendAlphaUV.z) + blendAlphaUV.x;
    vsoutput.Blend_Alpha_Dist_UV.y = (uv.y * blendAlphaUV.w) + blendAlphaUV.y;
    vsoutput.Blend_Alpha_Dist_UV.z = (uv.x * blendUVDistortionUV.z) + blendUVDistortionUV.x;
    vsoutput.Blend_Alpha_Dist_UV.w = (uv.y * blendUVDistortionUV.w) + blendUVDistortionUV.y;
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = flipbookIndexAndNextRate;
    vec2 param_5 = uv1;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = modelAlphaThreshold;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_FBNextIndex_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.w);
}

VS_Output _main(VS_Input Input)
{
    vec4 uv = CBVS0.fUV;
    vec4 alphaUV = CBVS0.fAlphaUV;
    vec4 uvDistortionUV = CBVS0.fUVDistortionUV;
    vec4 blendUV = CBVS0.fBlendUV;
    vec4 blendAlphaUV = CBVS0.fBlendAlphaUV;
    vec4 blendUVDistortionUV = CBVS0.fBlendUVDistortionUV;
    vec4 modelColor = CBVS0.fModelColor * Input.Color;
    float flipbookIndexAndNextRate = CBVS0.fFlipbookIndexAndNextRate.x;
    float modelAlphaThreshold = CBVS0.fModelAlphaThreshold.x;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPosition = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = CBVS0.mModel * localPosition;
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV_Others = vec4(outputUV.x, outputUV.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    localNormal = normalize(CBVS0.mModel * localNormal);
    Output.WorldN = localNormal.xyz;
    Output.Color = modelColor;
    vec2 param = Input.UV;
    vec2 param_1 = Output.UV_Others.xy;
    vec4 param_2 = alphaUV;
    vec4 param_3 = uvDistortionUV;
    vec4 param_4 = blendUV;
    vec4 param_5 = blendAlphaUV;
    vec4 param_6 = blendUVDistortionUV;
    float param_7 = flipbookIndexAndNextRate;
    float param_8 = modelAlphaThreshold;
    VS_Output param_9 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9);
    Output = param_9;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
}

#version 300 es
#ifdef GL_ARB_shader_draw_parameters
#extension GL_ARB_shader_draw_parameters : enable
#endif

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec4 UV_Others;
    vec3 WorldN;
    vec4 Alpha_Dist_UV;
    vec4 Blend_Alpha_Dist_UV;
    vec4 Blend_FBNextIndex_UV;
    vec4 PosP;
};

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
    uint Index;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel_Inst[10];
    vec4 fUV[10];
    vec4 fAlphaUV[10];
    vec4 fUVDistortionUV[10];
    vec4 fBlendUV[10];
    vec4 fBlendAlphaUV[10];
    vec4 fBlendUVDistortionUV[10];
    vec4 flipbookParameter1;
    vec4 flipbookParameter2;
    vec4 fFlipbookIndexAndNextRate[10];
    vec4 fModelAlphaThreshold[10];
    vec4 fModelColor[10];
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec3 Input_Normal;
layout(location = 2) in vec3 Input_Binormal;
layout(location = 3) in vec3 Input_Tangent;
layout(location = 4) in vec2 Input_UV;
layout(location = 5) in vec4 Input_Color;
#ifdef GL_ARB_shader_draw_parameters
#define SPIRV_Cross_BaseInstance gl_BaseInstanceARB
#else
uniform int SPIRV_Cross_BaseInstance;
#endif
centroid out vec4 _VSPS_Color;
centroid out vec4 _VSPS_UV_Others;
out vec3 _VSPS_WorldN;
out vec4 _VSPS_Alpha_Dist_UV;
out vec4 _VSPS_Blend_Alpha_Dist_UV;
out vec4 _VSPS_Blend_FBNextIndex_UV;
out vec4 _VSPS_PosP;

vec2 GetFlipbookOriginUV(vec2 FlipbookUV, float FlipbookIndex, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(FlipbookIndex) % int(DivideX));
    DivideIndex.y = float(int(FlipbookIndex) / int(DivideX));
    vec2 UVOffset = (DivideIndex * flipbookOneSize) + flipbookOffset;
    return FlipbookUV - UVOffset;
}

vec2 GetFlipbookUVForIndex(vec2 OriginUV, float Index, float DivideX, vec2 flipbookOneSize, vec2 flipbookOffset)
{
    vec2 DivideIndex;
    DivideIndex.x = float(int(Index) % int(DivideX));
    DivideIndex.y = float(int(Index) / int(DivideX));
    return (OriginUV + (DivideIndex * flipbookOneSize)) + flipbookOffset;
}

void ApplyFlipbookVS(inout float flipbookRate, inout vec2 flipbookUV, vec4 flipbookParameter1, vec4 flipbookParameter2, float flipbookIndex, vec2 uv, vec2 uvInversed)
{
    float flipbookEnabled = flipbookParameter1.x;
    float flipbookLoopType = flipbookParameter1.y;
    float divideX = flipbookParameter1.z;
    float divideY = flipbookParameter1.w;
    vec2 flipbookOneSize = flipbookParameter2.xy;
    vec2 flipbookOffset = flipbookParameter2.zw;
    if (flipbookEnabled > 0.0)
    {
        flipbookRate = fract(flipbookIndex);
        float Index = floor(flipbookIndex);
        float IndexOffset = 1.0;
        float NextIndex = Index + IndexOffset;
        float FlipbookMaxCount = divideX * divideY;
        if (flipbookLoopType == 0.0)
        {
            if (NextIndex >= FlipbookMaxCount)
            {
                NextIndex = FlipbookMaxCount - 1.0;
                Index = FlipbookMaxCount - 1.0;
            }
        }
        else
        {
            if (flipbookLoopType == 1.0)
            {
                Index = mod(Index, FlipbookMaxCount);
                NextIndex = mod(NextIndex, FlipbookMaxCount);
            }
            else
            {
                if (flipbookLoopType == 2.0)
                {
                    bool Reverse = mod(floor(Index / FlipbookMaxCount), 2.0) == 1.0;
                    Index = mod(Index, FlipbookMaxCount);
                    if (Reverse)
                    {
                        Index = (FlipbookMaxCount - 1.0) - floor(Index);
                    }
                    Reverse = mod(floor(NextIndex / FlipbookMaxCount), 2.0) == 1.0;
                    NextIndex = mod(NextIndex, FlipbookMaxCount);
                    if (Reverse)
                    {
                        NextIndex = (FlipbookMaxCount - 1.0) - floor(NextIndex);
                    }
                }
            }
        }
        vec2 notInversedUV = uv;
        notInversedUV.y = uvInversed.x + (uvInversed.y * notInversedUV.y);
        vec2 param = notInversedUV;
        float param_1 = Index;
        float param_2 = divideX;
        vec2 param_3 = flipbookOneSize;
        vec2 param_4 = flipbookOffset;
        vec2 OriginUV = GetFlipbookOriginUV(param, param_1, param_2, param_3, param_4);
        vec2 param_5 = OriginUV;
        float param_6 = NextIndex;
        float param_7 = divideX;
        vec2 param_8 = flipbookOneSize;
        vec2 param_9 = flipbookOffset;
        flipbookUV = GetFlipbookUVForIndex(param_5, param_6, param_7, param_8, param_9);
        flipbookUV.y = uvInversed.x + (uvInversed.y * flipbookUV.y);
    }
}

void CalculateAndStoreAdvancedParameter(vec2 uv, vec2 uv1, vec4 alphaUV, vec4 uvDistortionUV, vec4 blendUV, vec4 blendAlphaUV, vec4 blendUVDistortionUV, float flipbookIndexAndNextRate, float modelAlphaThreshold, inout VS_Output vsoutput)
{
    vsoutput.Alpha_Dist_UV.x = (uv.x * alphaUV.z) + alphaUV.x;
    vsoutput.Alpha_Dist_UV.y = (uv.y * alphaUV.w) + alphaUV.y;
    vsoutput.Alpha_Dist_UV.z = (uv.x * uvDistortionUV.z) + uvDistortionUV.x;
    vsoutput.Alpha_Dist_UV.w = (uv.y * uvDistortionUV.w) + uvDistortionUV.y;
    vsoutput.Blend_FBNextIndex_UV.x = (uv.x * blendUV.z) + blendUV.x;
    vsoutput.Blend_FBNextIndex_UV.y = (uv.y * blendUV.w) + blendUV.y;
    vsoutput.Blend_Alpha_Dist_UV.x = (uv.x * blendAlphaUV.z) + blendAlphaUV.x;
    vsoutput.Blend_Alpha_Dist_UV.y = (uv.y * blendAlphaUV.w) + blendAlphaUV.y;
    vsoutput.Blend_Alpha_Dist_UV.z = (uv.x * blendUVDistortionUV.z) + blendUVDistortionUV.x;
    vsoutput.Blend_Alpha_Dist_UV.w = (uv.y * blendUVDistortionUV.w) + blendUVDistortionUV.y;
    float flipbookRate = 0.0;
    vec2 flipbookNextIndexUV = vec2(0.0);
    float param = flipbookRate;
    vec2 param_1 = flipbookNextIndexUV;
    vec4 param_2 = CBVS0.flipbookParameter1;
    vec4 param_3 = CBVS0.flipbookParameter2;
    float param_4 = flipbookIndexAndNextRate;
    vec2 param_5 = uv1;
    vec2 param_6 = vec2(CBVS0.mUVInversed.xy);
    ApplyFlipbookVS(param, param_1, param_2, param_3, param_4, param_5, param_6);
    flipbookRate = param;
    flipbookNextIndexUV = param_1;
    vsoutput.Blend_FBNextIndex_UV = vec4(vsoutput.Blend_FBNextIndex_UV.x, vsoutput.Blend_FBNextIndex_UV.y, flipbookNextIndexUV.x, flipbookNextIndexUV.y);
    vsoutput.UV_Others.z = flipbookRate;
    vsoutput.UV_Others.w = modelAlphaThreshold;
    vsoutput.Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.y);
    vsoutput.Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Alpha_Dist_UV.w);
    vsoutput.Blend_FBNextIndex_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_FBNextIndex_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.y);
    vsoutput.Blend_Alpha_Dist_UV.w = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * vsoutput.Blend_Alpha_Dist_UV.w);
}

VS_Output _main(VS_Input Input)
{
    uint index = Input.Index;
    mat4 mModel = CBVS0.mModel_Inst[index];
    vec4 uv = CBVS0.fUV[index];
    vec4 alphaUV = CBVS0.fAlphaUV[index];
    vec4 uvDistortionUV = CBVS0.fUVDistortionUV[index];
    vec4 blendUV = CBVS0.fBlendUV[index];
    vec4 blendAlphaUV = CBVS0.fBlendAlphaUV[index];
    vec4 blendUVDistortionUV = CBVS0.fBlendUVDistortionUV[index];
    vec4 modelColor = CBVS0.fModelColor[index] * Input.Color;
    float flipbookIndexAndNextRate = CBVS0.fFlipbookIndexAndNextRate[index].x;
    float modelAlphaThreshold = CBVS0.fModelAlphaThreshold[index].x;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec4(0.0), vec3(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPosition = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = localPosition * mModel;
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV_Others = vec4(outputUV.x, outputUV.y, Output.UV_Others.z, Output.UV_Others.w);
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    localNormal = normalize(localNormal * mModel);
    Output.WorldN = localNormal.xyz;
    Output.Color = modelColor;
    vec2 param = Input.UV;
    vec2 param_1 = Output.UV_Others.xy;
    vec4 param_2 = alphaUV;
    vec4 param_3 = uvDistortionUV;
    vec4 param_4 = blendUV;
    vec4 param_5 = blendAlphaUV;
    vec4 param_6 = blendUVDistortionUV;
    float param_7 = flipbookIndexAndNextRate;
    float param_8 = modelAlphaThreshold;
    VS_Output param_9 = Output;
    CalculateAndStoreAdvancedParameter(param, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9);
    Output = param_9;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    Input.Index = uint((gl_InstanceID + SPIRV_Cross_BaseInstance));
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV_Others = flattenTemp.UV_Others;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_Alpha_Dist_UV = flattenTemp.Alpha_Dist_UV;
    _VSPS_Blend_Alpha_Dist_UV = flattenTemp.Blend_Alpha_Dist_UV;
    _VSPS_Blend_FBNextIndex_UV = flattenTemp.Blend_FBNextIndex_UV;
    _VSPS_PosP = flattenTemp.PosP;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec2 UV;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
};

struct PS_ConstanBuffer
{
    vec4 g_scale;
    vec4 mUVInversedBack;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_backTex;

varying vec2 _VSPS_UV;
varying vec4 _VSPS_ProjBinormal;
varying vec4 _VSPS_ProjTangent;
varying vec4 _VSPS_PosP;
varying vec4 _VSPS_Color;

vec4 _main(PS_Input Input)
{
    vec4 Output = texture2D(Sampler_sampler_colorTex, Input.UV);
    Output.w *= Input.Color.w;
    vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    vec3 color = vec3(texture2D(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    if (Output.w == 0.0)
    {
        discard;
    }
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV = _VSPS_UV;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    vec4 _182 = _main(Input);
    gl_FragData[0] = _182;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec2 UV;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
};

struct PS_ConstanBuffer
{
    vec4 g_scale;
    vec4 mUVInversedBack;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_backTex;
uniform sampler2D Sampler_sampler_depthTex;

centroid in vec2 _VSPS_UV;
in vec4 _VSPS_ProjBinormal;
in vec4 _VSPS_ProjTangent;
in vec4 _VSPS_PosP;
centroid in vec4 _VSPS_Color;
layout(location = 0) out vec4 _entryPointOutput;

float SoftParticle(float backgroundZ, float meshZ, vec4 softparticleParam, vec4 reconstruct1, vec4 reconstruct2)
{
    float distanceFar = softparticleParam.x;
    float distanceNear = softparticleParam.y;
    float distanceNearOffset = softparticleParam.z;
    vec2 rescale = reconstruct1.xy;
    vec4 params = reconstruct2;
    vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    float dir = sign(depth.x);
    depth *= dir;
    float alphaFar = (depth.x - depth.y) / distanceFar;
    float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

vec4 _main(PS_Input Input)
{
    vec4 Output = texture(Sampler_sampler_colorTex, Input.UV);
    Output.w *= Input.Color.w;
    vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    vec3 color = vec3(texture(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        float param = backgroundZ;
        float param_1 = screenPos.z;
        vec4 param_2 = CBPS0.softParticleParam;
        vec4 param_3 = CBPS0.reconstructionParam1;
        vec4 param_4 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param, param_1, param_2, param_3, param_4);
    }
    if (Output.w == 0.0)
    {
        discard;
    }
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV = _VSPS_UV;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    vec4 _318 = _main(Input);
    _entryPointOutput = _318;
}


precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec2 UV;
    highp vec4 ProjBinormal;
    highp vec4 ProjTangent;
    highp vec4 PosP;
    highp vec4 Color;
};

struct PS_ConstanBuffer
{
    highp vec4 g_scale;
    highp vec4 mUVInversedBack;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
};

uniform PS_ConstanBuffer CBPS0;

uniform  sampler2D Sampler_sampler_colorTex;
uniform  sampler2D Sampler_sampler_backTex;

varying  vec2 _VSPS_UV;
varying  vec4 _VSPS_ProjBinormal;
varying  vec4 _VSPS_ProjTangent;
varying  vec4 _VSPS_PosP;
varying  vec4 _VSPS_Color;

highp vec4 _main(PS_Input Input)
{
    highp vec4 Output = texture2D(Sampler_sampler_colorTex, Input.UV);
    Output.w *= Input.Color.w;
    highp vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    highp vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    highp vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    highp float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    highp float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    highp vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    highp vec3 color = vec3(texture2D(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    if (Output.w == 0.0)
    {
        discard;
    }
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV = _VSPS_UV;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    highp vec4 _182 = _main(Input);
    gl_FragData[0] = _182;
}

#version 300 es
precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec2 UV;
    highp vec4 ProjBinormal;
    highp vec4 ProjTangent;
    highp vec4 PosP;
    highp vec4 Color;
};

struct PS_ConstanBuffer
{
    highp vec4 g_scale;
    highp vec4 mUVInversedBack;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
};

uniform PS_ConstanBuffer CBPS0;

uniform highp sampler2D Sampler_sampler_colorTex;
uniform highp sampler2D Sampler_sampler_backTex;
uniform highp sampler2D Sampler_sampler_depthTex;

centroid in highp vec2 _VSPS_UV;
in highp vec4 _VSPS_ProjBinormal;
in highp vec4 _VSPS_ProjTangent;
in highp vec4 _VSPS_PosP;
centroid in highp vec4 _VSPS_Color;
layout(location = 0) out highp vec4 _entryPointOutput;

highp float SoftParticle(highp float backgroundZ, highp float meshZ, highp vec4 softparticleParam, highp vec4 reconstruct1, highp vec4 reconstruct2)
{
    highp float distanceFar = softparticleParam.x;
    highp float distanceNear = softparticleParam.y;
    highp float distanceNearOffset = softparticleParam.z;
    highp vec2 rescale = reconstruct1.xy;
    highp vec4 params = reconstruct2;
    highp vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    highp vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    highp float dir = sign(depth.x);
    depth *= dir;
    highp float alphaFar = (depth.x - depth.y) / distanceFar;
    highp float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

highp vec4 _main(PS_Input Input)
{
    highp vec4 Output = texture(Sampler_sampler_colorTex, Input.UV);
    Output.w *= Input.Color.w;
    highp vec2 pos = Input.PosP.xy / vec2(Input.PosP.w);
    highp vec2 posR = Input.ProjTangent.xy / vec2(Input.ProjTangent.w);
    highp vec2 posU = Input.ProjBinormal.xy / vec2(Input.ProjBinormal.w);
    highp float xscale = (((Output.x * 2.0) - 1.0) * Input.Color.x) * CBPS0.g_scale.x;
    highp float yscale = (((Output.y * 2.0) - 1.0) * Input.Color.y) * CBPS0.g_scale.x;
    highp vec2 uv = (pos + ((posR - pos) * xscale)) + ((posU - pos) * yscale);
    uv.x = (uv.x + 1.0) * 0.5;
    uv.y = 1.0 - ((uv.y + 1.0) * 0.5);
    uv.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * uv.y);
    uv.y = 1.0 - uv.y;
    highp vec3 color = vec3(texture(Sampler_sampler_backTex, uv).xyz);
    Output = vec4(color.x, color.y, color.z, Output.w);
    highp vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    highp vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        highp float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        highp float param = backgroundZ;
        highp float param_1 = screenPos.z;
        highp vec4 param_2 = CBPS0.softParticleParam;
        highp vec4 param_3 = CBPS0.reconstructionParam1;
        highp vec4 param_4 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param, param_1, param_2, param_3, param_4);
    }
    if (Output.w == 0.0)
    {
        discard;
    }
    return Output;
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.UV = _VSPS_UV;
    Input.ProjBinormal = _VSPS_ProjBinormal;
    Input.ProjTangent = _VSPS_ProjTangent;
    Input.PosP = _VSPS_PosP;
    Input.Color = _VSPS_Color;
    highp vec4 _318 = _main(Input);
    _entryPointOutput = _318;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
};

struct VS_Output
{
    vec4 PosVS;
    vec2 UV;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel;
    vec4 fUV;
    vec4 fModelColor;
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec3 Input_Normal;
attribute vec3 Input_Binormal;
attribute vec3 Input_Tangent;
attribute vec2 Input_UV;
attribute vec4 Input_Color;
varying vec2 _VSPS_UV;
varying vec4 _VSPS_ProjBinormal;
varying vec4 _VSPS_ProjTangent;
varying vec4 _VSPS_PosP;
varying vec4 _VSPS_Color;

VS_Output _main(VS_Input Input)
{
    vec4 uv = CBVS0.fUV;
    vec4 modelColor = CBVS0.fModelColor * Input.Color;
    VS_Output Output = VS_Output(vec4(0.0), vec2(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = CBVS0.mModel * localPos;
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.Color = modelColor;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV = outputUV;
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = CBVS0.mModel * localNormal;
    vec4 worldBinormal = CBVS0.mModel * localBinormal;
    vec4 worldTangent = CBVS0.mModel * localTangent;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.ProjBinormal = CBVS0.mCameraProj * (worldPos + worldBinormal);
    Output.ProjTangent = CBVS0.mCameraProj * (worldPos + worldTangent);
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif
#ifdef GL_ARB_shader_draw_parameters
#extension GL_ARB_shader_draw_parameters : enable
#endif

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
    uint Index;
};

struct VS_Output
{
    vec4 PosVS;
    vec2 UV;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel_Inst[10];
    vec4 fUV[10];
    vec4 fModelColor[10];
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec3 Input_Normal;
layout(location = 2) in vec3 Input_Binormal;
layout(location = 3) in vec3 Input_Tangent;
layout(location = 4) in vec2 Input_UV;
layout(location = 5) in vec4 Input_Color;
#ifdef GL_ARB_shader_draw_parameters
#define SPIRV_Cross_BaseInstance gl_BaseInstanceARB
#else
uniform int SPIRV_Cross_BaseInstance;
#endif
centroid out vec2 _VSPS_UV;
out vec4 _VSPS_ProjBinormal;
out vec4 _VSPS_ProjTangent;
out vec4 _VSPS_PosP;
centroid out vec4 _VSPS_Color;

VS_Output _main(VS_Input Input)
{
    uint index = Input.Index;
    mat4 mModel = CBVS0.mModel_Inst[index];
    vec4 uv = CBVS0.fUV[index];
    vec4 modelColor = CBVS0.fModelColor[index] * Input.Color;
    VS_Output Output = VS_Output(vec4(0.0), vec2(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = localPos * mModel;
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.Color = modelColor;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV = outputUV;
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = localNormal * mModel;
    vec4 worldBinormal = localBinormal * mModel;
    vec4 worldTangent = localTangent * mModel;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.ProjBinormal = (worldPos + worldBinormal) * CBVS0.mCameraProj;
    Output.ProjTangent = (worldPos + worldTangent) * CBVS0.mCameraProj;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    Input.Index = uint((gl_InstanceID + SPIRV_Cross_BaseInstance));
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
}



struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
};

struct VS_Output
{
    vec4 PosVS;
    vec2 UV;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel;
    vec4 fUV;
    vec4 fModelColor;
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec3 Input_Normal;
attribute vec3 Input_Binormal;
attribute vec3 Input_Tangent;
attribute vec2 Input_UV;
attribute vec4 Input_Color;
varying vec2 _VSPS_UV;
varying vec4 _VSPS_ProjBinormal;
varying vec4 _VSPS_ProjTangent;
varying vec4 _VSPS_PosP;
varying vec4 _VSPS_Color;

VS_Output _main(VS_Input Input)
{
    vec4 uv = CBVS0.fUV;
    vec4 modelColor = CBVS0.fModelColor * Input.Color;
    VS_Output Output = VS_Output(vec4(0.0), vec2(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = CBVS0.mModel * localPos;
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.Color = modelColor;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV = outputUV;
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = CBVS0.mModel * localNormal;
    vec4 worldBinormal = CBVS0.mModel * localBinormal;
    vec4 worldTangent = CBVS0.mModel * localTangent;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.ProjBinormal = CBVS0.mCameraProj * (worldPos + worldBinormal);
    Output.ProjTangent = CBVS0.mCameraProj * (worldPos + worldTangent);
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
}

#version 300 es
#ifdef GL_ARB_shader_draw_parameters
#extension GL_ARB_shader_draw_parameters : enable
#endif

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
    uint Index;
};

struct VS_Output
{
    vec4 PosVS;
    vec2 UV;
    vec4 ProjBinormal;
    vec4 ProjTangent;
    vec4 PosP;
    vec4 Color;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel_Inst[10];
    vec4 fUV[10];
    vec4 fModelColor[10];
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec3 Input_Normal;
layout(location = 2) in vec3 Input_Binormal;
layout(location = 3) in vec3 Input_Tangent;
layout(location = 4) in vec2 Input_UV;
layout(location = 5) in vec4 Input_Color;
#ifdef GL_ARB_shader_draw_parameters
#define SPIRV_Cross_BaseInstance gl_BaseInstanceARB
#else
uniform int SPIRV_Cross_BaseInstance;
#endif
centroid out vec2 _VSPS_UV;
out vec4 _VSPS_ProjBinormal;
out vec4 _VSPS_ProjTangent;
out vec4 _VSPS_PosP;
centroid out vec4 _VSPS_Color;

VS_Output _main(VS_Input Input)
{
    uint index = Input.Index;
    mat4 mModel = CBVS0.mModel_Inst[index];
    vec4 uv = CBVS0.fUV[index];
    vec4 modelColor = CBVS0.fModelColor[index] * Input.Color;
    VS_Output Output = VS_Output(vec4(0.0), vec2(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
    vec4 localPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = localPos * mModel;
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.Color = modelColor;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV = outputUV;
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = localNormal * mModel;
    vec4 worldBinormal = localBinormal * mModel;
    vec4 worldTangent = localTangent * mModel;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.ProjBinormal = (worldPos + worldBinormal) * CBVS0.mCameraProj;
    Output.ProjTangent = (worldPos + worldTangent) * CBVS0.mCameraProj;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    Input.Index = uint((gl_InstanceID + SPIRV_Cross_BaseInstance));
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_ProjBinormal = flattenTemp.ProjBinormal;
    _VSPS_ProjTangent = flattenTemp.ProjTangent;
    _VSPS_PosP = flattenTemp.PosP;
    _VSPS_Color = flattenTemp.Color;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 PosP;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_normalTex;

varying vec4 _VSPS_Color;
varying vec2 _VSPS_UV;
varying vec3 _VSPS_WorldN;
varying vec3 _VSPS_WorldB;
varying vec3 _VSPS_WorldT;
varying vec4 _VSPS_PosP;

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    vec4 param = texture2D(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    vec3 texNormal = (texture2D(Sampler_sampler_normalTex, Input.UV).xyz - vec3(0.5)) * 2.0;
    vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    vec3 _229 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_229.x, _229.y, _229.z, Output.w);
    vec3 _237 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_237.x, _237.y, _237.z, Output.w);
    if (Output.w == 0.0)
    {
        discard;
    }
    vec4 param_2 = Output;
    bool param_3 = convertColorSpace;
    return ConvertToScreen(param_2, param_3);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.PosP = _VSPS_PosP;
    vec4 _284 = _main(Input);
    gl_FragData[0] = _284;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 PosP;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_normalTex;
uniform sampler2D Sampler_sampler_depthTex;

centroid in vec4 _VSPS_Color;
centroid in vec2 _VSPS_UV;
in vec3 _VSPS_WorldN;
in vec3 _VSPS_WorldB;
in vec3 _VSPS_WorldT;
in vec4 _VSPS_PosP;
layout(location = 0) out vec4 _entryPointOutput;

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

float SoftParticle(float backgroundZ, float meshZ, vec4 softparticleParam, vec4 reconstruct1, vec4 reconstruct2)
{
    float distanceFar = softparticleParam.x;
    float distanceNear = softparticleParam.y;
    float distanceNearOffset = softparticleParam.z;
    vec2 rescale = reconstruct1.xy;
    vec4 params = reconstruct2;
    vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    float dir = sign(depth.x);
    depth *= dir;
    float alphaFar = (depth.x - depth.y) / distanceFar;
    float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    vec4 param = texture(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    vec3 texNormal = (texture(Sampler_sampler_normalTex, Input.UV).xyz - vec3(0.5)) * 2.0;
    vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    vec3 _311 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_311.x, _311.y, _311.z, Output.w);
    vec3 _319 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_319.x, _319.y, _319.z, Output.w);
    vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        float param_2 = backgroundZ;
        float param_3 = screenPos.z;
        vec4 param_4 = CBPS0.softParticleParam;
        vec4 param_5 = CBPS0.reconstructionParam1;
        vec4 param_6 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_2, param_3, param_4, param_5, param_6);
    }
    if (Output.w == 0.0)
    {
        discard;
    }
    vec4 param_7 = Output;
    bool param_8 = convertColorSpace;
    return ConvertToScreen(param_7, param_8);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.PosP = _VSPS_PosP;
    vec4 _431 = _main(Input);
    _entryPointOutput = _431;
}


precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec2 UV;
    highp vec3 WorldN;
    highp vec3 WorldB;
    highp vec3 WorldT;
    highp vec4 PosP;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform  sampler2D Sampler_sampler_colorTex;
uniform  sampler2D Sampler_sampler_normalTex;

varying  vec4 _VSPS_Color;
varying  vec2 _VSPS_UV;
varying  vec3 _VSPS_WorldN;
varying  vec3 _VSPS_WorldB;
varying  vec3 _VSPS_WorldT;
varying  vec4 _VSPS_PosP;

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    highp vec4 param = texture2D(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    highp vec3 texNormal = (texture2D(Sampler_sampler_normalTex, Input.UV).xyz - vec3(0.5)) * 2.0;
    highp vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    highp float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    highp vec3 _229 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_229.x, _229.y, _229.z, Output.w);
    highp vec3 _237 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_237.x, _237.y, _237.z, Output.w);
    if (Output.w == 0.0)
    {
        discard;
    }
    highp vec4 param_2 = Output;
    bool param_3 = convertColorSpace;
    return ConvertToScreen(param_2, param_3);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.PosP = _VSPS_PosP;
    highp vec4 _284 = _main(Input);
    gl_FragData[0] = _284;
}

#version 300 es
precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec2 UV;
    highp vec3 WorldN;
    highp vec3 WorldB;
    highp vec3 WorldT;
    highp vec4 PosP;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform highp sampler2D Sampler_sampler_colorTex;
uniform highp sampler2D Sampler_sampler_normalTex;
uniform highp sampler2D Sampler_sampler_depthTex;

centroid in highp vec4 _VSPS_Color;
centroid in highp vec2 _VSPS_UV;
in highp vec3 _VSPS_WorldN;
in highp vec3 _VSPS_WorldB;
in highp vec3 _VSPS_WorldT;
in highp vec4 _VSPS_PosP;
layout(location = 0) out highp vec4 _entryPointOutput;

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp float SoftParticle(highp float backgroundZ, highp float meshZ, highp vec4 softparticleParam, highp vec4 reconstruct1, highp vec4 reconstruct2)
{
    highp float distanceFar = softparticleParam.x;
    highp float distanceNear = softparticleParam.y;
    highp float distanceNearOffset = softparticleParam.z;
    highp vec2 rescale = reconstruct1.xy;
    highp vec4 params = reconstruct2;
    highp vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    highp vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    highp float dir = sign(depth.x);
    depth *= dir;
    highp float alphaFar = (depth.x - depth.y) / distanceFar;
    highp float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    highp vec4 param = texture(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    highp vec3 texNormal = (texture(Sampler_sampler_normalTex, Input.UV).xyz - vec3(0.5)) * 2.0;
    highp vec3 localNormal = normalize(mat3(vec3(Input.WorldT), vec3(Input.WorldB), vec3(Input.WorldN)) * texNormal);
    highp float diffuse = max(dot(CBPS0.fLightDirection.xyz, localNormal), 0.0);
    highp vec3 _311 = Output.xyz * ((CBPS0.fLightColor.xyz * diffuse) + CBPS0.fLightAmbient.xyz);
    Output = vec4(_311.x, _311.y, _311.z, Output.w);
    highp vec3 _319 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_319.x, _319.y, _319.z, Output.w);
    highp vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    highp vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        highp float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        highp float param_2 = backgroundZ;
        highp float param_3 = screenPos.z;
        highp vec4 param_4 = CBPS0.softParticleParam;
        highp vec4 param_5 = CBPS0.reconstructionParam1;
        highp vec4 param_6 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_2, param_3, param_4, param_5, param_6);
    }
    if (Output.w == 0.0)
    {
        discard;
    }
    highp vec4 param_7 = Output;
    bool param_8 = convertColorSpace;
    return ConvertToScreen(param_7, param_8);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.WorldN = _VSPS_WorldN;
    Input.WorldB = _VSPS_WorldB;
    Input.WorldT = _VSPS_WorldT;
    Input.PosP = _VSPS_PosP;
    highp vec4 _431 = _main(Input);
    _entryPointOutput = _431;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel;
    vec4 fUV;
    vec4 fModelColor;
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec3 Input_Normal;
attribute vec3 Input_Binormal;
attribute vec3 Input_Tangent;
attribute vec2 Input_UV;
attribute vec4 Input_Color;
varying vec4 _VSPS_Color;
varying vec2 _VSPS_UV;
varying vec3 _VSPS_WorldN;
varying vec3 _VSPS_WorldB;
varying vec3 _VSPS_WorldT;
varying vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    vec4 uv = CBVS0.fUV;
    vec4 modelColor = CBVS0.fModelColor * Input.Color;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0));
    vec4 localPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = CBVS0.mModel * localPos;
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.Color = modelColor;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV = outputUV;
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = CBVS0.mModel * localNormal;
    vec4 worldBinormal = CBVS0.mModel * localBinormal;
    vec4 worldTangent = CBVS0.mModel * localTangent;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_PosP = flattenTemp.PosP;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif
#ifdef GL_ARB_shader_draw_parameters
#extension GL_ARB_shader_draw_parameters : enable
#endif

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
    uint Index;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel_Inst[10];
    vec4 fUV[10];
    vec4 fModelColor[10];
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec3 Input_Normal;
layout(location = 2) in vec3 Input_Binormal;
layout(location = 3) in vec3 Input_Tangent;
layout(location = 4) in vec2 Input_UV;
layout(location = 5) in vec4 Input_Color;
#ifdef GL_ARB_shader_draw_parameters
#define SPIRV_Cross_BaseInstance gl_BaseInstanceARB
#else
uniform int SPIRV_Cross_BaseInstance;
#endif
centroid out vec4 _VSPS_Color;
centroid out vec2 _VSPS_UV;
out vec3 _VSPS_WorldN;
out vec3 _VSPS_WorldB;
out vec3 _VSPS_WorldT;
out vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    uint index = Input.Index;
    mat4 mModel = CBVS0.mModel_Inst[index];
    vec4 uv = CBVS0.fUV[index];
    vec4 modelColor = CBVS0.fModelColor[index] * Input.Color;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0));
    vec4 localPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = localPos * mModel;
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.Color = modelColor;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV = outputUV;
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = localNormal * mModel;
    vec4 worldBinormal = localBinormal * mModel;
    vec4 worldTangent = localTangent * mModel;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    Input.Index = uint((gl_InstanceID + SPIRV_Cross_BaseInstance));
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_PosP = flattenTemp.PosP;
}



struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel;
    vec4 fUV;
    vec4 fModelColor;
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec3 Input_Normal;
attribute vec3 Input_Binormal;
attribute vec3 Input_Tangent;
attribute vec2 Input_UV;
attribute vec4 Input_Color;
varying vec4 _VSPS_Color;
varying vec2 _VSPS_UV;
varying vec3 _VSPS_WorldN;
varying vec3 _VSPS_WorldB;
varying vec3 _VSPS_WorldT;
varying vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    vec4 uv = CBVS0.fUV;
    vec4 modelColor = CBVS0.fModelColor * Input.Color;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0));
    vec4 localPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = CBVS0.mModel * localPos;
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.Color = modelColor;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV = outputUV;
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = CBVS0.mModel * localNormal;
    vec4 worldBinormal = CBVS0.mModel * localBinormal;
    vec4 worldTangent = CBVS0.mModel * localTangent;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_PosP = flattenTemp.PosP;
}

#version 300 es
#ifdef GL_ARB_shader_draw_parameters
#extension GL_ARB_shader_draw_parameters : enable
#endif

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
    uint Index;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec3 WorldN;
    vec3 WorldB;
    vec3 WorldT;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel_Inst[10];
    vec4 fUV[10];
    vec4 fModelColor[10];
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec3 Input_Normal;
layout(location = 2) in vec3 Input_Binormal;
layout(location = 3) in vec3 Input_Tangent;
layout(location = 4) in vec2 Input_UV;
layout(location = 5) in vec4 Input_Color;
#ifdef GL_ARB_shader_draw_parameters
#define SPIRV_Cross_BaseInstance gl_BaseInstanceARB
#else
uniform int SPIRV_Cross_BaseInstance;
#endif
centroid out vec4 _VSPS_Color;
centroid out vec2 _VSPS_UV;
out vec3 _VSPS_WorldN;
out vec3 _VSPS_WorldB;
out vec3 _VSPS_WorldT;
out vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    uint index = Input.Index;
    mat4 mModel = CBVS0.mModel_Inst[index];
    vec4 uv = CBVS0.fUV[index];
    vec4 modelColor = CBVS0.fModelColor[index] * Input.Color;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec4(0.0));
    vec4 localPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = localPos * mModel;
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.Color = modelColor;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV = outputUV;
    vec4 localNormal = vec4(Input.Normal.x, Input.Normal.y, Input.Normal.z, 0.0);
    vec4 localBinormal = vec4(Input.Binormal.x, Input.Binormal.y, Input.Binormal.z, 0.0);
    vec4 localTangent = vec4(Input.Tangent.x, Input.Tangent.y, Input.Tangent.z, 0.0);
    vec4 worldNormal = localNormal * mModel;
    vec4 worldBinormal = localBinormal * mModel;
    vec4 worldTangent = localTangent * mModel;
    worldNormal = normalize(worldNormal);
    worldBinormal = normalize(worldBinormal);
    worldTangent = normalize(worldTangent);
    Output.WorldN = worldNormal.xyz;
    Output.WorldB = worldBinormal.xyz;
    Output.WorldT = worldTangent.xyz;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    Input.Index = uint((gl_InstanceID + SPIRV_Cross_BaseInstance));
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_WorldN = flattenTemp.WorldN;
    _VSPS_WorldB = flattenTemp.WorldB;
    _VSPS_WorldT = flattenTemp.WorldT;
    _VSPS_PosP = flattenTemp.PosP;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec4 PosP;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_colorTex;

varying vec4 _VSPS_Color;
varying vec2 _VSPS_UV;
varying vec4 _VSPS_PosP;

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    vec4 param = texture2D(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    vec3 _175 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_175.x, _175.y, _175.z, Output.w);
    if (Output.w == 0.0)
    {
        discard;
    }
    vec4 param_2 = Output;
    bool param_3 = convertColorSpace;
    return ConvertToScreen(param_2, param_3);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.PosP = _VSPS_PosP;
    vec4 _213 = _main(Input);
    gl_FragData[0] = _213;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct PS_Input
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec4 PosP;
};

struct PS_ConstanBuffer
{
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 fFlipbookParameter;
    vec4 fUVDistortionParameter;
    vec4 fBlendTextureParameter;
    vec4 fCameraFrontDirection;
    vec4 fFalloffParameter;
    vec4 fFalloffBeginColor;
    vec4 fFalloffEndColor;
    vec4 fEmissiveScaling;
    vec4 fEdgeColor;
    vec4 fEdgeParameter;
    vec4 softParticleParam;
    vec4 reconstructionParam1;
    vec4 reconstructionParam2;
    vec4 mUVInversedBack;
    vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform sampler2D Sampler_sampler_colorTex;
uniform sampler2D Sampler_sampler_depthTex;

centroid in vec4 _VSPS_Color;
centroid in vec2 _VSPS_UV;
in vec4 _VSPS_PosP;
layout(location = 0) out vec4 _entryPointOutput;

vec3 PositivePow(vec3 base, vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

vec3 LinearToSRGB(vec3 c)
{
    vec3 param = c;
    vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

vec4 LinearToSRGB(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

vec4 ConvertFromSRGBTexture(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return LinearToSRGB(param);
}

float SoftParticle(float backgroundZ, float meshZ, vec4 softparticleParam, vec4 reconstruct1, vec4 reconstruct2)
{
    float distanceFar = softparticleParam.x;
    float distanceNear = softparticleParam.y;
    float distanceNearOffset = softparticleParam.z;
    vec2 rescale = reconstruct1.xy;
    vec4 params = reconstruct2;
    vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    float dir = sign(depth.x);
    depth *= dir;
    float alphaFar = (depth.x - depth.y) / distanceFar;
    float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

vec3 SRGBToLinear(vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

vec4 SRGBToLinear(vec4 c)
{
    vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

vec4 ConvertToScreen(vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    vec4 param = c;
    return SRGBToLinear(param);
}

vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    vec4 param = texture(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    vec3 _258 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_258.x, _258.y, _258.z, Output.w);
    vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        float param_2 = backgroundZ;
        float param_3 = screenPos.z;
        vec4 param_4 = CBPS0.softParticleParam;
        vec4 param_5 = CBPS0.reconstructionParam1;
        vec4 param_6 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_2, param_3, param_4, param_5, param_6);
    }
    if (Output.w == 0.0)
    {
        discard;
    }
    vec4 param_7 = Output;
    bool param_8 = convertColorSpace;
    return ConvertToScreen(param_7, param_8);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.PosP = _VSPS_PosP;
    vec4 _363 = _main(Input);
    _entryPointOutput = _363;
}


precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec2 UV;
    highp vec4 PosP;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform  sampler2D Sampler_sampler_colorTex;

varying  vec4 _VSPS_Color;
varying  vec2 _VSPS_UV;
varying  vec4 _VSPS_PosP;

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    highp vec4 param = texture2D(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    highp vec3 _175 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_175.x, _175.y, _175.z, Output.w);
    if (Output.w == 0.0)
    {
        discard;
    }
    highp vec4 param_2 = Output;
    bool param_3 = convertColorSpace;
    return ConvertToScreen(param_2, param_3);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.PosP = _VSPS_PosP;
    highp vec4 _213 = _main(Input);
    gl_FragData[0] = _213;
}

#version 300 es
precision mediump float;
precision highp int;

struct PS_Input
{
    highp vec4 PosVS;
    highp vec4 Color;
    highp vec2 UV;
    highp vec4 PosP;
};

struct PS_ConstanBuffer
{
    highp vec4 fLightDirection;
    highp vec4 fLightColor;
    highp vec4 fLightAmbient;
    highp vec4 fFlipbookParameter;
    highp vec4 fUVDistortionParameter;
    highp vec4 fBlendTextureParameter;
    highp vec4 fCameraFrontDirection;
    highp vec4 fFalloffParameter;
    highp vec4 fFalloffBeginColor;
    highp vec4 fFalloffEndColor;
    highp vec4 fEmissiveScaling;
    highp vec4 fEdgeColor;
    highp vec4 fEdgeParameter;
    highp vec4 softParticleParam;
    highp vec4 reconstructionParam1;
    highp vec4 reconstructionParam2;
    highp vec4 mUVInversedBack;
    highp vec4 miscFlags;
};

uniform PS_ConstanBuffer CBPS0;

uniform highp sampler2D Sampler_sampler_colorTex;
uniform highp sampler2D Sampler_sampler_depthTex;

centroid in highp vec4 _VSPS_Color;
centroid in highp vec2 _VSPS_UV;
in highp vec4 _VSPS_PosP;
layout(location = 0) out highp vec4 _entryPointOutput;

highp vec3 PositivePow(highp vec3 base, highp vec3 power)
{
    return pow(max(abs(base), vec3(1.1920928955078125e-07)), power);
}

highp vec3 LinearToSRGB(highp vec3 c)
{
    highp vec3 param = c;
    highp vec3 param_1 = vec3(0.4166666567325592041015625);
    return max((PositivePow(param, param_1) * 1.05499994754791259765625) - vec3(0.054999999701976776123046875), vec3(0.0));
}

highp vec4 LinearToSRGB(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(LinearToSRGB(param), c.w);
}

highp vec4 ConvertFromSRGBTexture(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return LinearToSRGB(param);
}

highp float SoftParticle(highp float backgroundZ, highp float meshZ, highp vec4 softparticleParam, highp vec4 reconstruct1, highp vec4 reconstruct2)
{
    highp float distanceFar = softparticleParam.x;
    highp float distanceNear = softparticleParam.y;
    highp float distanceNearOffset = softparticleParam.z;
    highp vec2 rescale = reconstruct1.xy;
    highp vec4 params = reconstruct2;
    highp vec2 zs = vec2((backgroundZ * rescale.x) + rescale.y, meshZ);
    highp vec2 depth = ((zs * params.w) - vec2(params.y)) / (vec2(params.x) - (zs * params.z));
    highp float dir = sign(depth.x);
    depth *= dir;
    highp float alphaFar = (depth.x - depth.y) / distanceFar;
    highp float alphaNear = (depth.y - distanceNearOffset) / distanceNear;
    return min(max(min(alphaFar, alphaNear), 0.0), 1.0);
}

highp vec3 SRGBToLinear(highp vec3 c)
{
    return min(c, c * ((c * ((c * 0.305306017398834228515625) + vec3(0.6821711063385009765625))) + vec3(0.01252287812530994415283203125)));
}

highp vec4 SRGBToLinear(highp vec4 c)
{
    highp vec3 param = c.xyz;
    return vec4(SRGBToLinear(param), c.w);
}

highp vec4 ConvertToScreen(highp vec4 c, bool isValid)
{
    if (!isValid)
    {
        return c;
    }
    highp vec4 param = c;
    return SRGBToLinear(param);
}

highp vec4 _main(PS_Input Input)
{
    bool convertColorSpace = !(CBPS0.miscFlags.x == 0.0);
    highp vec4 param = texture(Sampler_sampler_colorTex, Input.UV);
    bool param_1 = convertColorSpace;
    highp vec4 Output = ConvertFromSRGBTexture(param, param_1) * Input.Color;
    highp vec3 _258 = Output.xyz * CBPS0.fEmissiveScaling.x;
    Output = vec4(_258.x, _258.y, _258.z, Output.w);
    highp vec4 screenPos = Input.PosP / vec4(Input.PosP.w);
    highp vec2 screenUV = (screenPos.xy + vec2(1.0)) / vec2(2.0);
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = 1.0 - screenUV.y;
    screenUV.y = CBPS0.mUVInversedBack.x + (CBPS0.mUVInversedBack.y * screenUV.y);
    if (!(CBPS0.softParticleParam.w == 0.0))
    {
        highp float backgroundZ = texture(Sampler_sampler_depthTex, screenUV).x;
        highp float param_2 = backgroundZ;
        highp float param_3 = screenPos.z;
        highp vec4 param_4 = CBPS0.softParticleParam;
        highp vec4 param_5 = CBPS0.reconstructionParam1;
        highp vec4 param_6 = CBPS0.reconstructionParam2;
        Output.w *= SoftParticle(param_2, param_3, param_4, param_5, param_6);
    }
    if (Output.w == 0.0)
    {
        discard;
    }
    highp vec4 param_7 = Output;
    bool param_8 = convertColorSpace;
    return ConvertToScreen(param_7, param_8);
}

void main()
{
    PS_Input Input;
    Input.PosVS = gl_FragCoord;
    Input.Color = _VSPS_Color;
    Input.UV = _VSPS_UV;
    Input.PosP = _VSPS_PosP;
    highp vec4 _363 = _main(Input);
    _entryPointOutput = _363;
}

#version 120
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel;
    vec4 fUV;
    vec4 fModelColor;
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec3 Input_Normal;
attribute vec3 Input_Binormal;
attribute vec3 Input_Tangent;
attribute vec2 Input_UV;
attribute vec4 Input_Color;
varying vec4 _VSPS_Color;
varying vec2 _VSPS_UV;
varying vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    vec4 uv = CBVS0.fUV;
    vec4 modelColor = CBVS0.fModelColor * Input.Color;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec4(0.0));
    vec4 localPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = CBVS0.mModel * localPos;
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.Color = modelColor;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV = outputUV;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_PosP = flattenTemp.PosP;
}

#version 330
#ifdef GL_ARB_shading_language_420pack
#extension GL_ARB_shading_language_420pack : require
#endif
#ifdef GL_ARB_shader_draw_parameters
#extension GL_ARB_shader_draw_parameters : enable
#endif

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
    uint Index;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel_Inst[10];
    vec4 fUV[10];
    vec4 fModelColor[10];
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec3 Input_Normal;
layout(location = 2) in vec3 Input_Binormal;
layout(location = 3) in vec3 Input_Tangent;
layout(location = 4) in vec2 Input_UV;
layout(location = 5) in vec4 Input_Color;
#ifdef GL_ARB_shader_draw_parameters
#define SPIRV_Cross_BaseInstance gl_BaseInstanceARB
#else
uniform int SPIRV_Cross_BaseInstance;
#endif
centroid out vec4 _VSPS_Color;
centroid out vec2 _VSPS_UV;
out vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    uint index = Input.Index;
    mat4 mModel = CBVS0.mModel_Inst[index];
    vec4 uv = CBVS0.fUV[index];
    vec4 modelColor = CBVS0.fModelColor[index] * Input.Color;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec4(0.0));
    vec4 localPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = localPos * mModel;
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.Color = modelColor;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV = outputUV;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    Input.Index = uint((gl_InstanceID + SPIRV_Cross_BaseInstance));
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_PosP = flattenTemp.PosP;
}



struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel;
    vec4 fUV;
    vec4 fModelColor;
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

attribute vec3 Input_Pos;
attribute vec3 Input_Normal;
attribute vec3 Input_Binormal;
attribute vec3 Input_Tangent;
attribute vec2 Input_UV;
attribute vec4 Input_Color;
varying vec4 _VSPS_Color;
varying vec2 _VSPS_UV;
varying vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    vec4 uv = CBVS0.fUV;
    vec4 modelColor = CBVS0.fModelColor * Input.Color;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec4(0.0));
    vec4 localPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = CBVS0.mModel * localPos;
    Output.PosVS = CBVS0.mCameraProj * worldPos;
    Output.Color = modelColor;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV = outputUV;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_PosP = flattenTemp.PosP;
}

#version 300 es
#ifdef GL_ARB_shader_draw_parameters
#extension GL_ARB_shader_draw_parameters : enable
#endif

struct VS_Input
{
    vec3 Pos;
    vec3 Normal;
    vec3 Binormal;
    vec3 Tangent;
    vec2 UV;
    vec4 Color;
    uint Index;
};

struct VS_Output
{
    vec4 PosVS;
    vec4 Color;
    vec2 UV;
    vec4 PosP;
};

struct VS_ConstantBuffer
{
    mat4 mCameraProj;
    mat4 mModel_Inst[10];
    vec4 fUV[10];
    vec4 fModelColor[10];
    vec4 fLightDirection;
    vec4 fLightColor;
    vec4 fLightAmbient;
    vec4 mUVInversed;
};

uniform VS_ConstantBuffer CBVS0;

layout(location = 0) in vec3 Input_Pos;
layout(location = 1) in vec3 Input_Normal;
layout(location = 2) in vec3 Input_Binormal;
layout(location = 3) in vec3 Input_Tangent;
layout(location = 4) in vec2 Input_UV;
layout(location = 5) in vec4 Input_Color;
#ifdef GL_ARB_shader_draw_parameters
#define SPIRV_Cross_BaseInstance gl_BaseInstanceARB
#else
uniform int SPIRV_Cross_BaseInstance;
#endif
centroid out vec4 _VSPS_Color;
centroid out vec2 _VSPS_UV;
out vec4 _VSPS_PosP;

VS_Output _main(VS_Input Input)
{
    uint index = Input.Index;
    mat4 mModel = CBVS0.mModel_Inst[index];
    vec4 uv = CBVS0.fUV[index];
    vec4 modelColor = CBVS0.fModelColor[index] * Input.Color;
    VS_Output Output = VS_Output(vec4(0.0), vec4(0.0), vec2(0.0), vec4(0.0));
    vec4 localPos = vec4(Input.Pos.x, Input.Pos.y, Input.Pos.z, 1.0);
    vec4 worldPos = localPos * mModel;
    Output.PosVS = worldPos * CBVS0.mCameraProj;
    Output.Color = modelColor;
    vec2 outputUV = Input.UV;
    outputUV.x = (outputUV.x * uv.z) + uv.x;
    outputUV.y = (outputUV.y * uv.w) + uv.y;
    outputUV.y = CBVS0.mUVInversed.x + (CBVS0.mUVInversed.y * outputUV.y);
    Output.UV = outputUV;
    Output.PosP = Output.PosVS;
    return Output;
}

void main()
{
    VS_Input Input;
    Input.Pos = Input_Pos;
    Input.Normal = Input_Normal;
    Input.Binormal = Input_Binormal;
    Input.Tangent = Input_Tangent;
    Input.UV = Input_UV;
    Input.Color = Input_Color;
    Input.Index = uint((gl_InstanceID + SPIRV_Cross_BaseInstance));
    VS_Output flattenTemp = _main(Input);
    gl_Position = flattenTemp.PosVS;
    _VSPS_Color = flattenTemp.Color;
    _VSPS_UV = flattenTemp.UV;
    _VSPS_PosP = flattenTemp.PosP;
}

???P8?p8??:?p]??d?p~??|?CBVS0.mModel_InstCBVS0.mModelCBVS0.fUVCBVS0.fAlphaUVCBVS0.fUVDistortionUVCBVS0.fBlendUVCBVS0.fBlendAlphaUVCBVS0.fBlendUVDistortionUVCBVS0.fFlipbookIndexAndNextRateCBVS0.fModelAlphaThresholdCBVS0.fModelColorCBVS0.fLightDirectionCBVS0.fLightColorCBVS0.fLightAmbientModelRendererLitAdModelRendererUnlitAdModelRendererDistAdModelRendererLitModelRendererUnlitModelRendererDitInput_Binormal#version 330
#define lowp
#define mediump
#define highp
#define IN in
#define CENTROID centroid
#define TEX2D textureLod
#define OUT out
#version 330
#define lowp
#define mediump
#define highp
#define IN in
#define CENTROID centroid
#define TEX2D texture
layout (location = 0) out vec4 FRAGCOLOR;
#version 300 es
#define IN in
#define CENTROID centroid
#define TEX2D textureLod
#define OUT out
#version 300 es
precision highp float;
#define IN in
#define CENTROID centroid
#define TEX2D texture
layout (location = 0) out vec4 FRAGCOLOR;

#define EFK__INSTANCING_DISABLED__ 1
#define EFK__OPENGL2__ 1
#define IN attribute
#define CENTROID
#define TEX2D texture2DLod
#define OUT varying
precision highp float;
#define EFK__OPENGL2__ 1
#define IN varying
#define CENTROID
#define TEX2D texture2D
#define FRAGCOLOR gl_FragColor
#version 120
#define EFK__INSTANCING_DISABLED__ 1
#define EFK__OPENGL2__ 1
#define lowp
#define mediump
#define highp
#define IN attribute
#define CENTROID
#define TEX2D texture2DLod
#define OUT varying
#version 120
#define EFK__OPENGL2__ 1
#define lowp
#define mediump
#define highp
#define IN varying
#define CENTROID
#define TEX2D texture2D
#define FRAGCOLOR gl_FragColor
0??P;?????????|??Є?0?????p?????`??SPIRV_Cross_BaseInstance???????????Ƚ????`??????????@p? p?0p?p?????
???
?Џ????j??l???Г???@????????????j??l?H?????
vec3 GetLightDirection() {
	return vec3(0,0,0);
}
vec3 GetLightColor() {
	return vec3(0,0,0);
}
vec3 GetLightAmbientColor() {
	return vec3(0,0,0);
}

vec3 GetLightDirection() {
	return lightDirection.xyz;
}
vec3 GetLightColor() {
	return lightColor.xyz;
}
vec3 GetLightAmbientColor() {
	return lightAmbientColor.xyz;
}

#version 450
#define LAYOUT(ind) layout(location = ind)
#define lowp
#define mediump
#define highp
#define IN in
#define OUT out
#define CENTROID centroid


#define LAYOUT(ind) 

#define MOD mod
#define FRAC fract
#define LERP mix
#define float2 vec2
#define float3 vec3
#define float4 vec4
#define half2 vec2
#define half3 vec3
#define half4 vec4
#define int2 ivec2
#define int3 ivec3
#define int4 ivec4

float atan2(in float y, in float x) {
    return x == 0.0 ? sign(y)* 3.141592 / 2.0 : atan(y, x);
}




// Dummy
float CalcDepthFade(vec2 screenUV, float meshZ, float softParticleParam) { return 1.0; }


#define TEX2D textureLod



#define TEX2D texture



LAYOUT(0) IN vec4 a_Position;
LAYOUT(1) IN vec3 a_Normal;
LAYOUT(2) IN vec3 a_Binormal;
LAYOUT(3) IN vec3 a_Tangent;
LAYOUT(4) IN vec2 a_TexCoord;
LAYOUT(5) IN vec4 a_Color;


LAYOUT(0) CENTROID OUT lowp vec4 v_VColor;
LAYOUT(1) CENTROID OUT mediump vec2 v_UV1;
LAYOUT(2) CENTROID OUT mediump vec2 v_UV2;
LAYOUT(3) OUT mediump vec4 v_WorldN_PX;
LAYOUT(4) OUT mediump vec4 v_WorldB_PY;
LAYOUT(5) OUT mediump vec4 v_WorldT_PZ;
LAYOUT(6) OUT mediump vec4 v_PosP;
//$C_OUT1$
//$C_OUT2$

uniform mat4 ProjectionMatrix;

#ifdef EFK__INSTANCING_DISABLED__

uniform mat4 ModelMatrix;
uniform vec4 UVOffset;
uniform vec4 ModelColor;

#else

uniform mat4 ModelMatrix[_INSTANCE_COUNT_];
uniform vec4 UVOffset[_INSTANCE_COUNT_];
uniform vec4 ModelColor[_INSTANCE_COUNT_];

#endif

uniform vec4 mUVInversed;
uniform vec4 predefined_uniform;
uniform vec4 cameraPosition;


vec2 GetUV(vec2 uv)
{
	uv.y = mUVInversed.x + mUVInversed.y * uv.y;
	return uv;
}

vec2 GetUVBack(vec2 uv)
{
	uv.y = mUVInversed.z + mUVInversed.w * uv.y;
	return uv;
}


void main()
{
#ifdef EFK__INSTANCING_DISABLED__
	mat4 modelMatrix = ModelMatrix;
	vec4 uvOffset = UVOffset;
	vec4 modelColor = ModelColor * a_Color;
#else
	mat4 modelMatrix = ModelMatrix[int(gl_InstanceID)];
	vec4 uvOffset = UVOffset[int(gl_InstanceID)];
	vec4 modelColor = ModelColor[int(gl_InstanceID)] * a_Color;
#endif

	mat3 modelMatRot = mat3(modelMatrix);
	vec3 worldPos = (modelMatrix * a_Position).xyz;
	vec3 worldNormal = normalize(modelMatRot * a_Normal);
	vec3 worldBinormal = normalize(modelMatRot * a_Binormal);
	vec3 worldTangent = normalize(modelMatRot * a_Tangent);
	vec3 objectScale = vec3(1.0, 1.0, 1.0);

	// Calculate ObjectScale
	objectScale.x = length(modelMatRot * vec3(1.0, 0.0, 0.0));
	objectScale.y = length(modelMatRot * vec3(0.0, 1.0, 0.0));
	objectScale.z = length(modelMatRot * vec3(0.0, 0.0, 1.0));

	// UV
	vec2 uv1 = a_TexCoord.xy * uvOffset.zw + uvOffset.xy;
	vec2 uv2 = a_TexCoord.xy;

	//uv1.y = mUVInversed.x + mUVInversed.y * uv1.y;
	//uv1.y = mUVInversed.x + mUVInversed.y * uv1.y;

	vec3 pixelNormalDir = worldNormal;
	
	vec4 vcolor = modelColor;

	// Dummy
	vec2 screenUV = vec2(0.0, 0.0);
	float meshZ = 0.0;


	worldPos = worldPos + worldPositionOffset;

	v_WorldN_PX.w = worldPos.x;
	v_WorldB_PY.w = worldPos.y;
	v_WorldT_PZ.w = worldPos.z;
	v_WorldN_PX.xyz = worldNormal;
	v_WorldB_PY.xyz = worldBinormal;
	v_WorldT_PZ.xyz = worldTangent;
	v_UV1 = uv1;
	v_UV2 = uv2;
	v_VColor = vcolor;
	gl_Position = ProjectionMatrix * vec4(worldPos, 1.0);
//	v_ScreenUV.xy = gl_Position.xy / gl_Position.w;
//	v_ScreenUV.xy = vec2(v_ScreenUV.x + 1.0, v_ScreenUV.y + 1.0) * 0.5;

	v_PosP = gl_Position;

	#ifdef _Y_INVERTED_
	gl_Position.y = - gl_Position.y;
	#endif
}


LAYOUT(0) IN vec4 atPosition;
LAYOUT(1) IN vec4 atColor;
LAYOUT(2) IN vec4 atTexCoord;

LAYOUT(0) CENTROID OUT lowp vec4 v_VColor;
LAYOUT(1) CENTROID OUT mediump vec2 v_UV1;
LAYOUT(2) CENTROID OUT mediump vec2 v_UV2;
LAYOUT(3) OUT mediump vec4 v_WorldN_PX;
LAYOUT(4) OUT mediump vec4 v_WorldB_PY;
LAYOUT(5) OUT mediump vec4 v_WorldT_PZ;
LAYOUT(6) OUT mediump vec4 v_PosP;

uniform mat4 uMatCamera;
uniform mat4 uMatProjection;
uniform vec4 mUVInversed;
uniform vec4 predefined_uniform;
uniform vec4 cameraPosition;



LAYOUT(0) IN vec4 atPosition;
LAYOUT(1) IN vec4 atColor;
LAYOUT(2) IN vec3 atNormal;
LAYOUT(3) IN vec3 atTangent;
LAYOUT(4) IN vec2 atTexCoord;
LAYOUT(5) IN vec2 atTexCoord2;
//$C_IN1$
//$C_IN2$

LAYOUT(0) CENTROID OUT lowp vec4 v_VColor;
LAYOUT(1) CENTROID OUT mediump vec2 v_UV1;
LAYOUT(2) CENTROID OUT mediump vec2 v_UV2;
LAYOUT(3) OUT mediump vec4 v_WorldN_PX;
LAYOUT(4) OUT mediump vec4 v_WorldB_PY;
LAYOUT(5) OUT mediump vec4 v_WorldT_PZ;
LAYOUT(6) OUT mediump vec4 v_PosP;
//$C_OUT1$
//$C_OUT2$

uniform mat4 uMatCamera;
uniform mat4 uMatProjection;
uniform vec4 mUVInversed;
uniform vec4 predefined_uniform;
uniform vec4 cameraPosition;



vec2 GetUV(vec2 uv)
{
	uv.y = mUVInversed.x + mUVInversed.y * uv.y;
	return uv;
}

vec2 GetUVBack(vec2 uv)
{
	uv.y = mUVInversed.z + mUVInversed.w * uv.y;
	return uv;
}

void main() {
	vec3 worldPos = atPosition.xyz;
	vec3 objectScale = vec3(1.0, 1.0, 1.0);

	// Dummy
	vec2 screenUV = vec2(0.0, 0.0);
	float meshZ = 0.0;

	// UV
	vec2 uv1 = atTexCoord.xy;
	//uv1.y = mUVInversed.x + mUVInversed.y * uv1.y;
	vec2 uv2 = uv1;

	// NBT
	vec3 worldNormal = vec3(0.0, 0.0, 0.0);
	vec3 worldBinormal = vec3(0.0, 0.0, 0.0);
	vec3 worldTangent = vec3(0.0, 0.0, 0.0);
	v_WorldN_PX.xyz = worldNormal;
	v_WorldB_PY.xyz = worldBinormal;
	v_WorldT_PZ.xyz = worldTangent;

	vec3 pixelNormalDir = worldNormal;
	vec4 vcolor = atColor;


vec2 GetUV(vec2 uv)
{
	uv.y = mUVInversed.x + mUVInversed.y * uv.y;
	return uv;
}

vec2 GetUVBack(vec2 uv)
{
	uv.y = mUVInversed.z + mUVInversed.w * uv.y;
	return uv;
}

void main() {
	vec3 worldPos = atPosition.xyz;
	vec3 objectScale = vec3(1.0, 1.0, 1.0);

	// Dummy
	vec2 screenUV = vec2(0.0, 0.0);
	float meshZ = 0.0;

	// UV
	vec2 uv1 = atTexCoord.xy;
	//uv1.y = mUVInversed.x + mUVInversed.y * uv1.y;
	vec2 uv2 = atTexCoord2.xy;
	//uv2.y = mUVInversed.x + mUVInversed.y * uv2.y;

	// NBT
	vec3 worldNormal = (atNormal - vec3(0.5, 0.5, 0.5)) * 2.0;
	vec3 worldTangent = (atTangent - vec3(0.5, 0.5, 0.5)) * 2.0;
	vec3 worldBinormal = cross(worldNormal, worldTangent);

	v_WorldN_PX.xyz = worldNormal;
	v_WorldB_PY.xyz = worldBinormal;
	v_WorldT_PZ.xyz = worldTangent;
	vec3 pixelNormalDir = worldNormal;
	vec4 vcolor = atColor;

	worldPos = worldPos + worldPositionOffset;

	vec4 cameraPos = uMatCamera * vec4(worldPos, 1.0);
	cameraPos = cameraPos / cameraPos.w;

	gl_Position = uMatProjection * cameraPos;

	v_WorldN_PX.w = worldPos.x;
	v_WorldB_PY.w = worldPos.y;
	v_WorldT_PZ.w = worldPos.z;
	v_VColor = vcolor;

	v_UV1 = uv1;
	v_UV2 = uv2;
	//v_ScreenUV.xy = gl_Position.xy / gl_Position.w;
	//v_ScreenUV.xy = vec2(v_ScreenUV.x + 1.0, v_ScreenUV.y + 1.0) * 0.5;

	v_PosP = gl_Position;

	#ifdef _Y_INVERTED_
	gl_Position.y = - gl_Position.y;
	#endif
}



LAYOUT(0) CENTROID IN lowp vec4 v_VColor;
LAYOUT(1) CENTROID IN mediump vec2 v_UV1;
LAYOUT(2) CENTROID IN mediump vec2 v_UV2;
LAYOUT(3) IN mediump vec4 v_WorldN_PX;
LAYOUT(4) IN mediump vec4 v_WorldB_PY;
LAYOUT(5) IN mediump vec4 v_WorldT_PZ;
LAYOUT(6) IN mediump vec4 v_PosP;
//$C_PIN1$
//$C_PIN2$



uniform vec4 mUVInversedBack;
uniform vec4 predefined_uniform;
uniform vec4 cameraPosition;
uniform vec4 reconstructionParam1;
uniform vec4 reconstructionParam2;



vec2 GetUV(vec2 uv)
{
	uv.y = mUVInversedBack.x + mUVInversedBack.y * uv.y;
	return uv;
}

vec2 GetUVBack(vec2 uv)
{
	uv.y = mUVInversedBack.z + mUVInversedBack.w * uv.y;
	return uv;
}

float CalcDepthFade(vec2 screenUV, float meshZ, float softParticleParam)
{
	float backgroundZ = TEX2D(efk_depth, GetUVBack(screenUV)).x;

	float distance = softParticleParam * predefined_uniform.y;
	vec2 rescale = reconstructionParam1.xy;
	vec4 params = reconstructionParam2;

	vec2 zs = vec2(backgroundZ * rescale.x + rescale.y, meshZ);

	vec2 depth = (zs * params.w - params.y) / (params.x - zs * params.z);
	float dir = sign(depth.x);
	depth *= dir;
	return min(max((depth.x - depth.y) / distance, 0.0), 1.0);
}

#ifdef _MATERIAL_LIT_

const float lightScale = 3.14;

float saturate(float v)
{
	return max(min(v, 1.0), 0.0);
}

float calcD_GGX(float roughness, float dotNH)
{
	float alpha = roughness*roughness;
	float alphaSqr = alpha*alpha;
	float pi = 3.14159;
	float denom = dotNH * dotNH *(alphaSqr-1.0) + 1.0;
	return (alpha / denom) * (alpha / denom) / pi;
}

float calcF(float F0, float dotLH)
{
	float dotLH5 = pow(1.0-dotLH,5.0);
	return F0 + (1.0-F0)*(dotLH5);
}

float calcG_Schlick(float roughness, float dotNV, float dotNL)
{
	// UE4
	float k = (roughness + 1.0) * (roughness + 1.0) / 8.0;
	// float k = roughness * roughness / 2.0;

	float gV = dotNV*(1.0 - k) + k;
	float gL = dotNL*(1.0 - k) + k;

	return 1.0 / (gV * gL);
}

float calcLightingGGX(vec3 N, vec3 V, vec3 L, float roughness, float F0)
{
	vec3 H = normalize(V+L);

	float dotNL = saturate( dot(N,L) );
	float dotLH = saturate( dot(L,H) );
	float dotNH = saturate( dot(N,H) ) - 0.001;
	float dotNV = saturate( dot(N,V) ) + 0.001;

	float D = calcD_GGX(roughness, dotNH);
	float F = calcF(F0, dotLH);
	float G = calcG_Schlick(roughness, dotNV, dotNL);

	return dotNL * D * F * G / 4.0;
}

vec3 calcDirectionalLightDiffuseColor(vec3 diffuseColor, vec3 normal, vec3 lightDir, float ao)
{
	vec3 color = vec3(0.0,0.0,0.0);

	float NoL = dot(normal,lightDir);
	color.xyz = lightColor.xyz * lightScale * max(NoL,0.0) * ao / 3.14;
	color.xyz = color.xyz * diffuseColor.xyz;
	return color;
}

#endif

void main()
{
	vec2 uv1 = v_UV1;
	vec2 uv2 = v_UV2;
	vec3 worldPos = vec3(v_WorldN_PX.w, v_WorldB_PY.w, v_WorldT_PZ.w);
	vec3 worldNormal = v_WorldN_PX.xyz;
	vec3 worldTangent = v_WorldT_PZ.xyz;
	vec3 worldBinormal = v_WorldB_PY.xyz;
	vec3 pixelNormalDir = worldNormal;
	vec4 vcolor = v_VColor;
	vec3 objectScale = vec3(1.0, 1.0, 1.0);

	vec2 screenUV = v_PosP.xy / v_PosP.w;
	float meshZ =   v_PosP.z / v_PosP.w;
	screenUV.xy = vec2(screenUV.x + 1.0, screenUV.y + 1.0) * 0.5;

#ifdef _SCREEN_FLIPPED_
	screenUV.y = 1.0 - screenUV.y;
#endif


	vec3 viewDir = normalize(cameraPosition.xyz - worldPos);
	vec3 diffuse = calcDirectionalLightDiffuseColor(baseColor, pixelNormalDir, lightDirection.xyz, ambientOcclusion);
	vec3 specular = lightColor.xyz * lightScale * calcLightingGGX(pixelNormalDir, viewDir, lightDirection.xyz, roughness, 0.9);

	vec4 Output =  vec4(metallic * specular + (1.0 - metallic) * diffuse + baseColor * lightAmbientColor.xyz * ambientOcclusion, opacity);
	Output.xyz = Output.xyz + emissive.xyz;

	if(opacityMask <= 0.0) discard;
	if(opacity <= 0.0) discard;

	FRAGCOLOR = ConvertToScreen(Output);
}



	if(opacityMask <= 0.0) discard;
	if(opacity <= 0.0) discard;

	FRAGCOLOR = ConvertToScreen(vec4(emissive, opacity));
}


	float airRefraction = 1.0;

	vec3 dir = mat3(cameraMat) * pixelNormalDir;
	vec2 distortUV = dir.xy * (refraction - airRefraction);

	distortUV += screenUV;
	distortUV = GetUVBack(distortUV);	

	vec4 bg = TEX2D(efk_background, distortUV);
	FRAGCOLOR = bg;

	if(opacityMask <= 0.0) discard;
	if(opacity <= 0.0) discard;
}

vec2vec3vec4uniform ) uniform sampler2D , binding = layout(set = layout(binding = uniform sampler2D #define FRAGCOLOR out_flagColorlayout(location = 0) out vec4 out_flagColor; customData1 = atCustomData1;
#ifndef EFK__INSTANCING_DISABLED__ customData1 = customData1s[int(gl_InstanceID)];
v_CustomData1 = customData1 customData2 = atCustomData2;
 customData2 = customData2s[int(gl_InstanceID)];
v_CustomData2 = customData2 customData1 = v_CustomData1;
 customData2 = v_CustomData2;
#define _Y_INVERTED_ 1#define _SCREEN_FLIPPED_ 1#define _INSTANCE_COUNT_ #define gl_InstanceID gl_InstanceIndexlayout(set = 0, binding = 0) uniform Block {layout(set = 1, binding = 0) uniform Block {layout(binding = 0) uniform Block {

#ifdef EFK__INSTANCING_DISABLED__
uniform vec4 customData1;
#else
uniform vec4 customData1s[_INSTANCE_COUNT_];
#endif


#ifdef EFK__INSTANCING_DISABLED__
uniform vec4 customData2;
#else
uniform vec4 customData2s[_INSTANCE_COUNT_];
#endif
= vec4(0,0,0,0);mod,GetUV(TEX2D(), 0.0)vec4( atCustomData1;IN ) LAYOUT( v_CustomData1;OUT mediump IN mediump  atCustomData2; v_CustomData2;ؾ???
???
???
?09	???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
?X???j??l???`9	?0?	??	???	??	??x	?@?	?Ѓ	?@?	?@?	?`?	???	?С	? ?	???	?@?	??	?@{	?И	??	???	?z	?P?	?0?	???	???	?Ч	???	?P?	??	??	??~	?P?	?py	?P?	? ?	???	???	??	??e	??{	??	?y	??}	?`?	??~	?М	?~	???	???	??9	?@?	???	??	?p?	???	?0?	??y	?З	??	?0w	?`?	???	? ?	??	???	??	?p?	?@?	??	??}	??	??{	???	???	???	??	???	??	???	?P?	?@?	?f	?p?	?`?	?`<	?p`	???	?0?	??K	??O	? S	?0W	?pY	?P\	?`|	???	?0?	?`x	???	??y	? z	??z	?0?	?0?	?`?	???????j??l?H??9	???? ?	? ?	???	?p?	?0<?P<?8??`?	?`?	??	???	???	?P<????@?	?@?	???	???	???	?P<?pB???}????????8??P8?p8??:???	?`??P8?p8??:? 7?0???;??????????P8?p8??:??	?p??P8?p8??:???	??	??
??	??-
??<
??
??
????P8?p8??:???	?`??P8?p8??:?`6???	?P?	??;?0??P8?p8??:? 7??-
??
?P
??-
??<
??
??
?x????
???
???
??
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
????0
?????j??l????
??
?d
??
??
??
??
??
?p
??
?
??
??
??
?`
??
??
?0
?P
??
?p
??
?
??
??
??
?@
?`
??
?
?0
?f
?e
?c
?b
?a
?d
??H
?G
? K
?pw
??
?p
??
???????????j??l?H???
?Default????w
??w
??w
??x
??w
?P<??????????">??@?A?B4D??E?G0?H|]J@EL??????
???
???
???
?0<?P<?????
??
? ?
?0?
?0<?P<???@?
?@?
?`?
?p?
?0<?P<?X??P8?p8??:? ?
?`?
???
?0?
?Ѝ
????P8?p8??:?p?
???
???
???
?0?
?Ѝ
?rbwb???7?5?7?5?7?5?7?5vector too long?@?@?@??@@@@@@@@????x??P8?p8??:??
????j??l???0?
???@????????????j??l?H??$?
???????A??F??????7??
?0
?p
???????P"?w???B??????????????????????????????????@??P<? ??????????????w
?P<???? ?? ??????0<?P<? ??????p??????w
?P<????????????????P??P<??7?5?I@?C?D???????????????P8?p8??:?p???P????$???
???
???
???
???
???
???
???
???
???
???
?x?????H?????????$??i????0p?@A?A?=??[?PA??2??B?P?Y?P;?P;?P;?P;?P;?P;?P;?P;????0%??i? C?0p?@A?A?=??[?
??2??B?P? 
?
?P;?P;?
??
?P;??
?P
?X???%??i?0C?0p?@A?A?=??[?PA??2??B?P?%
??
?` 
?#
?'
??"
?P;?`#
??)
???0&??i?@C?0p?@A?A?=??[?PA??2??B?P??2
?P*
?P;?P;??@
??+
?P;??.
??D
?????&??i?PC?0p?@A?A?=??[?PA??2??B?P?L
?H
?P;?P;?pO
?J
?P;?`J
?0S
????P'??i?`C?0p?@A?A?=??[?PA??2??B?P??Z
?T
??U
??X
??\
?PX
??Y
?0Y
??_
?8???$??i????0p?@A?A?=??[?PA??2??B?P?Y?P;?P;?P;?P;?P;?P;?P;?P;?8??P;????$???????????????3??? A@A?@?@?@?@?g;?g?>?.?>?.:?/?h?ff??333@0A???=??>>>?????:???:???:???@?@?@?@AAAA A A A ApApApApADDDD(B????????????????????????????????bad allocation???8??c
?bad function call8??8? F????8? F?@??8? F?(



 
!''2?57CPR
Wm no&py?{???)???&?'??i?
??????a	d	)''	'
'&'('3'?4'p5'g6'?7'm8's9'?:'{;'?='??'f@'dA'eB'tC'vD'uE'jF'lG'wH'qI'~L'?M'kO'&Q'n??f??d(??e8??qP??h??!??????	???h??? к?j??g???k??l0??H??m`?????)??????Ȼ?ػ?&??(??n??o0??*H??`??????????????м?s??t??u??v??w(??
8??yP??'X??xp??z???{??????|Ƚ???????0??@???P??}`??~p?????????i???p???ؾ???????? ??
0???H???X??p??$??????"ȿ?????????????(??H??`??rp??????????successaddress family not supportedaddress in useaddress not availablealready connectedargument list too longargument out of domainbad addressbad file descriptorbad messagebroken pipeconnection abortedconnection already in progressconnection refusedconnection resetcross device linkdestination address requireddevice or resource busydirectory not emptyexecutable format errorfile existsfile too largefilename too longfunction not supportedhost unreachableidentifier removedillegal byte sequenceinappropriate io control operationinterruptedinvalid argumentinvalid seekio erroris a directorymessage sizenetwork downnetwork resetnetwork unreachableno buffer spaceno child processno linkno lock availableno message availableno messageno protocol optionno space on deviceno stream resourcesno such device or addressno such deviceno such file or directoryno such processnot a directorynot a socketnot a streamnot connectednot enough memorynot supportedoperation canceledoperation in progressoperation not permittedoperation not supportedoperation would blockowner deadpermission deniedprotocol errorprotocol not supportedread only file systemresource deadlock would occurresource unavailable try againresult out of rangestate not recoverablestream timeouttext file busytimed outtoo many files open in systemtoo many files opentoo many linkstoo many symbolic link levelsvalue too largewrong protocol typeunknown error???e
? >? <?*CX??\q
?Xu
?tu
??v
?x
????~
??{
?l~
??
??y
??z
?<{
??{
?pv
?@??0?? >? <??
? v
? v
?(v
?(v
?`v
?Dv
???????????????0?????ؾ???????$????7??
?І
??@??A?B?generickernel32.dllGetCurrentPackageIdGetSystemTimePreciseAsFileTimeGetTempPath2W--??0123456789abcdefghijklmnopqrstuvwxyz!


					0123456789abcdefghijklmnopqrstuvwxyzA)!





X????
? ?????????????????????)? ?)? ???
????8? F?bad exceptionp???????????	???
???
??????	??????	??	??	 ??(??
8??H??	V?T??`??h??l??p??t??x??|?????????????????????????????????????????????????????????????????????????????????????????????????????	??	(??0??@??X??h???????????????? ??#H??h?? ??????&????????????(??#L??X??	h??x????????%???$??%0??+`????? ???"???(??*0??P??`??x??V????????????????V????????????????X????__based(__cdecl__pascal__stdcall__thiscall__fastcall__vectorcall__clrcall__eabi__swift_1__swift_2__swift_3__ptr64__restrict__unalignedrestrict( new delete=>><<!==!=[]operator->++--+&->*/%<<=>>=,()~^|&&||*=+=-=/=%=>>=<<=&=|=^=`vftable'`vbtable'`vcall'`typeof'`local static guard'`string'`vbase destructor'`vector deleting destructor'`default constructor closure'`scalar deleting destructor'`vector constructor iterator'`vector destructor iterator'`vector vbase constructor iterator'`virtual displacement map'`eh vector constructor iterator'`eh vector destructor iterator'`eh vector vbase constructor iterator'`copy constructor closure'`udt returning'`EH`RTTI`local vftable'`local vftable constructor closure' new[] delete[]`omni callsig'`placement delete closure'`placement delete[] closure'`managed vector constructor iterator'`managed vector destructor iterator'`eh vector copy constructor iterator'`eh vector vbase copy constructor iterator'`dynamic initializer for '`dynamic atexit destructor for '`vector copy constructor iterator'`vector vbase copy constructor iterator'`managed vector copy constructor iterator'`local static thread guard'operator "" operator co_awaitoperator<=> Type Descriptor' Base Class Descriptor at ( Base Class Array' Class Hierarchy Descriptor' Complete Object Locator'`anonymous namespace'H????????api-ms-win-core-fibers-l1-1-1api-ms-win-core-synch-l1-2-0kernel32api-ms-FlsAllocFlsFreeFlsGetValueFlsSetValueInitializeCriticalSectionExacosfk΁;\3&??<݋g=ܔ<>
V??o??-DT?!??-DT?!	@??[????????m0_??UUUUUU??-DT?!??@T?!??1cba??=`a??=sp.??;??A`?!?A???????????????? ??O??????????????????????????????m0_?????m0_??@T?!??@T?!??UUUUUU??UUUUUU??1cba??=1cba??=`a??=`a??=sp.??;sp.??;????-DT?!??-DT?!??-DT?!??-DT?!?? ? ???????pA??nA????Osqrtf(null)(null)	UUUUUU???9??B.??C.V@??Y??9??B.??UUUUUU??????@???ƺ???????]?4?^m???P?El??Aд?%@??
Y?_?q???s?$???K??Wk????J?????????6?????\g??o#?-
?????i??????H?????fy??A)??:v?`Y?????Z???%??:0???1??????AT?q??U}???G??[ؿb&w???EiUL??????O???䧆?0???*?2???^‹a???	@?????xw?_???j`2????-?-????cҭâH??lZEwv??????*????	X?????ԓ?p0????ǹ?,????s?Y????Ȇ??>?5"?????+?????6?x?B
??л??9????9Nf???G?_??????7
޾??ï?;?????Ԡ??????B???3??n??[B??3?????Xȷ????b6????>?E?g???!?G??XQA?r?????????c?k???L???#??????d???
??@H????k??r??J??????X????kxG2)???[????c??{?D??^?/?%???TY,>5??????j??????????&l|?$??wh?qL?????aBt???a?e??????Fҙ?????@? ?????_???\???9???(p?#a??ž?6J????x?X???r? O?????W.?????%?????Х?R%??;c??8???&???K???E&?_??@?\>r??EK?\???!5WOo????ξv????*%?r????ֹ?c?????хI???}I?$????L-??	???̇????q/??E=$% B???????T?????\g????ػ?y????n???o?g??????}?T???%7???#??I????2???????Vqj???\/k?3???Boф[????܀Hz???rF??????m?.??g??????
?3Q?P???^‹a????3?tr??߈??S??????*????>?]????t?Vi????:?̯y????9:-????[??????&P?z???kh?	??F4???????[&-*??}???:?????g$K????T?[??????k????6?W|???y͵????~??%????-?5L@???s?0}???elܱ???#?W????u$??????????وG?2??gd??>???9??B.????????????????????m0_?????m0_?????Vڰ????j?n????.:磄~??Q??fr?ْ????`A@?!?AUUUUUU??@> ???@T?!??1cba??=-DT?!???-DT?!????????Ofmodf??,?[????R?????X-?m????J?1????U|??????rg??????O2??K??;???&??(?xD??????SA???"?q????o????2?<\|??n?p!ݽ?:?!?پ?m/???տ?=+!??h????̭???PAed??&7?????\Sn_???????????????Y??lb???????*	??S??Oک????
W?M??i?>????s????E???3??????ҧ?=??[?K{??????5??(???n???q}?+??&?l騦????`~!??y2@#???xMW????`?Rא??f?vM?
??m.t??????SNe???6W ??w????L????M얎j???E????݀,?u[????@??????eQ?%???b=??a??bcؗŝ????	?~????1$6??F?:?P??x????????-!5????|?gU??A8+V=??E?W 7x???_???????#/???#???d??Ϙ?Ւ????"T???C?? d??l\??:???~s.?o???$?7s?????R(?????Nɴ
????B???q?
Uv??c?rh???P,CS?????f??+??ɮE???&Zy??O?ag???ti??????Dk{???lHE??4Z?w???(??e???4??Զ???ϓ????T?@????!?r??X??]?????_??????s???-B?4???%	?4???BC1%M???0۔~e??8?N2?}????a???l?9????C[[???|o???????g?????
z0w?
??????]%??n?????;??Q???-DT?!??-C??6??I????k??$I???C??????wUUUU??8UUUUU??????@p@??I??ɿ????I?         (((((                  H?????????????????????? ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????         (((((                  H??????????????????????      (                          0
		


!
5A
CPR
S
WYl
m pr	?
?
?	??
?)?
???
???Y*?Tc-^?k@??tFМ,?a?????\??)cd??4?҇f??;lDِe?,Bb?E"?&'O?@???V$???gm?s?m??r??d'?c???%{??p??k>?_?n???j?f29.EZ%??qVJ????.?C??|!?@Ί??Ą'?|Ô%?I@??T?̿aYܫ?\?D?g??R???)??`?*!?????V??G6?K]?_܀
???@َ?Ѐk#cd8L2??W??BJ?a"??=??????U???D?~ $s%rс???@b;zO]??3A?Omm!?3V?V?%???(???w;I?-G 8?????????N??hU?]i??<$qE}A'JnW?b쪉"?????????f3???7>,???ެd??Nj?5jVg??@?;*xh?2k?ů??id&??_????U?? J??W??
??{?,Ji??)?Ǫ???v?6?Uړ??ǚ??K%v?
	???t:?H孎cY?˗?i?&>r䴆??["93?uzK??G-w?n??@????_?l?%B??ɝ?s?|??-C?iu+-,?W???@z??b??j??????U?U?Y?Ծ?X1??EL9?M????Ly???;?-???"m^??8{?y?rv?x???yN?????\lo}???;??obwQ4???Y+?X?W߯?_??w???[R/=O?B
??R	E]?B??.4??o???nz(??w?K???g????g;ɭ?V?l????H[=??J?6?RM??q?!?	?EJjت?|L????u????p6?\???B??F??8?҇i???>????o??@??@??w?,=??q?/??	cQr???FZ*???*??F΍$'??#???+????G?K	???ŎQ?1?VÎ?X/4B?????ycg?6?fvP?ba?g
????;s??.??❲a??c*?&???pa?%?¹u!,`j??;҉s}?`????+?i7??$??f?nIoۍ?u?t^6?n?1??6?B(Ȏy?$?dA???ՙ,C?瀢.=?k=yI?C??yJ??"?p?????פ??ld??N?n???E?t?T??W?t??øBnc?W?[?5??laQ?ۺ???N?P???qc+?/ޝ"??^?̯?p???m-?}o?i^?,?dH9???4X<???H'?W&|.ڋu???;??-?H?m~?$?P	
%-5	>
H
R]iu
????????-C	Y	p	?
?
?
?
?	%
d?'??@B?????ʚ;??????????????????????	"?8? "?T?`?0mscoree.dllCorExitProcess"?T? "?T???(??8?????$???
??
?x}??}??e??e?x??8??t??T??????c??
?`??
????????
?(?????
?	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ????0??F????H??F????`??F?,l?x??F??q????F?,y?LC_ALLLC_COLLATELC_CTYPELC_MONETARYLC_NUMERICLC_TIME=;;=-_.C_.,_.?????????????????????????????????????? ?$?(?0?8?D?L??T?\?d?p??????????????????????????? ?0?@?P?h???????????????????????????	?	?	?0	?@	???P	?`	?p	??	??	??	??	??	??	??	?
?(
?@
?SunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberAMPMMM/dd/yydddd, MMMM dd, yyyyHH:mm:ssSunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberAMPMMM/dd/yydddd, MMMM dd, yyyyHH:mm:ssen-US-DT?!??-DT?!??-DT?!????????????P?!??P?!??`?Q>`?Q>\3&??<\3&??<@T?!??@T?!??`a??=`a??=.??;.??;1cba??=1cba??=sp.??;sp.??;?I %??{9?I %??{9?????????????????m0_?????m0_?????????????m0_?????m0_??-DT?!??-DT?!??\3&??<\3&??\?x?O~??UUUUUUſ????*?4?V???>???X!t5~?~???KJ)????ŗ??Ե?y??=?&,??,??t?ӰY??țuE?????lX??????2????Q[????-???B??{Q}?U????yUk?????Z??????O??3??G^??v????K?????R?ݛ??K?W.?g??i??? ???|?J-??????X???2????_?{3????????.P??ڐ??????'Za????@En[vP??ؐ??????@ ??????????????? ???????۠?c??qBJ?eD???
#D?%??|?????E?????????????z????g??1????P??t??t??:W??s?y?:??????????????????????ہ?v`????#???4,?T?w???ru??\???A?A??[??,'??t?n????ƿD\n?????V??????m?????^????B??Z&????q?q???I
єX??????????.9?&?????????????????+???{>?e????к?????#?+????3?=l}?????e??O贁N????JH7??ـl@6 ???"?1K	??(???????^??????p?p?????/????cj`???Y?0Q???mЦm??J?hAW???A?A???Ň*,??Kz?????????3?????-hk??????N?????U?$??????????????
/???r???p???w??\???????H???,??4??)??I? ??ՐO
??????????7?zR????0????:?b?ο????k???????????J??????????'t???a?a??x?O??ݾ?z????[?R?֯??Jv????gв?9????H"???{?G?z??f`Y4?m???????`???v???S????be?F??M?0':????%f-??QY^&? ????feт??????????B??????,????u???????{?????U)#?`???;?;???"?z8$???c,????f?"???8?8????E??[u??H??i???*?_?]???x+?R??F?yF????W[?:???j?\/???+J?#?????Xw????0
??`?*???h/??????K???N?????K?%????P-
????,?M????7Z?????@+???????????)A?????[r?????????MΡ8?}??5'??Ps??'?|?h???p"^???w?~?S???$I?$I??[`??>??߼?xV4??*?"*??x?!?????UH?y????gG??  ??p?}???L??B???B?@?B?A?B?C?B?D?B?FC?GC?IC?JC?K C?N(C?O0C?P8C?V@C?WHC?ZPC?eXC????`C?pC??C??"??C??C??C??C?	@
??C??C?
?C?D?D? D??"??"?0D?@D?PD?`D?pD??D??D??D??D??D??D??D? ?D?!E?"E?# E?$0E?%@E?&PE?'`E?)pE?*?E?+?E?,?E?-?E?/?E?2?E?4?E?5?E?6F?7F?8(F?98F?:HF?;XF?>hF??xF?@?F?A?F?C?F?D?F?E?F?F?F?G?F?IG?JG?K G?L0G?N@G?OPG?P`G?RpG?V?G?W?G?Z?G?e?G?k?G?l?G???G??G??"?H?	H?
 H?0H?@H?PH?`H?pH??H??H?,?H?;?H?>?H?C?H?k?H?I?I?(I?	8I?
HI?XI?hI?;?I?k?I??I??I??I?	?I?
?I??I?J?;J? J?0J?@J?	PJ?
`J?pJ??J?;?J??J?	?J?
?J??J??J?;K?K?	 K?
0K?@K?;XK? hK?	 xK?
 ?K?; ?K?$?K?	$?K?
$?K?;$?K?(?K?	(?K?
(L?,L?	,(L?
,8L?0HL?	0XL?
0hL?4xL?	4?L?
4?L?8?L?
8?L?<?L?
<?L?@?L?
@?L?
DM?
HM?
L(M?
P8M?|HM?|XM?arbgcazh-CHScsdadeelenesfifrhehuisitjakonlnoplptroruhrsksqsvthtruridbesletlvltfavihyazeumkafkafohimskkkyswuzttpagutateknmrsamnglkoksyrdivar-SAbg-BGca-EScs-CZda-DKde-DEel-GRfi-FIfr-FRhe-ILhu-HUis-ISit-ITnl-NLnb-NOpl-PLpt-BRro-ROru-RUhr-HRsk-SKsq-ALsv-SEth-THtr-TRur-PKid-IDuk-UAbe-BYsl-SIet-EElv-LVlt-LTfa-IRvi-VNhy-AMaz-AZ-Latneu-ESmk-MKtn-ZAxh-ZAzu-ZAaf-ZAka-GEfo-FOhi-INmt-MTse-NOms-MYkk-KZky-KGsw-KEuz-UZ-Latntt-RUbn-INpa-INgu-INta-INte-INkn-INml-INmr-INsa-INmn-MNcy-GBgl-ESkok-INsyr-SYdiv-MVquz-BOns-ZAmi-NZar-IQde-CHen-GBes-MXfr-BEit-CHnl-BEnn-NOpt-PTsr-SP-Latnsv-FIaz-AZ-Cyrlse-SEms-BNuz-UZ-Cyrlquz-ECar-EGzh-HKde-ATen-AUes-ESfr-CAsr-SP-Cyrlse-FIquz-PEar-LYzh-SGde-LUen-CAes-GTfr-CHhr-BAsmj-NOar-DZzh-MOde-LIen-NZes-CRfr-LUbs-BA-Latnsmj-SEar-MAen-IEes-PAfr-MCsr-BA-Latnsma-NOar-TNen-ZAes-DOsr-BA-Cyrlsma-SEar-OMen-JMes-VEsms-FIar-YEen-CBes-COsmn-FIar-SYen-BZes-PEar-JOen-TTes-ARar-LBen-ZWes-ECar-KWen-PHes-CLar-AEes-UYar-BHes-PYar-QAes-BOes-SVes-HNes-NIes-PRzh-CHTsr???B?B?,?[?qPA??[???[???[???[???[??\??\?? \??0\??@\??P\??`\??p\?C?\???\???\???B?)?\???\?kXB?!?\?cXA??\?D]?}]??`A?(]?ExA?8]?GH]???A?X]?H?A?h]??x]???]?I?]???]??XC?A?]???A??]?J?A??]???]???]??^??^??(^??8^??H^??X^??h^??x^?K?^???^???A?	?^???^???^???^???^???^??_??_??(_??8_??H_??X_??h_??x_???_???_???_???_???_??hB?#?_?e?B?*?_?l?B?&?_?h?A?
`?L?B?.`?s?A?(`??8`??H`??X`?Mh`??x`??@C?>?`??C?7?`??A??`?N?B?/?`?tB??`???`?Z?A?
?`?O?B?(?`?jPB?a?a?A?a?P?A?(a??8a?Q?A?Ha?R?B?-Xa?r?B?1ha?x C?:xa???A?HC???a???a?S?B?2?a?yxB?%?a?gpB?$?a?f?a???B?+?a?m?a??8C?=b??(C?;b???B?0(b??8b?wHb?uXb?U?A?hb??xb?T?b???A??b??C?6?b?~?A??b?VB??b?W?b???b???b??c??B?c?XB?(c?Y0C?<8c??Hc??Xc?vhc?? B?xc?[`B?"?c?d?c???c???c???c???c???c??(B??c?\XM??d?? d??8d??Pd??0B?hd??xd?]?B?3?d?zPC?@?d??C?8?d??C?9?d??8B??d?^?d?n@B??d?_?B?5?d?|?0? e?bHB?e?`?B?4(e??@e?{?B?'Xe?ihe?oxe??e???e???e???e???e???e?F?e?paf-zaar-aear-bhar-dzar-egar-iqar-joar-kwar-lbar-lyar-maar-omar-qaar-saar-syar-tnar-yeaz-az-cyrlaz-az-latnbe-bybg-bgbn-inbs-ba-latnca-escs-czcy-gbda-dkde-atde-chde-dede-lide-ludiv-mvel-gren-auen-bzen-caen-cben-gben-ieen-jmen-nzen-phen-tten-usen-zaen-zwes-ares-boes-cles-coes-cres-does-eces-eses-gtes-hnes-mxes-nies-paes-pees-pres-pyes-sves-uyes-veet-eeeu-esfa-irfi-fifo-fofr-befr-cafr-chfr-frfr-lufr-mcgl-esgu-inhe-ilhi-inhr-bahr-hrhu-huhy-amid-idis-isit-chit-itja-jpka-gekk-kzkn-inkok-inko-krky-kglt-ltlv-lvmi-nzmk-mkml-inmn-mnmr-inms-bnms-mymt-mtnb-nonl-benl-nlnn-nons-zapa-inpl-plpt-brpt-ptquz-boquz-ecquz-pero-roru-rusa-inse-fise-nose-sesk-sksl-sisma-nosma-sesmj-nosmj-sesmn-fisms-fisq-alsr-ba-cyrlsr-ba-latnsr-sp-cyrlsr-sp-latnsv-fisv-sesw-kesyr-syta-inte-inth-thtn-zatr-trtt-ruuk-uaur-pkuz-uz-cyrluz-uz-latnvi-vnxh-zazh-chszh-chtzh-cnzh-hkzh-mozh-sgzh-twzu-za01#INF1#QNAN1#SNAN1#IND??????????????&{???x???5?q(7??>PD??%>b???>@????`???UUUUUU????????????UUUUUU????????????????????TUUUU???ƺ??????Q?#Ib???]?4???? ???0wG??`!???@????@?Y???]???????i??`÷?0???v??0ϸ?@?'???m?????ع?Щ0???_???p?ߺ???6???䍻?0???@?:??p???????}?????? ????0>???0i??@A??p?c???l????D????????????0Q??P?-??PIO??@?p??0???@'????I???X???S??`:7??`X???x??p|???????Н???????0s????;??P?[??`&|???????????pw???`???????P??p?(??7??0kE????S??+b???p??@?~??`??? R????????๷???????????P????2??? ????pD???B???9(??*6??PD??? ?"?
?=?
.3i?=W?~?
??=imb;D??=W>6??Z?=???y+?>?????>IԭwJ?=07??v>??G?b?=?M?>???Q???=??z	>??p???=Q?W.>n??[>??p)??=m?6??W>O?J?K>?????C>*????f>???8??=??p?T??=??:		r>?]'?p>?qw??>`
??'>?M?>[^j?7>Kb|?j>:b?β>	>ޔ??0>1??k>A???>+??^?=lg??=?)>,?ļ,+>De?}??=?7W`@>`z???>~?|'e?>?_??M?>??`?>?1<.	/>:?+??>?Os???&>??൏??=?MǛ/#>yH?s?=nX???>?JR??!>?11Y@/>58d%??>???_>??)?MJ$>?"? ?>	??H*>?e??VM>cQ6?!>6'Y?x?=??%?R>jtm}S??=`
??'>????Z>?U&??>?䮿?Y
>??h?/?>77:?ݸ$>?a~?>??I{?,>Y???)>6{1n??>Ur	Vr.>T?z?3&>R?a?+f)>0'??C>6?Z?d >?'?4
>?y??U?>??^?!-?=j?
?c?>cQ??.>5b?#)>?^x8?o2>???Lj[;>v??j"?=?:1?J<>?s|?d>f???3>fvw???=>????;H9>&X???;>?7Y??9>??????>?
'?S?5>??*StO9>T???'4>?K?Z>??`?'>????%%>???΋?.>Tu
.(!>ʧY3?p
>%@?~+>?!?n03>Pu????>d׌5?>>t??"?v:>??R?=>?X??̤/>?
?Ң?;>?[?? >??["`?=>7??>?ː?#?>>???6>??\?.>??9Ir?,>?X>z?8>4??&?/>	V?Y?S9>H?V?o?6>?a?"?$>?S=? ?5>V?aR:>????V8>??(?.0>??D???=?Y?c%>?2x.&>???>?=??K~Je#>!??Ix[>dn??-/!>?9٭?7>??qb?(>aI??bQ?=cQ6?1>?v?+M<7>?=???*>?!?ư*>f[?t?0>?T??o ->?Or???=)?a??>??ė?=???l(>>?
"Ic(>\,???=F	?ET5>?m?0?;>9l??ߙ%>??????6>ȨmG4>????7>?*y
W3>?a?y?;>???V?>??bp(=>?gҀ8?:>?})?36,>??8?!>? ???;>PӽD8>?j`&‘+>?+?&?z*>?n??Ov>?h?=O>?yu?`?=GQ??~f?=o?j?37>k?>??/>d?n?9>???hS?=q)?i?5>?m"e??=??~X3>??6>T?z?36>J`???>!T??4<>0A?8>cքBC?>6t9^	c:>??V?B4>?ٲ??6>?*:?8'>0??<>?Rm??=1>?"???3>P?k??Y)>?'._M?
>?5*??=4<,??BF>^G????*>?`J?K&>.yC?B
)>O 'L>[??.xJ>Hf?y\PD>!?M?ԩL>??|b=})>???\? >?v?c [1>H'???)>????dL?>Z?|??F>??N?i?;>??_??j+>??y??C>?O@?L?)>??uzKs@>??D>?H??e?@>?5?A?3>N;kU??r=C?A	? >???	p?.>E???K>V???R?>>?e?	kE>fvw???M>`?7??nH>??eF>t?H??/>?Ѥ??L>ev??[?%>J
??A>??@
_?A>pP&?V6E>`"(5?~7>ҹ@0?$>??y{?@>?W?9o?M>W???L>???փJ>?W?
p?0>
??l?D>#?,=>B?_!?">}t?M>?'>+?Ai???=1??I!>?u?|K?N>
?c?0iN>/?پ?A>??+h->|?ۈ?:>?r?-4?@>%>b???>@C??S??S?L???S??S??S??S??S???f
? ? ?>?$?x???*??????????`???????@??????????????????6?/?!???????????????}?o?a?S?E?7?)???????4?$????Z?G?P?9?0? ????????}?v?o?e?[?Q?G?K?D?=?6?/?%????3?,?%????	????H??`??????T?@@O?{?{?{|@O????@?{?OP|(|h|?|?||?O????@P|?O????@?|?|?||?O?|}hOX}0}p}?}|hO????@X} T????@?}?}?}PT????@(~@~~?}p~?~~?}?T????@X~?~?~~?}?T????@?~0P~?}?T????@PT(~xU????0?~?}U????@?@U????@X?p?0?~?}?O????Ѐ?|?O????@??(?8?hU????@?8P??`??????|8P????@??P??(?P????|P????@??U??x???Ђ8??U????@???U ???8?H??U????@ ?????H?Ѓ?U????@p? V????@??? ? V????@??`?????H?ЃPV????@H?xV؄???? ?????H?ЃxV????@؄`Pp?H?????P????|`P????@p?????V????@?? WX?0?p????~~?} W????@X?PW????(?P~?}PW????@?xWx?P??????~~?}xW????@x??W??? ?8???W????@?hX??`??????}hX????@???X??? ?H?p?~?}?X????@??X????@????p?~?}??~?}?X????@Љ(YX?0?p????~?}(Y????@X?`Y????(??~~?}`Y????@?h???~?}?Y????@P?ȋ?~?}?Y????@??(?H?~?}?Y????@?????~?}(Z????@p? T????B?}PT????@(~ T????B?}`Z????@p?????`Z????@p??Z????(?P~?}?Z????@??Zx?P??????Z????@x????~?}[????@Ȏ@?`?~?}H[????@(?????~?}?[????@??? ?~?}?[????@?`???~?}?[????@H? \А????`?~?} \????@Аp\`?8?x???Б ?H?p?p\????@`??\????@???Б?[????@??PT????@(~ T????@?}p\`????\????0?БX?H?p??\????@??[????@??\???0]Г????Б@?H?p?0]????@Г?[????@H?0]Гh?p]????Д?Б(?H?p?p]????@??[????@Ȏp]??P??]??x???ȕ?]????@???]??0?X?p?~?}?]????@?^??????Ж^????@???(??}H^????@?? T????B?}????~?}?^????@x??^????@??ؗ??~?}H??^?H??^??p??????^????@????(_????@?P?h??}h_????@8?(_????_???????8??_????@???_????@`?x????_????@`??_ؚ?????8??_????@ؚ0``?8?x???0`????@`??`؛????@?h????`????@؛?_Pؚ?_@???_@`??`?????? ?@?h????`????@??  ap?H?	?????@?h????@?h??? a????@p??`????@??paX?0?p?????pa????@X???a؞??? ? ?@?h????a????@؞?0bp?H?
??????@?h????@?h???0b	????@p??b8??P?x???H?Ѓ?b????@8??bȠ??????H?Ѓ?b????@ȠH?h?~?}c????@0???ȡ~?}Pc????@???(?~?}?c????@?h???~?}?c????@P?dآ????`?~?}d????@آPdh?@?????أ ?H?p?Pd????@h??d????@??أPdh?(??dx?P?????أX?H?p??d????@x??dx??0e8??P???أ??H?p?0e????@8?c????@0?0e8?Хxe ???8?h?أ@?H?p?xe????@ ?xe ????e?????(?أP?H?p??e????@?Pc????@???e?x?fȧ????أ(?H?p?f????@ȧfȧ8?Hf??`???Шأ??H?p?Hf????@???c????@?Hf?? ??fp?H?????أ?H?p??f????@p??c????@P??fp??H?h?~?}?f????@0?????g????@??8g?? ?@?~?}8g????@?pg??h???ȫ???}pg????@???g??0?h?ȫ??Ќ?? ??g????@??g????g???????g????@?`hX?0?p?????~?}H?`h????@X??h?ȭ?8??~?}H??h????@?@i??`???ЮH?~?}H?@i????@???i ???8?h???~?}H??i????@ ? j????Я??? j????@???j8??P?h????j????@8??j????а??`?~?}?j????@??8kH? ?`????? ?H?p?8k????@H?xk????@?????8kH???kX?0?p?????X?H?p??k????@X??kX?Ȳl??0?`?????H?p?l????@?l???@lس??? ???@?H?p?@l????@س@lسH??l??p??????P?H?p??l????@???l????lX?0?p?????(?H?p??l????@X??lX?ȵm??0?`?????H?p?m????@?m???@mض??? ????H?p?@m????@ض@mضH??m??p???ȷ???m????@???m??0?h??????????m????@??m????@??и?????f????@0? T????@?}?m?8?(n??`???ȹ?????(n????@???]????@??(n???`nh?@??????~~?}`n????@h??n??к?@?(?ЌH?P??n????@???n??h??n????л?ؗ??~?}H??n????@??oX?0?p?????????o????@X??^????@??oX??Ho8??P?x???????Ho????@8?(_????@?Ho8?Ƚ?m????o@??X???h?ЌH?P??o????@@??o@????o?ؾ?0??}?o????@??o??X???ȿ0?ЌH?P??o????@???o???0?@? p????@?????Pp????@h??p??????????p????@???p`?8?x???@??p????@`?0q???????@?0q????@??@UX?8??q??`?????~?}?q????@???q???(?H?~?}?q????@?r??p??????~?}r????@??8r????@(?@??~?}hr??`?????~?}hr????@???r???(?P?p?~?}?r????@??r??x??????}?r????@???r ???8?h???ЌH?P??r????@ ??r ??? s??????? s????@??8r(?0?p???Ps????@X??s??????????s????@??@?P?Ht????@(?????xt????@x??????t????@???t@??X?p?P??t????@@? u?????????? u????@??pu@??X?p???pu????@@?????~?}?u????@???0?~?}?u????@??v??X???????~?}v????@??Pv???(?P?0?~?}Pv????@??v??x?????p?~?}?v????@???v0??H?x?h?ЌH?P??v????@0??v0????????v????@?? w@??X?h? w????@@?Pw??????????Pw????@???w8??P?h????w????@8??w????@???????w????@??x0??H?`???x????@0?@x????@??????@x????@???(??x????@?h?x??x????@P?0y????????x?0y????@???yH? ?`?x?(??y????@H?0z????????(?0z????@???zH? ?`?x?(??z????@H?0{????????(?0{????@??8?X?~?}?{????@ ??{????????X?~?}?{????@??|8??P?`?|????@8?@|????????`??@|????@??`Z????@p?x|`?8?x?????`??x|????@`??|?????0???`???|????@???|??X???????`???|????@??}???(?P???`??}????@?H}??x???????H}????@???}????@ ?8????}p?H????????}????@p??}????@?????@~@??X?????`??@~????@@?p~?????????`??p~????@???~`?8?x??????~????@`??S???????|?S????@??PS`?8?x???|PS????@`?xS?????????|xS????@???Sh?@???????|?S????@h??~?????0???H?Ѓ?~????@?? ??X??????? ????@???????H?Ѓh????@???h?@????????H?Ѓ?????@h??????0?8??????@????X??????????@???S?????(?|?S????@????d?|??@P8T8p8;:b:?:?: < >?i?kll??˜???=?T???+^=^?????P=T=Phii?i?iM?n???h??????#?N?b??j?j?l?>?X?l????X?l????_?v??????????????`?r???t????~???T?f???????".Nq???????????+?O?ccQ`
?`
gf
|?
??
??
??
s?
?
?
u?
??
?
?
$?
s?
?
?
[?
?
Y?
??
J?
??
?
'?
??
%?
??
??
??
?
????`???`??????? ?P?P???p???0`??? P?
?? `??@p??0?'?'?)?)*P*?*p02?2?23`3?7?78?89`9?9?9?;?;?>?D?D?D?D?D?D?D?D?DE%EhEoEvE?E?E?EF%F,FFFPFWF[FgFqF~F?F?F?F?F?F??
??
`p?
PȞ
?E?
?????Y?K? .text$di ??.text$mn??@.text$mn$00???.text$mn$21??0\.text$x?K?.text$ydP?.idata$5?S8.00cfg?S.CRT$XCAT8.CRT$XCC8T.CRT$XCLHT@.CRT$XCU?T.CRT$XCZ?T.CRT$XIA?T0.CRT$XIC?T.CRT$XIZ?T.CRT$XLA?T.CRT$XLZ?T.CRT$XPA?T.CRT$XPX?T.CRT$XPXAU.CRT$XPZU.CRT$XTAU.CRT$XTZ U?$
.rdataz?.rdata$00?{0.rdata$T?{?e.rdata$rL??.rdata$voltmd ?.rdata$zzzdbg(?.rtc$IAA0?.rtc$IZZ8?.rtc$TAA@?.rtc$TZZH?.tlsP?.tls$`?.tls$ZZZh?( .xdata?	?.xdata$x`.edatap#<.idata$2?#.idata$3?#?.idata$4?'?.idata$6@@.data@O?.data$r T,.data$rs ?H.bss?l?.pdata@ `.rsrc$01`@ ?.rsrc$02B

20t42?

4
2pt	4R??

20?

d	
Rp!4P?s???!P?s???20Ī
?`	?(20Ī
?(%?+??
(r?
p`0
PĪ
H?(Q??? ?	?6`?*@3!f?
?@3@?@3@?@3@=??6??Z@3`??
.@T0.F0.80.88
( T T 4,2P20Ī
??(????
@3`>?
?d
4	RpĪ
?(?,?
 ?.?R@3P??
??
\,R.

4
2pĪ
L?hU?`??
.?
JR0%	?	??p`0P?
???(?????3?2?3??1?8?R

4
Rp  t d 4 ??PĪ
??(??!?P?*a
@6??.??.??.??.??.????
?	??

4
2p!d A5A,?! A5A,?!d?A?A,?!?A?A,?2?p`P0Ī
??(????
a
?204?e~00h?0?
??R(????
?3`?2???
??b(??
4@\Rd	4RpĪ
,?(5??
l2,42pĪ
??(????@3p>?
VR*

4
2pĪ
??h%???6d
4RpĪ
?(?%?
@3?>?
J0,d4
rpĪ
D?(??M?Z2,BĪ
d?(%?m?&4???
p`PĪ
??(????@?,@3?4P4p6p?,@3?Z@3`??
}?
?@3m?
RTHn
N$:  ??	p`0PĪ
??(?A???,@3p4P4`6?,@3?Z@3P??
}?
?@3m?
@T@n
:$:  d	T42?!t?"%#T?!?"%#T?!t?"%#T?B??`0!##??tT
?&?&??!??tT
?&?&??!?&?&??
d4?????pĪ
 ?8-?A?R?

`4P:?4P08~?
I????A?P5??
?BĪ
t?`y?642pĪ
??(????`4`XJ20Ī
??h%???d20Ī
??h%?+?
hT4??
p`Ī
?(	?1?
@3?6P?*@3?^?
?@3p??
-?
`(h
.**"
T4????p`Ī
`?(i???
@3:@3pr@3p6?
?b@3`2@3??@3?6?
11]?
P(:r8Fz20Ī
??(?????
02..
dT4
r??pĪ
?(
?A?
@3?2@3Pj@3P6?
??
?@3@2@3`?@3`6?
T"6J8&
,X
20Ī
h?(%?q?(4
dT4???pĪ
??(????
@3?2@3pj@3p6?
?b@3`2@3??@3?6?
1!M?
T"4T8@b

4
2pĪ
?h%?
?42?$4??
?p`P?
4?r(=??? 
@3?2@3?j@3?6?
Z?3??@3`?@3`?@3`u@3p?@3pU@3p?@3p5@3p}?
B?>H?
?.$00&J*" *V *V *V *\ *\ -
? $!

htb?
n 2"xh
4
?p?ܓ
P
4
pܓ
?##?xh?0'	?xh	0ܓ
`?ܓ
?!&&?!xtdT4`+`??!`+`??&	4%?
?p`P?
 ??()?M?
4?2@3p2@3?f?
??
?4A?:J2&
&nf&	4/&?
?p`P?
??"(????
4?:@3p2@3?f?
??
?4??>P2*
*6V
4
?p?
??r(????
4`NJN,20Ī
?h%??0r?p`P0Ī
,?(5?e?@3<@3?6@?,@3`?@3??
=?
??
Tl4r4
"4	RpĪ
??(?????e?A?42pĪ
??(????VP*!d4?p?
??r(???
?e`2@3Pf?
??

m..*:d	42pĪ
$?(??-?fV*!t?k?k??!?k?k??d42p??p`P0?
??r(????
?:>u!d4?p?
??r(????
?:6?
4
?p?
??s`??NdT42pĪ
?h%??N4r??p`PĪ
0?(9?i?@3<@3?6??,@3p?@3??
=?
??
fl4`4
"$T4??p`?
??shU????R?J42pĪ
??h%????04r??p`PĪ
??(??*?@3<@3?4P4?6?.?,@3p??
??
??
?l
4`
4?02"r0R?p`P0Ī
`?(i???@3?4@3?4@3?6??.??.??.??*@3@^?
?
??
j2Vt~,")4???
?p`P?
???(???
@3`2s?2?s?2@3pf?
??
??YId.L#	??p`0P?
@?r(I?}?
?eP2@3?2@3@f?
??
??
@3@:@3?n?
(??,  v??,  $??0N .*
?	td42?

4	
Rp

4

2	?`P!?	?mn??!tnKn??!nKn??!?	t?mn??!?mn??BĪ
L?`Q?&dT42p.???
4
pܓ
0!?h	??F?h?!xF?????!F?????!??F?h?4	RpĪ
??(???0?2@3?f?
4*!d4?p?
(?sh%?1?p?D!d4?p?
T?sh%?]?x?D,
, ????p`0PĪ
??(??.??
@3!:@3?:@3A:@3a:@3?:@3?:@3?:@3`n?
?@3??@3!?@3?e@3?>p?.??V?
??
@3p?@3@>??.?V?
??
5@3`>0?.`?V?
??
ސ?.??V?
???6 ?^?
?@3?P?6??^?
??6??^?
?6@?^?
p?6??^?
??6?^?
	0?6`?^?

??6??^?
??6 ?^?
P?6??^?

??6??^?
E@3?=?

?
??
??
}?
M?
??
Ym??F"!2 %2 ?>P:4 >"0>$b4&h*:(4,@.4Z$?:0?482<6@8(40?<8:B>@8(",:&?0B@|B>@BDB802F68*0@.?0BH?J0H:L28(40?P0N:R28(,2P:0?V.T:X28(40?\.Z:^28(22P:0?b.`:d28(40?h.f:j28(,2P:0?n?0?$xh?,
,?!?xh?0?0ܓ
`'h	
4
pܓ
?
4
?pܓ
@5
5?'?!xh?0d42pĪ
(??F@.*@.d42pĪ
D(??MD@2(d	4Rp42pĪ
|(???@R*
p0ܓ
`!d`?|??!`?|??!xh?????!?????d42pĪ
(??
P?*????
?p`0Ī
08??=NE?P?a?P5??
?2?p`P0Ī
x(??@3?4@3?4P4?6?. ?*@3?^?
}?
??
?8V
r8""4??
?p`PĪ
?(?
@3P>?
Zp?`2@3an?
??
H2XpL&dT
4RpĪ
8(AG0?R0

4
2pĪ
`h%?iJD(	d4?
?p?
??8!???????X??4?	?p`?
?r(??
4`8
?6?220Ī
h%?
82
$h42(???
?p`P?
<"(E]
?e!>?
b?????
?-?4:?d42pĪ
??r???
?p`0Ī
?8???
@?@8H????R?z%	?
???p`0?
??8	
		
4?8@	?p?
EH??zBP0	?0?
H	r(??Q	@<Zd4
rpĪ
t	(}	?	
@?@8?(	d4?
?p?
?	?8?	?	?	
4?8@?	??>??dT42pĪ
?	h%?
l&	43*
??	?p`ܓ
@!T1 ?P?
!?2P?X?$
!P?X?$
! ?P?
&
?
??	??p`P0ܓ
QQd	LT	2?p0!?
??,??
!??,??
!!4!????p`P?p0!kk?f?
^T?`????
!?
d?????
!?????
!?
???
dT`????
!???
T`????
!?`????
$	??	??p`P0ܓ
P!ԍpLN?!pLN?!ԍpLN?
t
4R
??	?`P(	??p`P0ܓ
??
dT4
R??p42?
?p`P11t`P0!^^?L?>x1h)?????U?VH!?U?VH!!d!T!4!?????p 
??ܓ
 !##??t	d
T4P????!P????td
T	42???2??pP0!d
? 
!???0
!?0
!d
? 
!? 
B??p0!?dP}?
!?T
}??
!}??
!P}?

t	dT42?d
4
2p2??pP0!??d

?? g[hd	T42p!??qrD!?qrDyy?t?oTR??
p`0)40&???
?p`Pܓ
 ?????	?
w?r?m?
h?9?.x)h
%2p!4P8q8?!4P8q8?1
d%T$4#????pܓ
?		r?!? t>t4`994p`!??T??I??!??I??

T
4
?p!?d?????!?????

T
?	?p`!?
??1?"??x?????!h??
-t?-d?-4?-?????Pܓ
?!

?T??!?T??!??R
RdAT24?
???pܓ
xT
4	2??`!t`EE<!`EE<??0!FF?:?3?%t	d
T??޲t!???t	d
T??޲td
T4
2????p
d
T	42??p!!d
!T!4
!2????p??t	??P0ܓ
@!d???? !?????8!????8!???? !t?????!?????BP0!

?
d??3??!?
?t	3????!3????!?
d??3??!??3??)	d%T$4# pܓ
?++?#xhb$T4??p`?
pr(??y
?6?:!d4?p?
?sh%??l?j%	?4
p	`Pܓ
p!x
h?	??!??6'?"?	x
hd4pܓ
`!?T????!????6'?"?	x
hd4pܓ
`!?p???T!p???T<.?
)?$?xht)4($Pܓ
?(4|vp`P?
??(?.n@3P0: ?p0r??`0: ?!8~?(2 ?a8??-?
??2 ?an?* ??f * ??fP* ?!f?* ?af?* ??	
???2 ?an?* ??f * ??fP* ?!}?
?2 ?an?* ??f * ??fP* ?!f?* ?af?* ??	f@* ??
fp* ?!f?* ?a
??zI6*L$6
"4" 4""$<&((N*(,F.(0F2(4F66?*
0&J0L.N0P.R0T2V<@(BFD(FFH6"(

4
RpĪ
?(%??D
T42???p`BĪ
?`?
dT4
r??pĪ
(%?%?r(BĪ
<(%?EB20Ī
X(%?a:dT
4	Rpd42pĪ
?hU???&dT4r????pĪ
?(%????(*4+ ???
?p`P?
??(
?3a:?3?2?3???
???
q?(

4
2pĪ
L(%?UTF820Ī
l(%?u:8
4
?p?
?R(%??
?.(?(d42pĪ
?hU????(td42?dT42pĪ
hU?	xr?d2?![[4t?8?8!?8?84	2?p`Ī
\(e{P4?6@.P.?
?H,d
4?pĪ
?(??
?@	?b
d
T4R??pĪ
?(??.?.?.@?????
X?8
02

T4
R???p`Ī
4(=]p.?.?.??????
T?^
0:

d
T4R??pĪ
?(?? .?.@.P.`.p???]?

X5&0
d
T4R??pĪ
?(??.?..?????
X?(
N dT42pĪ
@h%?I?20Ī
\`a02???
?p`0Ī
?8a??????XuB??`0!??tT
 N?!??tT
 N?! N?

4
2p!dT?E?E !?E?E !dT?E?E !dT?F?F !?F?F !dT?F?F !dT?D?D !?D?D !dT?D?D 42???p`Ī
? 8a??? ??dT42pĪ
$!h%?-!?B??p`!??
T4
 ANA0!!??T4
 ANA0!! ANA0!!t^^??!^^??R0Ī
?!(%??!n

20Ī
?!(?!?"<P4`6?.?.?.?.?.?.?..0.P.p.?.?.?.?..0.P.p.?.?.?.?.	.0	.P	.p	.?	.?	?	<

4
2pĪ
?"h%??"ZB2???
?p`0Ī
?"8a??"?"?"??R?2???
?p`0Ī
#8a?#$##?0?R?2???
?p`0Ī
H#8a?U#d#]#?`
R!
dT
4	2??p!??M?Mp#!?M?Mp#!??M?Mp#!??KLp#!?KLp#!??KLp#2?
?p`0Ī
$8a?$,$%$??mR?2?
?p`0Ī
L$8a?$Y$mR?
d4R???
?pĪ
?$8a??$?$?$? ?fb
d4R???
?pĪ
?$8a??$?$?$???f`2?
?p`0Ī
%8a?% %%??q`	2?
?p`0Ī
D%8a?Q%`%Y%?Pi^?bp
`P0dT4
2????pT
4	2?p`!???۠?%!??۠?%!???۠?%

?	??pP!?d?#??%!4#?l??%!?l???&!l???&!#?l??%!?#??%		2?p`!?

T	40???`&!?
T	40???`&!0???`&?0ܓ
H

4
2pĪ
?&`?&4?

4
2pĪ
'h%?	'2BĪ
'h%?%'

4
RpĪ
<'(5?E'R0
tdT4??Ī
l'(u'?'?
2?4@
?.R.

4
2pĪ
?'h%??'z	????p`
0Ī
?'8?'((
`4?:?4?2?4?2a
`204???-?


	(??
??P)?
0??4?

RP

4
2pĪ
D(h%?M(%42pĪ
h((q(?(@
(?
(np
-?4
2
??p!Td	?????(!?????(4
2
??`!Tt	P?s??(!P?s??(dT4
2????pĪ
 )(%?))?@@dT4p<?820Ī
?.h%?/*r?0?
/R(%?%/?B(BĪ
?
-?
$
?e)m???
((
?b??(L*4 ???
?p`P?
d0?(%?m0
??((8

4
2pĪ
?0hU??0x.?d42pĪ
?0h%??0?BĪ
?0h%??0,d	T42pĪ
?0(11@3?>?
Z!"

4
2pĪ
01hU?91`.NdT42pĪ
\1hU?e1x&r04?????
?p`P?
?1"(%??1???6q6?L?d42pĪ
?1hU??1n,?R0Ī
??BĪ
?1`2,*4!???
?p`P?
,2?(52Z2P4?6 
.0
.?
V@
.P
.?
4
T,((i4?
d
T4R??pĪ
?2(??2
X?@
0
d
T4R??pĪ
?2(?2?2?
.?.?
.P?????

X?\
0
d
T4R??pĪ
3(!3R3p
.?.@.P.?
.?
.?
E????

X?&0!T4??p`?
?3j(?3?3?... .0.@.PE?@:?e`n?
m?
l??>4>T4R?p`Ī
?3(!3?3
F? 0%	?	??p`0P?
(4?(14=4
?3?>?
?????????H&>?#
4????
?p`P?
|4j(?4?4. .0.@???6?

?
x??
@t
?"dT
4R????pĪ
?4(?4?4
?P8F?
X]?4r?
?p`PĪ
 5()5P5?.?.?
V?.?Ұ!?
H?4
Lb 
dT4???pĪ
?5(?5?5p.?.?.?.?Ұ?6?
]?
X?
j? d::'

??	??p`0P?
?5?(?566@3?>?
Z?3?2?^`2`В`?2?^`2`??`???
??
?????*&?8FT4R?p`Ī
p6(y6?6?
.?.. .0.@.PE????
F?&0?0Pܓ
p!?0a?6!?av?6!""?tdv??6!tv??6!v??6!av?6!0a?6*4"???
?p`P?
|7?(?7?7
@3?>?
?T?dT42pĪ
?7h%??7?L

d
?p!4p???7!p???7!4??J??7!??J??720Ī
,8h%?E2?
?p`0Ī
P88a?Q%]8al2
`!t
T4P?^?h8!P?^?h8,d4???
?p?
?8?8!?8?8?8???H?$T4??p`?
9r(??9
i6?:T
4	2?
?`!t????$9!????$9d42pĪ
t9`y9?d42pĪ
?9`?9?d
T	4RpĪ
?9(?9?9?2@3?f?
H0*.???p`P0Ī
?9(:?:@3A<@3!:@3P60,@3p?@3??
M?
?
??
jx@
f@"T4r?p`Ī
p:(y:?:@3?2@3?f?
??
nB"d4
rpĪ
?:(???:Dj\4r??p`PĪ
?:(?:;@3?>?
Z@3`2@3Pf?
??
z26 
dT42pĪ
<;h%?E;vd42pĪ
`;h%?i;N2,8
'to'dn'4m'f????P?
?;"(?;??U?,?>?f?? /?: /?: /!: /?: /a	: /a:P.?:P.!:@3A<@3?2/?:/??/?:/?:@3a:?????>?
??????B?3?1?Q?q	?	!
Q5@3?D@3?2/?:/??/?:/?:@3a:?????>?
??????B?3??a
?a??A5@3?D@3?2/?:/??/?:/?:@3a:?A??A>?
??A??AB?3??1??!?Aqu@3?D@3?2/?:/??/?:/?:@3A:???>?
????B?3?A!
qQ?qq?!?? ?@3
D@3?2/?:/??/?:/?:@3A:?????>?
??????B?3??a
??!Q!#?#A$?$a%?%?&'?'?(5@3?	D@3?2/?:/??/?:/?:@3A:?A??A>?
??A??AB?3?	?
??!Q1$?&Q+?+q,-?-!.?.A/?/1u@3?:?U?F?
j@3A:?ڰ>?
b@3p2?ʰ>?
b@3A:??ʰ?6?
^?.?.??
?
??
}?
??
??
? ?
?#?
?(?
M+?
m0?
?2?

8?
?8?
?9?
}:?
M;?
<?
?<?
?=?
?>?
???
??>0*I*5$
$$$$?u?z?":$N*&,P.?0$.?F?H?JtP:R>X.ZL\?^$\?t?v?xz~:?>?.?L?֌$?¦????z?]
$?"!?
td?`?`??!t?`?`??!?`?`??	??
??	?p`P0Ī
tA(}A?A
^?2^?
????4
Rp`PĪ
?A(?A?A?e?4P4?6???0d
4Rpd
4RpĪ
?A(?BB4,d
4RpĪ
$B(-B>B?2P+?f?
B*R
p`0Ī
XB(aBsB@3?4@3?n?

r4Z,*r?p
`P0Ī
?B(?B?B@3>@?,@3`?@3??
??
Jl4n4R?p
`P0Ī
?B(?BC@3?6P,@3P?@3??
??
Jl4d4!?p`0P?
DC?(MC?C
4?2@3`f?
?4?? .P.?V?
??
-?
?6.Fd?>8,T4
R?p`Ī
?C(?C?C
^@??#
#4#R????p`PĪ
?C(%??C??|4
RpĪ
D(D
?$T4??p`?
DDr(??MD
?>?:!d4?p?
tDs`yDpT4R?p`Ī
?D(?D?D?,@3P4?/?6?.?.?.?.. ??
NVN??F"d42pĪ
Eh%?	E?-
?
??	??p`0P?
0E2(9EEE
?/?>?
I	?
?0?ܓ
P!?-t/d543?c?TE!?,c? ?hE!?.T4 ?L??E! ?L??E!c? ?hE!?c?TEsb?>Z??R?@J?AB?B:?C2?D*?E%xF!hG??
??	?p`0P?
0F?(9FbF
0?:@3?2@3n?
??????
=?
???M6 ?^28
4
r	?p`ܓ
0!T
?? ?xF!?? ?xF!T4??p`ܓ
@!?????F!????F*4/$???
?p`P?
G(%G^G@*4Ab?+@2?+??P.:4Ar?+@2 ,?-?
??B??
F?
?&@
20Ī
?Gh%??Gr,	4???
?p`P?
?G(?G?G
p?`>?
????!4C<p`Pܓ
?
'ܓ
?!?"d%T&0eQe?G!
? ?!?#t$4+QeleH!QeleH!0eQe?Gp`0ܓ
?d42pĪ
?Hh%??H?42p`P!?

?	? ?T??H! ?T??H'??p`0P?
I(?G	I??-?d42pĪ
,Ih%?5I?-
?
??	??p`0P?
`I"(iIuI
p??>?
???
ܓ
P!?tdT?b?b?I!???4?bc?I!xhc$c?I!c$c?I!?bc?I!?b?b?I8p`0ܓ
?
4
pܓ
?

4
2	?p`!?

?	T???HJ!???HJ'??p`0P?
?J(?G?J??-?dT42pĪ
?Jh%??J=d4?p?
KZ(	KK
?1@^?>
4
?p?
0KZ(	K9KX>
4
?p?
\KZ(	KeKX?>d42pĪ
?Kh%??KVd2p!4Ќ??K!Ќ??K

4
2	?pP!?

?	d?. /?K!?. /?K!?

?	d?wx?K!?wx?K42
??p!?
d	T??(L!??(L!?
d	Tpk?k(L!pk?k(L42?p`Ī
?L8a??Ly9?L?p4R
p`PĪ
?L(?L?LP60?@??42psb?)Z?*R?+J?,B?-:?.2?/*?0%x1!h2g?
??	?p`0Pܓ
?sb?0Z?1R?2J?3B?4:?52?6*?7%x8!h9u?
??	?p`0Pܓ
?sb? Z?!R?"J?#B?$:?%2?&*?'%x(!h)U?
??	?p`0Pܓ
?42?p`Ī
?M8a?Ny9
N?@&D
??p`Pܓ
P!4Cp_?_N!DD?A?B?_?_0N!QQ?Lxh?_P`DN!LL???-?$???	?P`Uf\N!P`Uf\N!?_P`DN!?A?_?_0N!p_?_N!?B4C?+ N!?A+ 3 ?N!?
xh3 ? O!LL???-?$???	?? ?)O!? ?)O!3 ? O!+ 3 ?N!?+ N%4	?p`0Pܓ
@!?3pB&C?O!?1?2&C*C?O!&&?xh*C(I?O!*C(I?O!&C*C?O!pB&C?O!4ClilN!DD?A?Bilml0P!;;?
xhml?lDP!LL???-?$???	??l?r\P!?l?r\P!ml?lDP!?Ailml0P!lilN%4	?p`0Pܓ
@!?1?2?3??l??P!&&?xhl???Q!l???Q!?1??l??P!??l??PR????
p`0Ī
?Q8a??Q?Q?Q? ??u%	?
???p`0?
?Q?8	?Q?Q?Q?=D??%	?
???p`0?
$R?8	1R@R9R?`
EH??b
d4?????pĪ
lR8yR?R?R`,?@P^?
?R???~?P8?!4`%n%?!`%n%?)t
??p`Pܓ
?!?r?s4}q?q?R!__?4W?5R?6M?/1?? ?B?C
xEhF?2?2T!?2?2T!02?2?S)p
??p`Pܓ
?!?n?o4y?a?|T!__?2W?3R?4Mx5Hh6C?-2?.*?/?0?1a?m??T!a?m??T!?a?|T)d
??p`Pܓ
`!?b?c???U!gg?'[?*S?-N?.Ix/Dh0?4m2?(*?)?+?,??(U!4m??(U!???U$	,?	??p`P0ܓ
P!?7?
??U!?
??U!?7`??U!`??U)j
??p0Pܓ
?!?hds?W?WV!UU?*M?-E?.=?/5?00?i#?+?,?1
x2h3?WX$V!?i?WX$V!?W?WV)h
??p0Pܓ
?!?gdq?f??V!ZZ?*R?,J?-B?.:?/5?f(?)?+?0
x1h2f?w??V!?ff?w??V!?f??V*h?	??0Pܓ
?!?ftgdqp?0W!NN?+F?,>?-6?..?0 ?*?/
x1h2??LW!		?)??%hW!??%hW!??LW!p?0W!?hds???V!UU?*M?-E?.=?/5?00x2+h3&?i?+
?,?1????W!?i????W!???V*f?	??0Pܓ
p!?dtedo?g?XX!NN?*F?+>?,6?-.?/)x0$h1?)?.g?{?tX!		?({?k??X!{?k??X!g?{?tX!?g?XX$	0?	??p`P0ܓ
p%	?
???p`0?
LY?8YYiYxY
4@
?+?xqY???d?~P>?2???
?p`0Ī
?Y8a??Y?Y?Y??R,d4???
?p?
?Y?8!ZZ
Z??]dvd42pĪ
?K33?.x&hb????p
`P0	B????p
`P0!h???\Z!???\Z'??p`
P0!?&????Z!?0??u??Z!??u??Z!????Z!?&?????Z!?0????Z!????Z!?????Z33?*x"hT4????p`!??йϻ<[!йϻ<[dT4?????p!?
xhЮ???[!Ю???[!??0[/]<[!0[/]<[!??PO!<[!PO!<[!??0+/-<[!0+/-<[!??07/9<[!07/9<[!??0C/E<[!0C/E<[!??0O/Q<[!0O/Q<[!????<[!??<[!??gi<[!gi<[!???r?t<[!?r?t<[!???~?<[!?~?<[!?????<[!???<[!????<[!??<[!??????<[!????<[(pܓ
0!d-4,0????]!0????]+??p`
P0!?*????^!?4??e?(^!??e?(^!????^!d-4,P????]!P????]!?* ?=?^!?4=????^!=????^! ?=?^
4????
?p`PĪ
_(	__
?+`6 ^?	PEtd
T4#'"4??
?p`P?
h_r(??q_
u>?84R??
p`PĪ
?_(?_?_!??!&&?!??t	d

T4????_!????_
dT
4	2???!t[?_![?_?0?
D`C`I`zd42pT	2?p`!4P{\`!P{\`dT42pĪ
?`h%??`??
dT
42??pd42pĪ
?`h%??`P 4P?
a?(?a~?)4#???
?p`P?
La?(Uaia
?3a:?3?2?3?m?. ?

T
?	?p`!

?4?
?
|a!?
?
|ad42pĪ
?ah%??ap?

4	
2	?p`!????a!???a
4
?p?
(br(??1bNXN,'	TA4@:?p`ܓ
?!??@????
"R$d42pĪ
0dhU?9dpFf?
0?
TdCh%?]d??B
4?????
p`PĪ
?d(?d?dP4A>?.?.?*?@^??rH?
?
?
?^
d
T4R??pĪ
?d(?de
?.?.??????
X?80
2
T4
R???p`Ī
De(Mehe
p.?.?????
T?^0
:
d
T4R??pĪ
?e(?e?e
?.?.`?????
X?,0
!T4??p`?
?ej(?ef`..???@2?e`f?
?
n??
>4>T4R?p`Ī
Df(?eMfF?&0
4??
?p`PĪ
tf(}f?f
??:??hxx???
??
TF?i  
dT4
R??pĪ
?f(?f?f
??8F?
R?T
td
T	4R?Ī
g(gg
?P>?
V?04r?
?p`PĪ
@g(Igpg .?.?
V@.PҰ!?
H?4
Lb 
d
T4R??pĪ
?g(?g?g@3?6?.?.?.?.?.?.????
?
}?

X?<0>d
T	4RpĪ
h(h%h
??>?
B?0*4$???
?p`P?
Xh?(ah?h
??2??2??f?
??
??
%@3?:??n?
	?	>?? 
  ,4 -
#dT4?p?
?hB(%??h??''4
d
2p
d
T4R??pĪ
i(?e!iZ?:?
dT42pĪ
Hih%?QiXT4r?p`!?
?p???Xi!p???Xi42?p`Ī
?i8a??i?i?i?P,d4???
?p?
?i?8?	jj	j??iL?	?0?
0jr(??9j@DZ(	d4?
?p?
hj?8!uj?j}j?0	H??42pĪ
?j(?j?jP?`*H?

???p!"
"??	d
T4??j

4
2pĪ
kh%?	kFt
4
?P?
(kb(1k>k
?3@2?3??}??????		??	??????*?*?*?*??*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?d	42pĪ
?l(?l?l
??`6?.?.~?
<?|<
X2pP0!?
?
d	`W{W?l!`W{W?l42p4	2`!t?V?V0m!?V?V0m!4?R?R?!?R?R?

d	
2p!?4?Y?Y?m!T?YZ?m!?YZ?m!?T4?Y?Y?m!?Y?Y?m4	2?!

td`X?X?m!`X?X?m!td`X?X?m
t	dT42?Ī
dnh%?mn??!!d!T
!4!R????pĪ
?n(?n?n
?@:?@??5!t?O?O?n!?O?O?n
dT4
R??pĪ
o(
oo,??P6@
^.*"Vd42pĪ
<;"4??
?p`P?
dor(??mo
?>?8
d
T	42??pĪ
?o(%??o9)B
?p`P!??
?4
bb?o!bb?o;*?L%xM!hN??
??	?p`0P?
p?(%pr?
@3?:P.?2 /?:@3?@3>?
d@3?}?
M?
??
U ??????B ?!
~?* ?a?2@3!:?????>?

?
?2 ?an0* ??f`* ??
f?* ?!f?* ?af?* ??} 2@3?2?????>?
??
? /AB@3?@3F?
l@3??@3a<@3A:/!:/??/!:/?:@3?:?A??A>?
??A??AM?
? ??????@J ?!
8??(2 ?a8v0(2 ??8v`(2 ??
8v?* ?!?p2@3?:?A??A>?

?
???md$t
n?
?2<2<2 B">(&&z* 
02<2,<.:0<2:4<628<::<<>:@L*JzN 
?$=pP$VtTnX?Z?\?^?dHf>l&nZplr V*TY
?$?6?6??? TB$!M&T)e&
Arb??p`P0Ī
?r(?rs@3<@3?4P4?6?.?.?*@3@^?
??
M?
?8
:p,8""*4???
?p`P?
Xs?(as?s
s?2s?js?2@3p2?s?2@3?f?
??
?@3p:?s?2@3?f?
}?
?)}(J
t?m?J??&#)	??p`0P?
?s2(?st
?G@2PH?jPH?2`?2`?f?
??
?r->:?22?V??L
"td42?Ī
\t(%?et?T42pĪ
?th%??tjD
??
??	p`0PĪ
?t(?tu@3?<@3?2/?:/!?/?:/!:@3?:?????6?
e???????
m?
?0??8J&LX "*4(???
?p`P?
Xu?(au?u?1?@HR?3?2?3!:?3???3?U?3?B?1?U??d??y
]<A?)@
0	?p`P0?
?uZ(	K?uX?N*40&???
?p`P?
v*(vNv?1?B4Ax??3?2?3A:?3???3???3?B?1?$??rFmQ??
]>Q?5@

?p`0?
?vZ(	K?vZ?N*40&???
?p`P?
?v*(?vw?1?B4Ax??3?2?3!:?3???3???3?B?1?$??F?Y??
e>Q?=@

?p`0?
TwZ(	K]wZ?N)4???
?p`P?
?w?(?w?w0 *4???>1*4/$???
?p`P?
?w(?wxP*4Ab?+@2?+??P.:4Ar?+@2 ,??~?B??
F?R*@
%
%c????p
`0PĪ
Lx(Ux{?
@3?
: /A: /?
: /?
: /!
: /?	: /a	:P.A:P.:P.?:P.?:@3!	<@3?:/?:/?/?:/:@3`2?????>?
u?????B@3	<@3?:/:/??/:/?:@3`2?????>?
u?????B@3A<@3?:/:/??/:/?:@3`2?????>?
u?????B@3<@3?:/:/??/:/?:@3`2???>?
u???B@3?<@3?:/:/??/:/?:@3`2?????6?
U?????:@3?<@3A:/?:/??/?:/?:@3?:?????6?
e?????@#*@3`2@3An?
??
??
}?
]
?
=?
M?
-?
=?
?
-?

 ?
%?
?%?
?&?
?'?
](?
-)?
=,?
?p&Q$$$
$$24NNf???"8$H**,J.p0*2?4?:8?
?->?*??pܓ
`!4
4??dT4 Y8!xhY?P!Y?P!?T Y8!? Y8! Y8K:?$2?%*?&%x'!h(S?
??	?p`0P?
?2(?^? 
@3A:@3?n?
????@3?2@3?f?
?@3?>?
b@3?1????
&iFFZ!q6*??":>=/2 K:?$2?%*?&%x'!h(S?
??	?p`0P?
Ā2(̀? 
@3A:@3?n?
????@3?2@3?f?
?@3?>?
b@3?1????
&iFFX%q6*??":>!:2 K:?2? *?!%x"!h#I?
??	?p`0P?
x??(??Ɓ 
@3A:@3?n?
????@3?2@3?f?
?@3?>?
b@3?1????
&U<<Z!q6*??":>!92 K:?2? *?!%x"!h#I?
??	?p`0P?
,??(5?{? 
@3a:@3?n?
????@3:@3?n?
?@3?>?
b@3?A??
?
&Y<<Zi2(??":>%". K:?12?2-?3(x4$h5 4t l????
p	`P?
?(??@3?2@3@2@3Pf?
??
??
?=?:"?
2.O=?	5?
-?(?#?
?xh4&"
p	`P?
d??(m?y?
@3p>?
??Y"gY?Q?
I?A?9?1?,?'?"xh42,??
p	`P?
Ѓ?(m?ك???"O=?	5?
-?(?#?
?xh4&"
p	`P?
$??(m?-????"gY?Q?
I?A?9?1?,?'?"xh42,??
p	`P?
???(????
@3?>?
??1"
d
T4R??p!d4?p?
؄s`݄x

4
rp!?d
Ё????!Ё????
4r????p`PĪ
4?(=???A?#.?#.?#.?#.?#.?#.?#.$.$??
Z>JD
??6

4
2pĪ
??h%?????4
R
p`PĪ
̅(Յ???>?
^0$hPp2T4
2?p`Ī
?(?,?@3?2??f?
??
\D"
dT4r??pĪ
X?(a?m???>?
d?*4	2p`PĪ
??(????
@3?2??f?
??
F$D(2?
??	p`P0Ī
؆(???^!?$X?4
t	dT42?Ī
?'20Ī
|?`??4

4
2pĪ
??h%???@84?pĪ
??(%?ŇF?N

4
2pĪ
??h%??tD,d)4( ???pP?
??(!?3?
0??>?$f%Ip????N#
4????
?p`P?
h?b(q????3?4?3?4?3?9I	?p`P0?
??B(?b??\2?4?p`P?
ԈB(?b݈??42
$h
4!???
?p`P?
??(?B?
?3?2?3pj?3?2?3p 3?2?3pH???6???6%?,
	6
%f?6?X?6??,
	6
]?e6Xe6M04?????
?p`P?
??j(ɉ\?rP%*`??:?3!
r?3?:?3?
:?3!	5?3?D?3a?:),16i8?,?
@?B	D?HaJ)L?N?V?XYTMZU\YTJ?^a`IbH?d$f.h.j.l&n2pBr(ndl?6d,f.h.j.l&n2pBr ndl?6d f.h.j.l&n2pBr"nfl??df.h.j.l&n2pBr ndl?6df.h.j.l&n2pBr ndl?6df.h.j.l&n2pBr"nfl?L86,42,86,><,?+.?+.?+.?+.,.,.0,.P,.?
Vp,.?,.?,.?,.?,.-.0-.P-.p-.?-.?-.?-.?-...0..P.*@3!f?
?4! ?ddn@??2?4?6L8 4b:?4?.4
d
T	42??pĪ
t?h%?}??!!f?x^>JxrT4R?p`"	???`Pܓ
?!%%?t4?D	4E	??!?D	4E	??

4	
2p!d0?	R?	??!TR?	z?	?!R?	z?	?!0?	R?	??

R0Ī
X?(a??4?

20Ī
x?(??+?4p42pĪ
??(????\P*b		R01	t>d=4<:P?
??@ (???/6?
?l?B?P	pܓ
?!4М	5?	?!М	5?	?4Rp!xh	
ܓ
p!4??	?	X?!??	?	X?	?pܓ
p!4?9	:	??!?9	:	??$xh
'ܓ
?!t%4&??	?	ȓ!??	?	ȓ#h	$`ܓ
?!t"4#@?	??	?!@?	??	?!t%4&?	|?	ȓ!?	|?	ȓ		Rp!4??	??	p?!??	??	p?h	r0	?0ܓ
p?0?
̔B(??Ք?*">?0Pܓ
@!?<?Ef	gf	ܔ!yy?p?g?^?U?LxDh3?!??=tDdCgf	uh	??!gf	uh	??!f	gf	ܔdT?p!4p?	Q?	l???!==h/?$? tdT4`G	{G	??!`G	{G	????0!???td	Tp`	?`	ؕ!p`	?`	ؕ!4??	޲	?!??	޲	?h
d
rp!4
T0?	??	@?!x??	?	P?!??	?	P?!0?	??	@?

2??`!t

T	4P?	p?	??!P?	p?	?? `ܓ
?!)
)? ??t4$P?	??	Ԗ!?T??	״	?!??	״	?!P?	??	ԖpPܓ
`!d4??	ύ	D?!d??	ύ	D?!h4?	Z?	p?!4?	Z?	p?!??	ύ	D?!dpܓ
?!4@?	??	??!@?	??	??//?*xhtdT
4??)4,"???
?p`P?
@?(I?P?
`-	p???)4.$???
?p`P?
??(????
`-	??)4,"???
?p`P?
??(ɘИ
`-	`?
f %	4)"?
?p`P?
?(ɘ	??j?+T-4+$???p`?
2 ?
?*T

4
2pĪ
0?h%?9?t%h	p`0ܓ
?d42pĪ
p?h%?y??2??
p`0Ī
??8a?????????)?4|
dT4???pĪ
؛(???
@*	@:p*	@4@3?60+???
????
d
T	42??pĪ
,?h%?5??242?p`Ī
T?8a?a?p?i???)V%	?
???p`0?
???8	????????'
Id??z14G<???
?p`P?
??P (????*6?
??r^dT4
rpĪ
,?(5?9?
?*	@d42pĪ
T?h%?]??:2???
?p`0Ī
??8a?????????'?,d!4 ???
?p?
ȝ?8՝??
4?8
?*	?p??P*
?d???

4

rpĪ
?(??
?*	@,d!4 ???
?p?
L??8Y?h?w?
4?8
?*	?pp???*
?J???

4

rpĪ
??(???
?*	@2?
?p`0Ī
??8a?͞@՞?*=#h-tedd4c\????P?
??@ (?(??'6?

?"dB9
h(4\R???
?p`P?
h?&P (q?|? (6?
]
?r89
h?4?????
?p`P?
???@ (ş?p)6?
^)??(?P(?@)??(M?(:M?6r?!6r?*r*
*r?*r**r&*rR$!?	?p`P0ܓ
?!?? ?	?	0?!h?		L?!?		L?!?	?	0?,t;4:6P?
??f@ (ɠԠp+6?

r$Z"	?p`P0ܓ
?!h???$?
	&	?!?
	&	?d42pR?
??	p`P0Ī
X?(a?¡"P4?6p1.?1.?1.?1R@3:@3?n?
??1?@3!:@3@2@3?f?
??
??1%@3??
(?$
@:`$D&$:`$J 8?"
t	dT42?Ī
?h%???T,4	RpĪ
0?(9????12$42pĪ
X?(??a?@@*bp0Ī
|?(????@3?4@3?4@3@f?
??
??
NHzT
"*bp0Ī
̢(??բNHz`
"*
d
T	42??pĪ
?h%?
??T,*	td4P?
8??(A???P4p6`1^?0.`1V?0.`1V1.`1V 1.`1V@1.`1*4??PVVVV:z<4	2pĪ
??(??̣@3p4@3?f?
??

TH`*dT42pĪ
??h%???~*	td4??
$??(-?D?
4`>?0.?0*4??F?Fx?>d42pĪ
p?h%?y?X\??
???p`0Ī
??8????Ǥ

`,?8HV?
???p0)??v\<
?	?0?
?s`?@
t
dT4
r?Ī
?(?%?
`,@8?
t	dT42?Ī
H?h%?%?T42`!t??	d?	T?!??	d?	T?42p`PĪ
??(??˥@3?4P4?6@2*@3?^?
??
|?0*T4
r?p`Ī
?(???
@3?>?
Z?sP
L2Lf?&&x"hT4???p`Ī
D?(M??GP22???
?p`0Ī
p?8a???"2???
?p`0Ī
??8a????????2?X?

T
2p!

d4
E
Ħ!
E
Ħ8
't?'d?'4?'?????P?
$?R(-???$
@3?2@3P4@3pf?
??
?@3P4@3pf?
?@3P<@3pn?
?@3P<@3pn?
@3P<@3pn?
M?
X?Furb"
6?rh"
6rh"
6rh"
6rh"
6rh"
6r h""
6??^"
64$R?	??p`0PĪ
?(?O?
@3!<@3@n?
?@3@?@3@?@3@I@3@??
86D?> ?D ?D ?D ?
D ?D ?D ?
D ,4
Rp`PĪ
??(??Ũ
@3?6?6Z@3???
??
FNX
T
4	2?p`Ī
?(?????61??\
dT4???pĪ
(?(1???
?
@:?
@h?(?#
4????
?p`P?
l?J(u???@3@2sPn?

????#
4????
?p`P?
??B(??ͩ
s@6?

?
?&?d	42pĪ
??(???`
`606.@6.P6.`6.p6J\\\\\
\d42pĪ
D?h%?M??!

T40z
Sz
?m!0z
Sz
?mdT42pĪ
??hU???v@T
4	2?p`Ī
??(%?ɪ?^!dp
?
,?!p
?
,?2
p!4 
9
??! 
9
??)
)h%4%????p`PĪ
H?(%?Q?
?m**-td4?????P?
??j(??ǫ
@3P2@3`2spb?
p??
??
p??
p??

?
4?4>J@h
$!@h
$)@h
$)@h
$)@h
$T
4r?p`Ī
 ?()?E?
?62@3?2@3pf?
??
n6j2d42pĪ
h?(q??.0
`6?3.?3.?3.?3.4.4. 4.@4.`4.?4.?4.?4.?4.5. 5.@5.`5.?5.?5.?5.?5.6?8.d42pĪ
?h%??
N]?!4
hT4
r?p`Ī
@?(??I?b?&"@dT42pĪ
t?(%?}?4????????d
T	4Rp
T4
R???p`Ī
ĭ(ͭ?@3?2@3@f?
??
TF?"?42??
p`PĪ
?(?0?@3?2@3?f?
??

BF	",,?&x!hdT4?????pĪ
l?(u???
@3AF?
??(6?(604?????
?p`P?
??b(Ů?
@3?2@3?`pp?R@3p??
??
?
?X?"2?"*P*-
?
??	??p`0P?
,?b(5?h?
@3?2@3pf?
?@3p?@3p?@3p5@3p???
2???d?n?n?ni
nin?n?04?????
?p`P?
̯?(կ?
@3?6 7\@3?2sо?
?@3?2s!?@3?:s????
,?@dl9???
aT???
}T???
|0T"4*$p`P?
h?(q?y?
4AZ?P0

R??`!4
pA
zA
??!?
tTzA
?A
??!??A
?A
??!?A
?A
??!?tzA
?A
??!pA
zA
??

d
2p!4
K
?!
K
?d
T42????pĪ
`?(%?i???l
dT
4	2??pĪ
??()???A?@42
??`!?
t	T??	??	??!?
t	T??	??	??!??	??	??
d4????
?pĪ
?8)?2?A?
?
p@:??`3??:?

4

rpĪ
`?(i??
?
@,d!4 ???
?p?
???8????ʲ
4?8`,?@???

ò??2-N?P@@?&	4
??	?p`?
??8?	
?????2?H
?,d4???
?p?
P??8	]?l?e??3-LY?
d
T	42??pĪ
$!p!d
T4??	??	??!??	??	??

4
r	?`P!t
?w
?w
̳!?w
?w
̳!t
?w
?w
̳,,x#hB
?td
4?P???{?u?o?j?W?	L?
A?!xh

,	,?'?!xh?

R0Ī
??(??`?4?

4
RpĪ
??(?????h"h"KK?E?@?;?2??xh	0xh
4

rpTT?K?@8.P8.`8B??:Z
Z4t	d42?Ī
??(????u`6?8??
4r????
p`PĪ
̷(շ?u>?8?!		?	??p`0P!? ?
;
?! ?
;
?
td4???P

t
?P!4??
??
@?!??
??
@?	4?
?p`P?P!&&?td4??
??
??!??
??
??
4????
?p`PĪ
?(???
??
p2@3An?
??
?@3??@3`->0??6
0?6*	???
??	p`0PĪ
P?(Y?q?
??`2@3?n?
??
!?D&D?8dT42pĪ
??h%????T
4	2?p`!?@?

?
??!@?

?
??!T??
W?
?!??
W?
?!
!d
!T	!4!2??pĪ
(?h%?1???,d!4 ???
?p?
`??8m?|???
4?8
??
?p????7
?J???&	4
??	?p`?
???8?	ɺغѺ??7?H%?&	4
??	?p`?
??8?	?$???8
?B~??04>4???
?p`P?
X??(a???
?3?B?3?z?3?2?3?b?3??3???3! U???A????
??9J?d
04@6???
?p`P?
??(???
?3A:?3?2?3?}?59@$2???
?p`0Ī
0?8a??"?R????
p`0Ī
\?8a?i?x?q???8???42p!d ?
/?
??! ?
/?
??!d ?
/?
??R?
?p`0Ī
?8a?????????9Mz?R????
p`0Ī
 ?8a?-??9?4?/x+h't/'d.'4,'&????PĪ
h?(q?~?
??2??!U?
4

rpܓ
0!??	??p`P0ܓ
p%	&?
???`P0ܓ
?!???
t?k?S?
??3?&xht%?Y?
?	?'xh		?p`P0?
?<.?<???6=.=??A>?<.?<??A??
??
M?
?
??
(??	|<
~<~?eR@DR
HD\DH< :

4
2pĪ
D?h%?M?^@B?0!?t
d	?@?T?!T@???`?!@???`?!?t
d	T?@?T?!?@?T?#4?
p`P?
??r(?????fn?d42pĪ
?h%?!?Xn,p`!mmhh4[?L?F?Ax4?(???T????(?!????(??p`0ܓ
?!hj??T?@?????!@?????h
4
?pܓ
@T
4	2?p`Ī
??(??<???p`0ܓ
`!T???!???XI?C?;?	3?
+?#?x
h?
??	?p`P0?
??b(?????>msb?5Z?6R?7J?8B?9:?:2?;-?<(x=$h> 4? ~????
p	`P?
??B(??N?
?^?2??:?:?:p?:p??:p??v?
??
m?
=?
???>?
??
$-95
uQ
?IBBB?<@nt?!0C1?	)?
$???
xh
 p`0ܓ
?T
4	2?
?p!d?ϖ??!?ϖ??dT4
R????pĪ
?(?'?
P?@:P?@n?
???R????
p`0Ī
P?8a?]?l?e???;?X=(	d4?
?p?
???8?	ɺ???J?h(	d4?
?p?
???8!????????;?d?h	?0?
?r(???@VZ**???xh?0

4
2pĪ
X?(a?h?
?`$>#xh
4
?pܓ
@,d4???
?p?
???8?	ɺ??QJAv,d4???
?p?
???8!???]d?v

4

rp42p`PĪ
0?(??9?
|8p8"

4
2pĪ
X?(a?n?
@3`8F?
N*P

4
2pĪ
Ԏ

20Ī
??(????0@4t
d4!4??h?!t????!????!??h?
T42???p`Ī
(?(1?7???h9!t#B#??!#B#??
hdT
4	RpĪ
??(????
?@6A. ?.0?. AQz&t\ 
 $
dT
4	2??pĪ
??(??????Q`4	RpĪ
?(?!??. ?.0?.^ 20??4d	T2pd	T42pĪ
d?(m?x??@6?@
?~&z,

4
RpĪ
??(%???I
4????
?p`PĪ
??(????`A6@A^@A?`A?]z(z?z.z20Ī
?h%??T
4R?p`Ī
4?(=?q??6?.P8.P?.p?.??.??.??.@V????T
?M	^?d42pĪ
??h%???1	FRp!?
d	 *&*??!4&*N*??!&*N*??!?
 *&*??! *&*??!hW._.?!W._.??p`Pܓ
h!4pO?O@?!???O?OX?!??O?Pl?!?O?Pl?!??O?OX?!pO?O@?rp`0?
??:(????
@3@>?
?Dh

4
?ph"	?????p
`P04
R?
?p`PĪ
P?(Y?|??e?4?6p@??e?4ྠ@??`
|??p?
?v??

4
2pĪ
?K

4
2pĪ
??h%???<

4
2pĪ
??h%????2?
?p`0Ī
?8a?%?q`4R???p`Ī
???2?
?p`0Ī
|?8a?%??qj-(
T4????p`?
??r(????
J?B

20Ī
??(????""

20Ī
?(??	?(")4"???
?p`P?
8??(A?P?
4`:4?hp1N|`?@td
4	R?Ī
??(%????<
T4R???p`Ī
??(%????.?dT4?????pĪ
??(??	?
@3A:PFPn?
??
Ep?2"t
T4????p`Ī
8?(??A?]h?2"d)4;0???
?p`P?
x?r(????
@3@2?x?f?
??
?h?,(6?t
d4&

??	??p`P0?
???(???

?x@24?jPy@???
!F?y}2&

??	??p`P0?
8??(A?Z?

 y`24?j?y`???
%F??2h
4
?pܓ
020ܓ
d4?!t?????!????? 
??`P0ܓ
p!		htp?Ԕ??!hp?Ԕ??!p?Ԕ??
t
dT4
r?&
&4&?????p`P7(?#?	x
h
??	?p`P0ܓ
p!?"????P?!????P?*h4?
?p`Pܓ
pBp0!?
d
T	??????!??????H
HhCdT
4	Rp!
!?xh
d
?p**hd	4Rp**?!?xh
d
?p2
2x*hd4
rp::?1?)?!xhd4?p88?2x*hd
4?p
hT4r?p`Ī
??(?????A.?A.Bp@bF8?0?+?&x"h4:0????
p	`P?
4?"(=?C? Bm?
`T
4r?p`/	?h"J?pPܓ
?!???????x?o? fx!^dIM?>?/?F$?G?H4Q0???`?!0???`?2 ??h<??pܓ
!???{?r?i?`?WxOd:>?/?8?9T;4B??????!??????		h?!x????H?!x????H?!????H?h	pܓ
h!4??????!??????!?x??????!??????!xP???H?!xP???H?!P???H?*	?xh&0ܓ
?-?=	??pPܓ
 !??x?h??r?a?P???.?#?9?:d;4<???H?!???H?0"xh!?
??	?p`0Pܓ
?
dT
4	2??pĪ
??(??
?X j&	&?
???`0Pܓ
?!???
t?k?S?
??2?&xht%??#??!??#??)K	??p`0Pܓ
 !?#	?$????x?!????x?XX?O?E?=?	8?
3?.?)?
!xhd#4" p ?`P!HH?B??
p4

4
2pĪ
x?(m???<< ?pܓ
H!''?
?
dT
?
?
??!4?
?
??!?
?
??!?
?
??d
4	RpT4r?p`Ī
?(!?2?PB*@3?^?
??:"!4%
%
??!?
?d
%
%
xhT4??p`Ī
4?(u?=?f0

4
2pĪ
\?()?e?6D 
T4R???p`Ī
??(????d|Y

4
2pĪ
??(m???<6 !''?
?
dT
`#
u#
??!4u#
?#
??!u#
?#
??!`#
u#
??rp`0ܓ
8 $?p0ܓ
?!d"?2
?2
,?!  x? ?!?2
?2
D?!T#?2
?4
X?!?????{?
h?4
85
t?!?4
85
t?!???
h?4
85
t?!? ?2
?2
D?!?2
?2
,?T4
R?p`Ī
?(??!?P0YF">,d342*???pP?
\?B(M?e???m	!!d!T!4!R????p#
#xh4?p`P!4@
Z@
?!@
Z@
?!4P1
z1
?!P1
z1
?d4?pܓ
0!h -
V-
??! -
V-
??!h -
V-
????p`0Pܓ
P++x'h	#t#d#4#????PĪ
??(????
@3P6?B*@3`^?
??
??
??4?0*48.???
?p`P?
??b(M????,?!''?
?
dT
`J
uJ
??!4uJ
?J
??!uJ
?J
??!`J
uJ
??T4
R?p`Ī
l?(??u?Pj?F">xhT4??p`Ī
??(u???f-9T	42?p`Ī
??(????L68
t
dT4
r?Ī
?(?7?`??

4
rpT42pd	T42pĪ
\?(e?l?
a
`jm4rp`PT4r?p`
t	dT42?42pĪ
??(????a
`6?B.?B.C.C."C.2C?

20Ī
?(???B=dT4
2????pĪ
@?(%?I??"20Ī
`?`e??(	d4?pPܓ
?)	td4P?
???(????
?3??
dT	42??p42p
4
?pܓ
XBĪ
?(%???2?p`P0Ī
0?(??9?e~>0	dT4pĪ
d?(m?s?BCfrtd
T	42???

4
2pĪ
?#d
T4rpܓ
0

4
?p4?p`P?
??R(?????B]dT42pĪ
?`!??BĪ
8?(%?A?L-
U?td4S
???Pܓ
PBĪ
|?`?? t	d42???
Ȍ
7?
bC??
??
bC

4
Rp??
ߍ
??
yCԍ
?
?C?
&?
yC?
'?
?C	4r?p`??
]?
:?
?C:?
RP	"??
ˑ
U?
?CU?
Pd
4R??p??
??
??
?CR??p
`0??
?
/?
 Db?p`0??
o?
??
OD	d4???p??
̕
?
{D?
d4?pP

4

RP4??PB		b

4

rprp`0	tdT4?Pܓ
?dT4r????p%%htdT4??d
T4rpdT4?p	?0??
C?
c?
?Ec?
rpP0	?0??
?
?
?D?
	

???
?
??
8F??
d4?p`pp
42????p`PR????p`0??
^?
??
UH??
#?
?
kHR?
X?
kH??
???p`0??
%?
J?
?FJ?
%?
??
G+h ??
??p`0l???
?
?H?
??
#?
?H??
??p`0??
;?
??
?G??
;?
?
?G??
??
?G??
??
??
?Gr0??
F?
w?
?FrP	
td4
R??А?
?
6?
p?
V?
p?
p?
	
td4
R??А?
?
9?
s?
Y?
s?
s?
	td42???
??
 ?
6?
	td42???
k?
?
??

tdT4??
dT4???p'
%
??	??p`0Pܓ
*
1
??	??p`0Pܓ
p
4?????p
`P!!4#!????p`P'
'
??	??p`0Pܓ
(.	d?4???pPܓ
?

4
?Ph???

?p0P+	??	??p`0Pܓ
td4?P-td4?????Pܓ
@dT4
?p3"t?"d?"4?"???Pܓ
?"
"t	"d"T"4"2?+	??	??p`0Pܓ
?42p??
??
??
?Ht
dT4
R???hd
4rpt4?PdT
4R????p4????
p`Ptd
4	R?t?@(@?Ht4?Pd	4Rp4	Rp??
AA
I
?t
d	4R?
?E?E%I
4R????
p`Ptd
4	R?t?%F8F
I/4
???
?p`Pܓ
@
4
2????p`Pd4	Rpt??I?I
I4	Rpt?J"J
Ix
h?hd4rp!4?`?a?!?`?a??ܓ
@Bt??e?e?ebrP42p??
rl?l?H4??p`??
m?m=I42p??
?m?m?HdT4R????p?P42p??
^pip?H20t?CwbwZIbw

B##xh4r???
?p`Pr
P
d4r???pP42p??
y~?~xI1
dT4????pܓ
?4
Rp??
?Ë?I̋֋?Id4
rp??
??S??I\????I42p??
?????H42p??
8?D??I	F?
??	p`P0!?E@?????!@?????
td
T	4R?20??
~????IR0??e??3z?K??9??[??I??)p?R??.{?q?G??= } ? !X!?!?!1"r"?"?"1#	

 !"#$%&'()*+,-./0123456789:;<=>?@EffekseerNativeForJava.dllJava_Effekseer_swig_EffekseerCoreJNI_EffekseerBackendCore_1GetDeviceJava_Effekseer_swig_EffekseerCoreJNI_EffekseerBackendCore_1InitializeWithOpenGLJava_Effekseer_swig_EffekseerCoreJNI_EffekseerBackendCore_1TerminateJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1GetCurveCountJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1GetCurvePathJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1GetMaterialCountJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1GetMaterialPathJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1GetModelCountJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1GetModelPathJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1GetTermMaxJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1GetTermMinJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1GetTextureCountJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1GetTexturePathJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1HasCurveLoadedJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1HasMaterialLoadedJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1HasModelLoadedJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1HasTextureLoadedJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1LoadJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1LoadCurveJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1LoadMaterialJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1LoadModelJava_Effekseer_swig_EffekseerCoreJNI_EffekseerEffectCore_1LoadTextureJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1BeginUpdateJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1DrawBack_1_1SWIG_10Java_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1DrawBack_1_1SWIG_11Java_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1DrawFront_1_1SWIG_10Java_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1DrawFront_1_1SWIG_11Java_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1EndUpdateJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1ExistsJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1GetDynamicInputJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1GetInstanceCountJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1GetTotalInstanceCountJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1Initialize_1_1SWIG_10Java_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1Initialize_1_1SWIG_11Java_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1LaunchWorkerThreadsJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1PlayJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SendTriggerJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetBackgroundJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetCameraMatrixJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetCameraParameterJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetDepthJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetDynamicInputJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetEffectPositionJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetEffectRotationJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetEffectScaleJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetEffectTransformBaseMatrixJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetEffectTransformMatrixJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetLayerJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetLayerParameterJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetPausedJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetProjectionMatrixJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetShownJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1SetViewProjectionMatrixWithSimpleWindowJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1StopJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1StopAllEffectsJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1UnsetBackgroundJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1UnsetDepthJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1UpdateJava_Effekseer_swig_EffekseerCoreJNI_EffekseerManagerCore_1UpdateHandleToMoveToFrameJava_Effekseer_swig_EffekseerCoreJNI_delete_1EffekseerBackendCoreJava_Effekseer_swig_EffekseerCoreJNI_delete_1EffekseerEffectCoreJava_Effekseer_swig_EffekseerCoreJNI_delete_1EffekseerManagerCoreJava_Effekseer_swig_EffekseerCoreJNI_new_1EffekseerBackendCoreJava_Effekseer_swig_EffekseerCoreJNI_new_1EffekseerEffectCoreJava_Effekseer_swig_EffekseerCoreJNI_new_1EffekseerManagerCore?#?'P?&?(S?#?(P?(0?/?/?/?/?/?/~/l/V/D/4/ ///?.?.`/?().)D)R)j)?)?)?)?)?)?)*6*N*f*?*?*?*?*?*?*?*+"+4+@+V+l+?+?+?+?+?+?+,*,>,R,`,t,?,?,?,?,?,?,---&-8-D-T-b-~-?-?-?-?-?-?-?-?-...,.>.N.d.z.?.?.?.?.?.0?(?(?(t(d(P(:(*( (?((?'?'?'?'?'?'?'?'(KERNEL32.dllglBindTexture?glCullFaceCglDepthFuncDglDepthMaskFglDisableJglDrawElementsOglEnablejglGetBooleanvoglGetIntegerv?glIsEnabledglClearglClearColor>glCopyTexSubImage2DBglDeleteTexturesIglDrawBufferiglGenTextures4glTexImage2D7glTexParameteriVglViewportcwglGetProcAddressOPENGL32.dllD3DCompileD3DCOMPILER_47.dll[QueryPerformanceCounter\QueryPerformanceFrequencyWideCharToMultiByte?CloseHandle?WaitForSingleObjectEx&GetCurrentThreadIdHGetExitCodeThread?ReleaseSRWLockExclusiveAcquireSRWLockExclusive?TryAcquireSRWLockExclusiveWakeConditionVariableWakeAllConditionVariable?SleepConditionVariableSRW9EnterCriticalSection?LeaveCriticalSectionuInitializeCriticalSectionExDeleteCriticalSection5EncodePointer
DecodePointer?MultiByteToWideChar?LCMapStringEx?GetSystemTimeAsFileTime?GetModuleHandleW?GetProcAddress?GetStringTypeW?GetCPInfo"GetCurrentProcessIdxInitializeSListHead?RtlCaptureContext?RtlLookupFunctionEntry?RtlVirtualUnwind?IsDebuggerPresent?UnhandledExceptionFilter?SetUnhandledExceptionFilter?GetStartupInfoW?IsProcessorFeaturePresent!GetCurrentProcess?TerminateProcess?RtlUnwindEx?RtlPcToFileHeaderrRaiseException|InterlockedFlushSListkGetLastErrorMSetLastErrortInitializeCriticalSectionAndSpinCount?TlsAlloc?TlsGetValue?TlsSetValue?TlsFree?FreeLibrary?LoadLibraryExW?ReadFile?CreateThreadiExitThread?FreeLibraryAndExitThread?GetModuleHandleExWhExitProcess~GetModuleFileNameW^HeapFreeaHeapReAlloccHeapSizeZHeapAlloc?FlsAlloc?FlsGetValue?FlsSetValue?FlsFree?LCMapStringWoGetLocaleInfoW?IsValidLocale'GetUserDefaultLCID]EnumSystemLocalesW?GetStdHandleYGetFileTypeGetConsoleMode?ReadConsoleW?SetFilePointerEx?FlushFileBuffers3WriteFile
GetConsoleOutputCPWGetFileSizeExFindClose?FindFirstFileExW?FindNextFileW?IsValidCodePage?GetACP?GetOEMCP?GetCommandLineA?GetCommandLineWBGetEnvironmentStringsW?FreeEnvironmentStringsW?GetProcessHeaphSetStdHandle?CreateFileW,SetEndOfFile2WriteConsoleW?RtlUnwind?V??????????@??.??>??XXXX PNG chunk not known?UI!A?P5?6??6??7??:??=??@??C??E?pJ?pL?M?@T??W??e??e??f?@g??g?h?Pi??i??i????H????
?pA??????
??A??????
??A?????e?0B?????0??????
u?????2??-?+?] ?f???????????????   0E???????????????????4E? ?? ?? ?? ?? ?? ?? ???D?.. ??"??????$?? ???F??F??F??F??F??D???? ????pE??I?C?????????


????PSTPDTPSTPDTPH??H??H?PI?                          abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ                          abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ?`?y?!????????@~?????ڣ ??@????ڣ ??A??Ϣ???[??@~??QQ?^? _?j?2??????1~?????????????.?AVexception@std@@???.?AVbad_cast@std@@???.?AVbad_array_new_length@std@@???.?AVbad_alloc@std@@???.?AVruntime_error@std@@???.?AVsystem_error@std@@???.?AV_System_error@std@@???.?AVfailure@ios_base@std@@???.?AV@@???.?AV@@???.?AV@@???.P6AHXZ???.?AV@@???.P6APEAXII@Z???.P6AXPEAXI@Z???.P6APEAXI@Z???.?AV@@???.?AV@@???.?AV@@???.?AV@@???.?AV@@???.?AVlogic_error@std@@???.?AVlength_error@std@@???.?AVout_of_range@std@@???.?AVbad_function_call@std@@???.?AVbad_exception@std@@???.?AVIReference@Effekseer@@???.?AVReferenceObject@Effekseer@@???.?AVTextureLoader@Effekseer@@???.?AVMaterialLoader@Effekseer@@???.?AVModelLoader@Effekseer@@???.?AVEffekseerSettingCore@@???.?AVSetting@Effekseer@@???.?AVerror_category@std@@???.?AV_Iostream_error_category2@std@@???.?AV_Facet_base@std@@???.?AVfacet@locale@std@@???.?AU_Crt_new_delete@std@@???.?AUctype_base@std@@???.?AV?$ctype@D@std@@???.?AV?$_Func_base@XW4LogType@Effekseer@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@???.?AVCustomTextureLoader@@???.?AVCustomModelLoader@@???.?AVCustomMaterialLoader@@???.?AV?$_Func_impl_no_alloc@V@@XW4LogType@Effekseer@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@???.?AVRenderer@EffekseerRenderer@@???.?AVTexture@Effekseer@@???.?AVResource@Effekseer@@???.?AVFileInterface@Effekseer@@???.?AVDefaultFileInterface@Effekseer@@???.?AVTextureLoader@EffekseerRenderer@@???.?AVSpriteRenderer@Effekseer@@???.?AVRibbonRenderer@Effekseer@@???.?AVRingRenderer@Effekseer@@???.?AVTrackRenderer@Effekseer@@???.?AV?$AlignedAllocationPolicy@$0BA@@SIMD@Effekseer@@???.?AVModelLoader@EffekseerRenderer@@???.?AVRenderStateBase@EffekseerRenderer@@???.?AVTexture@Backend@Effekseer@@???.?AVGraphicsDevice@Backend@Effekseer@@???.?AVVertexBuffer@Backend@Effekseer@@???.?AVIndexBuffer@Backend@Effekseer@@???.?AVShader@Backend@Effekseer@@???.?AVGraphicsDevice@Backend@EffekseerRendererDX9@@???.?AVVertexBuffer@Backend@EffekseerRendererDX9@@???.?AVDeviceObject@Backend@EffekseerRendererDX9@@???.?AVIndexBuffer@Backend@EffekseerRendererDX9@@???.?AVShader@Backend@EffekseerRendererDX9@@???.?AVTexture@Backend@EffekseerRendererDX9@@???.?AVIndexBufferBase@EffekseerRenderer@@???.?AVMaterial@Effekseer@@???.?AVMaterialFile@Effekseer@@???.?AVMaterialCompiler@Effekseer@@???.?AVModelRenderer@Effekseer@@???.?AVModelRendererBase@EffekseerRenderer@@???.?AVShaderBase@EffekseerRenderer@@???.?AVVertexBufferBase@EffekseerRenderer@@???.?AVCompiledMaterialBinary@Effekseer@@???.?AVios_base@std@@???.?AV?$_Iosb@H@std@@???.?AV?$basic_ios@DU?$char_traits@D@std@@@std@@???.?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@???.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@???.?AV?$basic_ostream@DU?$char_traits@D@std@@@std@@???.?AV?$basic_iostream@DU?$char_traits@D@std@@@std@@???.?AV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@???.?AV?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@???.?AV?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@???.?AV?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@???.?AV?$numpunct@D@std@@???.?AVUniformBuffer@Backend@Effekseer@@???.?AVVertexLayout@Backend@Effekseer@@???.?AVRenderPass@Backend@Effekseer@@???.?AVPipelineState@Backend@Effekseer@@???.?AVGraphicsDevice@Backend@EffekseerRendererDX11@@???.?AVVertexBuffer@Backend@EffekseerRendererDX11@@???.?AVDeviceObject@Backend@EffekseerRendererDX11@@???.?AVIndexBuffer@Backend@EffekseerRendererDX11@@???.?AVUniformBuffer@Backend@EffekseerRendererDX11@@???.?AVShader@Backend@EffekseerRendererDX11@@???.?AVVertexLayout@Backend@EffekseerRendererDX11@@???.?AVTexture@Backend@EffekseerRendererDX11@@???.?AVRenderPass@Backend@EffekseerRendererDX11@@???.?AVPipelineState@Backend@EffekseerRendererDX11@@???.?AVGPUTimer@Effekseer@@???.?AV_Ref_count_base@std@@???.?AVUniformLayout@Backend@Effekseer@@???.?AVRenderer@EffekseerRendererGL@@???.?AVRendererImplemented@EffekseerRendererGL@@???.?AV?$StandardRenderer@VRendererImplemented@EffekseerRendererGL@@VShader@2@@EffekseerRenderer@@???.?AV?$SpriteRendererBase@VRendererImplemented@EffekseerRendererGL@@$0A@@EffekseerRenderer@@???.?AV?$RibbonRendererBase@VRendererImplemented@EffekseerRendererGL@@$0A@@EffekseerRenderer@@???.?AV?$RingRendererBase@VRendererImplemented@EffekseerRendererGL@@$0A@@EffekseerRenderer@@???.?AV?$TrackRendererBase@VRendererImplemented@EffekseerRendererGL@@$0A@@EffekseerRenderer@@???.?AV?$_Ref_count_obj2@USharedVertexTempStorage@EffekseerRendererGL@@@std@@???.?AV?$_Ref_count_obj2@URingVertex@RendererImplemented@EffekseerRendererGL@@@std@@???.?AVGraphicsDevice@Backend@EffekseerRendererGL@@???.?AVVertexBuffer@Backend@EffekseerRendererGL@@???.?AVDeviceObject@Backend@EffekseerRendererGL@@???.?AVIndexBuffer@Backend@EffekseerRendererGL@@???.?AVUniformBuffer@Backend@EffekseerRendererGL@@???.?AVShader@Backend@EffekseerRendererGL@@???.?AVVertexLayout@Backend@EffekseerRendererGL@@???.?AVTexture@Backend@EffekseerRendererGL@@???.?AVRenderPass@Backend@EffekseerRendererGL@@???.?AVPipelineState@Backend@EffekseerRendererGL@@???.?AVRenderState@EffekseerRendererGL@@???.?AVGPUTimer@EffekseerRendererGL@@???.?AVDeviceObject@EffekseerRendererGL@@???.?AVIndexBuffer@EffekseerRendererGL@@???.?AVMaterialLoader@EffekseerRendererGL@@???.?AVMaterialCompilerGL@Effekseer@@???.?AVModelRenderer@EffekseerRendererGL@@???.?AVShader@EffekseerRendererGL@@???.?AVVertexBuffer@EffekseerRendererGL@@???.?AVCompiledMaterialBinaryGL@Effekseer@@???.?AVManager@Effekseer@@???.?AVManagerImplemented@Effekseer@@???.?AV?$_Func_base@X$$V@std@@???.?AV?$_Func_base@H$$V@std@@???.?AV?$_Func_impl_no_alloc@P6AHXZH$$V@std@@???.?AV?$_Func_impl_no_alloc@V@@X$$V@std@@???.?AV?$_Func_impl_no_alloc@V@@X$$V@std@@???.?AVProceduralModelGenerator@Effekseer@@???.?AVResourceManager@Effekseer@@???.?AVEfkEfcFactory@Effekseer@@???.?AVEffectFactory@Effekseer@@???.?AVCurveLoader@Effekseer@@???.?AVCurve@Effekseer@@???.?AVEffect@Effekseer@@???.?AVEffectImplemented@Effekseer@@???.?AVInternalScript@Effekseer@@???.?AV?$_Func_base@XPEAVEffectNode@Effekseer@@AEAUEffectInstanceTerm@2@@std@@???.?AV?$_Func_impl_no_alloc@V@@XPEAVEffectNode@Effekseer@@AEAUEffectInstanceTerm@3@@std@@???.?AV?$_Func_base@PEAXI@std@@???.?AV?$_Func_base@XPEAXI@std@@???.?AV?$_Func_base@PEAXII@std@@???.?AV?$_Func_impl_no_alloc@P6APEAXI@ZPEAXI@std@@???.?AV?$_Func_impl_no_alloc@P6AXPEAXI@ZXPEAXI@std@@???.?AV?$_Func_impl_no_alloc@P6APEAXII@ZPEAXII@std@@???.?AVFileReader@Effekseer@@???.?AVFileWriter@Effekseer@@???.?AVDefaultFileReader@Effekseer@@???.?AVDefaultFileWriter@Effekseer@@???.?AVModel@Effekseer@@???.?AVCompiledMaterialBinaryInternal@Effekseer@@???.?AVIRandObject@Effekseer@@???.?AVInstanceGlobal@Effekseer@@???.?AVRandObject@Effekseer@@???.?AVInstance@Effekseer@@???.?AVNode@?$IntrusiveList@VInstance@Effekseer@@@Effekseer@@???.?AVInstanceContainer@Effekseer@@???.?AVNode@?$IntrusiveList@VInstanceContainer@Effekseer@@@Effekseer@@???.?AV?$_Func_base@UVec2f@SIMD@Effekseer@@M@std@@???.?AV?$_Func_base@UVec3f@SIMD@Effekseer@@U123@@std@@???.?AV?$_Func_impl_no_alloc@V@@UVec3f@SIMD@Effekseer@@U234@@std@@???.?AV?$_Func_impl_no_alloc@V@@UVec2f@SIMD@Effekseer@@M@std@@???.?AV?$_Func_impl_no_alloc@V@@UVec2f@SIMD@Effekseer@@M@std@@???.?AV?$_Func_impl_no_alloc@V@@UVec2f@SIMD@Effekseer@@M@std@@???.?AV?$_Func_impl_no_alloc@V@@UVec2f@SIMD@Effekseer@@M@std@@???.?AVEffectLoader@Effekseer@@???.?AVDefaultEffectLoader@Effekseer@@???.?AVEffectNode@Effekseer@@???.?AVEffectNodeImplemented@Effekseer@@???.?AVEffectNodeRoot@Effekseer@@???.?AVEffectNodeSprite@Effekseer@@???.?AVEffectNodeRibbon@Effekseer@@???.?AVEffectNodeModel@Effekseer@@???.?AVParameterEasingFloat@Effekseer@@???.?AU?$ParameterEasing@M@Effekseer@@???.?AVParameterEasingSIMDVec3@Effekseer@@???.?AU?$ParameterEasing@UVec3f@SIMD@Effekseer@@@Effekseer@@???.?AVEffectNodeRing@Effekseer@@???.?AVEffectNodeTrack@Effekseer@@???.?AV?$_Ref_count_obj2@UGradient@Effekseer@@@std@@???.?AV_Locimp@locale@std@@???.?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@???.?AVcodecvt_base@std@@???.?AV?$codecvt@DDU_Mbstatet@@@std@@???.?AV_Generic_error_category@std@@???.?AVtype_info@@??h?8h?8?????h??h?`????D??`???d???/x?0?x??x?~x?????@+??@??????0???p?8p?Pth???h?? ?? 3!??@!?"p??"?"h??"%#T?%#?#h??#?#|??#?#???#?#|??#?&??&?&???&(??(%(??%(+(??0(?(D??(?)???)4,0?@,'/l?0/}/???/?/???/?/??00l0???0?0???071??@12?? 2\2??`2?2|??273??@3d3??p3?3???3?3??4,4??`4?4d??4?4h??4,5??05?5??5Z6??`6?6???678? 7K7??P7{7???7?7???7?7??8B8???8?8h??89,? 919l?@9?9???9,:t?0:?:???:?:h??:A;??`;?;???;<?`<>??0>?>D??>????0???0?A?h?P?s???s??????????????@???@A?? A5A,?5AZA8?ZAhAL??A?A,??A?A\??A?Ap??A?A??BOBd?PB~C???CRD??pDF??PFtF???F?F??0GNGh?PGnGh??G+HX?0HkHX?pH?HX??HI?? IJ??J+K??@KhLx?pL?M???M?N@??NxO???O!Pd?0P?Pd? Q?U??UcV??VX??XlY??pY?Y|?Z?[`?\?\T??\?]T??]{^@??^?_??`+`??+`[a??[aua???a?ah??ab??b0>[E?`EE<E?FP?F?Fd?FH?? H?I?I?JX??JoL?pLN?N?R??RS?SxT?xT?T??TU?? U?UX??U?VH?VX\X]X??X?^??^g? g[h[huk(?k?q|?qrDr?sX?stl tD? ?D?D ?D?E? ?E?E? ?E?E? ?E?E ?E?F ?F?F, ?F?F< ?F?F ?F?GT ?G?Gl ?G?G| ?GGH??PH7I??@I?IX??I?I???IJh?J?K
?KLp#LM?#M?M?#?M?M?#?M?Mp#?M?N?#?NIO?#IO[O?#`O?P?"?PR?" R?S,#?S?T?#?T?U4$?UPW?$PW?X?$?X?Yd$Z[,% [?]?!?]^?!^^??^U^?!U^[^?!`^?^???^_?? _Qi?"`i?i???i?i??j?jT??jkT? kakh?pk?kh??kfl?plm?0m[m??`m?m??meo??o?o??@pqp???p?p?)?pq?? q?q???qpx?+px?xX??xy?y?z?,?z?z?,?z?z-?z?z??zS|$-S|_|D-_|e|d-p|?|t-?|?}?-?}?}?-?}?}?-`~n??pp??)p??????ǁ??Ё̃x%Ѓ??
?#??
0?V??(`???T(???????'?'??0?‹?&Ћ[???`?R??'`????)????X) ?_??&`??0(?s??'????'?+???0???X???????+???0?[???`??????????&?>?h?@?ܖ?)??C?H,P???H+??ٟ?+ٟ2??+2?R??+`?q?h???۠?%۠???%??ա?%ա??%?a??&????d?????d????*???* ???* ???* ?ʫ,+Ы??*???*?ְ@*?.?d?0???`&???l&???&?&??&0???L'??????#??%#?l??%l???&??y?&y?~?0&~???@&????P&??M?0)P?|?D)??e??&p????? ???('?????(??.??(.?C??(P?s??(s???(???(?g?h%p???-P???????x. ?N?8P?^?h8^???p8?????8??Q?88`????8??a???p????1????2?????0?!??10?Q??1`????.????.??X??7`???x@?+??10???1????@1??S?|0`???/ ???x????0??X?\/`??/ ???T7??J??7J?
??7
?h?8p???7????7??8??7@???4?????3???2?)?T60?M?5P???`3??j?`5p????5?????2????X4????p2??+?40a?6av?6v??6?@?6@H7HP$7PX47XpD7p?l???l1?
?0O<0P?/ D,/Pt,/?m?p??H/?vH/?????Q??`?TC??PO!<[O!u$?[u$?$\?$"+8Z0+/-<[/-U0 \U0}08\?0"78Z07/9<[/9U<H\U<}<`\?<"C8Z0C/E<[/EUHp\UH}H?\?H"O8Z0O/Q<[/QUT?\UT}T?\?T"[8Z0[/]<[/]U`?[U`}`?[?`g8Zgi<[i5l?\5l]l]`l?r8Z?r?t<[?tx]x=x(]@x?~8Z?~?<[??8]?=?P]@??8Z???<[??`]?=?x]@??8Z??<[???]?=??]@??8Z??<[???\?=??\@?®8ZЮ???[?????[?????[???\Z???tZ??¹?Zйϻ<[ϻ??`[???x[ ???8Z????<[?????]?????]???8Z????X?? ?xF ????F?????F????F????F?????F??7?|D@????F?f??Vf?w??Vw????V??$?W$?B? WP???\S????xS?? ?S D?SDc?Sp?0W??LW??%hW?%?.?W?.?/?W?/2?W2.2?W02?2?S?2?2T?2BU$TBUcW\TcW?WlT?W?WV?WX$VX?n?	|?>?	N?	??P?	p?	??p?	?	???	?	Ė?	w?	T???	?	T???	??	?? ?	i?	?i?	ۺ	X?ۺ	??	p???	??	????	?	???	?	???	
?	???	c?	?c?	ȼ	
??>
?
??
?
???
$
??0
d
??p
M
H?P
}
@??
M
?P
?
???
j
???
?
???
@
??`
?
???
Q
???
?
??
?
???
?
???
p
???
?
??
?
???
?
??
K
?K
p
?p
~
,??

??0
w
???
0
??P
?
???
?
???
O
 ?p
?-
 ??-
?<
???<
kA
??pA
zA
??zA
?A
???A
?A
???A
?A
???A
?A
԰?A
=B
?=B
dB
??pB
?D
???D
?F
H?G
?H
?
??>?
K?
??K?
W?
ȵW?
??
ص??
??
ȵ??
??
h???
??
L???
&?
`?&?
???>?>???>WA?`ArA?rA?A???A?A???A?A??A?A??A8N8?@N?Nt??NQ??Q1Q??PQ6S??@S?Sp??S?S???S
T??T4T??4T6U??6UDU???U?Ud??U/Vd?0V?YT??Y???@???????????????(?????H????T??=?h?=?J?|?P???H?????????
??
??? ?????????x???????w?????#??#???4?????h???0???0???????C???P??
???
w
X??
?
d??


??

?	
??	
?	
H?

p

??p

?

4??


??
V
??`
?
???
?
???
?
???

d?0
?
??
?
??
?
???
?
???
?
???
?
???

?? 
?
?
D
$?P

?? 
?
X??
?
l??
R 
??` 
?"
??"
?"
??#
\#
H?`#
u#
??u#
?#
???#
?#
???#
?$
???$
?$
?%
%
??%
%
i
??@i
qj
t?tj
?k
???k
?m
x??m
?n
??n
Jo
??Lo
1p
?4p
?p
???p
\q
P?\q
?q
???q
er
??hr
As
??Ds
?s
D?t
?t
???t
Vu
??Xu
ru
h?tu
?u
h??u
v
X?pv
?v
???v
x
h?x
?x
???x
?y
D?y
?z
???z
:{
?<{
?{
???{
?{
???{
~
??~
k~
??l~
?
???
[?
??\?
u?
h?x?
??
h???
߀
????
?
h??
??
????
?
???
??
????
?
???
??
,???
??
h???
݄
????
??
h??
?
h??
_?
??`?
??
????
dž
??І
?
d??
?
?8?
s?
h?t?
m?
D?p?
Ӌ
??ԋ
??
l???
8?
??@?
??
h???
??
????
(?
??(?
P?
?P?
??
X???
ɏ
h?̏
?
h??
?
h??
@?
h?@?
U?
h?X?
??
T???
?
h??
??
h???
6?
h?8?
Ñ
??đ
\?
D?\?
??
????
??
????
?
???
??
h??
?
????
??
p???
ۓ
??ܓ
??
h???
W?
(X?
Ȕ
t?Ȕ
;?
??30?P306T?06?=p??=.>T?0>?>D??}?????I@??L@?@???@A?? A?A???A\B??\B?Bh??B?D4??DE?E?E??EDFL?DF(G??(G?GT?H?H???H3I??4I?I???I/J??0J|K??|K?L???LVNx??NJO??TO?O???O?^??^7_?8_0`?8`?`L??`?a??a?b(??b?dp?@pp$??p?p??q?q??q?s??s=tD??t?v?wpwH?pw?w???w5xX?8xyXyyh?y}yh??yw}p?x}?}???}~??0~K~h?\~?~???~6???8?????????h???f???p?????G?h?H?z?h?|???h???
??????????׊h?؊????3???4???0???@???@?u?h?x???h?????X???ؐ?ؐ??????P?????ߒ????????$?h?$?D?h?D???h???7?X?@???????~???~?ɘ??̘S?X?l??????H/4?m???p????????L?/???D?šT?ȡ????ˢh?̢??@???ƣ??ȣ??h???g?$???S?x?T???????:???D??>@?@?A??AuCxC?FH?F.G80G?G???GH??HIH?LHzHX??HKpK0Kh??K9L?|L?Lh??L?M?PN?O ??OR? R?ST??S?VW!X,$X?Y??YqZ@?tZ[??[?\??\c_?d_`h`|`h?|`?`h??`UcHXc?c??cdh?de ?e?eT??e?eh??elfX?lf?f???giT?@ivip??iHjh?Hj?j??jk?? k*l8,l^q`q?qp??q?t???t?t???t"x$x,y@,y?yX??yJz??LzP{??P{L|X??|e}?h}7~??8~?~???~??l???????q??t?׃?؃q?x?t?׆P؆??(????????&???(?r??t?|?̌z??|?'??(??????&??@?P?H??}?????(??(?͓T?Г ?,? ?Ȕ??????ؕ?P?җ?ԗI?h?L?ΙPЙ??????@??????????h?P???h???????? ??#???$?.???0??D??????$??T`???\?K??L???l????X???????????????????????>?L?@???????????h??????????d?????\?????????????,???,?|???@???????????h????	?????????x? ?r?@?t???h???N?H/P???????{???|?????????(	???????v?T	??=?`	l???????s???t??????????	??$?l?????????????????}???????????8???P?????????????????@?]????????????????????P?p???????|????? ?F???`???????,???P?|???@?]????-???`?????????????????????? ?H???P?x???p??????????????????&???0?V???`?????????????????????? ?K???P?{?????????????????????;???@?k???p??????????????????+???0?[???`?????????????????????? ?K???P?{????????????????????0?M???P???????????0?M???p???(	??????8???????
??:??????(??p??????? =??????(??0X??`?????????????? H??Px??
-
??@
m
???
<((@`??`????????????????

(	p
?
???
?
???

??????????p?????????@]???(	 ](	`?(	????????:(	@k??p?????(	p????????
??0M??Pm???????????????
?? F??Pv??????????+??0j(	???????? =??`}??6??P|??-??Pm??-?? M??p???0 V ??`!?!??0$M$???$?$???$	%??%9%??P%y%??'.'??0'^'???'?'???'?'(	?'(? (G(?P(w(??(?(??(?(??()?)7)?@)g)?p)?)??)?)???)?)??*(*??P*?*(	?*?*(	?*+?p+?+??.?.??/4/?@/d/?p/?/??/?/??/?/?0(0?p0?0(	?1?1???1?1???1?1??282??P2y2???2?2???2
3(	3J3(	`3?3(	?6?6???6?6?? 7=7???7?7???7?7(	8(8???8
9(	9V9(	`9?9(	?9?9(	?9:(	?:?:???;?;???;?;???>?>???>?>(	?????@?@???@?@??AA??@A]A??`A}A??BB?? B=B??PBvB???B?B???B?B??BCbC??bCyC??yC?C???C?C???C?C

  
    
      
        
      
    
  

P???ȣУأ?????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????(?0?8?X?`?h?p?x?????????إ???????? ?(?0?8?@?H?P?X?h?p?x?????????????????????? ?(?0?8?@?H?P?X?`?h?p?x???Чا????????? ?(?0?8?@?H?P?X?`?h?p?x?????????????????????????????????????ȩЩة????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȪЪت????????? ?(?0?8?@?H?P?X???????ȫЫث????????(?0?8?@?H?P?X?`??ȥХإ???????? ?(?0?ȣУأ????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȤФؤ????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȥ ?(?0?8?H?P?X?`?h?p?x???????????????????ȦЦئ????????? ?(?0?8?@?H?P?X?`?h?0<P?X?`?h?p?x???????????????????Ȥ?????? ?(?0?8?@?@,p?x?????????????????ȯЯد?????Pl???? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȠР??h?p?x???????????????????Уأ???????? ???????????????ȭЭح????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȮЮخ????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȯЯد?????0(???? ?(?0?8?@?H?P?X?`?h?p?` ?????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȫЫث????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȬЬج????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȭЭح????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȮЮخ????????? ?(?0?8?@?H?P?p8(?0?8?@?H?P?X?`?h?p?x???????????????????ȠРؠ????????? ?(?0?8?@?ؤ????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȥХإ????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȦЦئ????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȧЧا???????@?H?P???????ȯЯد??????L???? ?(?0?8?@?H?P?X?`?h?x???????????????????ȠРؠ???????P8?@?H?P?X?`?h?p?``p?x???????????????????Ȥ??????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȥХإ???p?x???????????????????ȧЧا????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȨШب????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȩЩة????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȪЪت????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȫЫث????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȬЬج????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȭЭح????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȮЮخ????????? ?(???????????ȯЯد??????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȠРؠ????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȡСء????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȢТآ????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȣУأ????????? ?(?0?8?@?H?P?X?`?h?p?x?????????????????ȤФؤ???@?H?P?X?`?h?p?x???????????????????ȥХإ????? ?(?0?8?@?H?P?X?`?h?p?x??????? ?(?0?8?@?H?P?X?`?h?p?x????????????????????? ?(?0?8???????????????ȨШب????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????0?8?@?H?P?X?`?h?p?x???????????????????ȪЪت????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȫЫث????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȬЬج????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȭЭح????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȮЮخ????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȯЯد??????? ?(?0?8?@?H?P?X?`??(?8?H?X?h?x?????????ȥإ?????(?8?H?X?h?x?????????Ȧئ?????(?8?H?X?h?x?????????ȧا?????(?8?H?X?h?x?????????Ȩب?????(?8?H?X?h?x?????????ȩة????TȠРؠ???????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????Сء??????(?0?8?@?H?P?X?????????(?0?8?@?`?p???????????Ц???? ?0?@?P?`?p???????????Ч???? ?0?@?P?`?p???????????Ш???? ?0?@?P?`?p???????????Щ???? ?0?@?P?`?p???????????Ъ???? ?0?@?P?`?p???????????Ы???? ?0?@?P?`?p???????????Ь???? ?0?@?P?`??0?8?@?0? ?0?8?@?H?P?X?`?h?x???????????????ȡء??????????????????ȢТآ?????????Уأ????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȤФؤ????????? ?0?8?@?H?P?X?`?h?p?x???????????????????ȥХإ????????? ?(?0?8?@?H?P?X?`?h?p?x???????????????????ȭЭح????????? ?d`?h?p?x???????????????????ȤФؤX?h?x?????????ȥإ?????(?8?H?X?h?x?????????Ȧئ????? ?????????? ?0?@?P?`?p???????????У???? ?0?@?P?`?p???????????Ф???? ?0?@?P?`?p???????????Х???? ?0?@?P?`?p???????????Ц????0?@?P?`?p???????????Ч???? ?0?@?P?`?p?????0??(?8?H?X?h?x?????????ȣأ?????(?8?H?X?h?x?????????Ȥؤ?????(?8?H?X?h?x?????????ȥإ?????(?8?H?X?h?x?????????Ȧئ?????(?8?H?X?h?x?????????ȧا?????(?8?H?X?h?x?????????Ȩب?????(?8?H?X?h?x?????????ȩة?????(?8?H?X?h?x?????????Ȫت?????(?8?H?X?h?x?????????ȫث?????(?8?H?X?h?x?????????Ȭج?????(?8?H?X?h?x?????????ȭح?????(?8?H?X?h?x?????????Ȯخ?????(?8?H?X?h?x?????????ȯد???@???(?8?H?X?h?x?????????Ƞؠ?????(?8?H?`?p???????????Э???? ?0?@?P?`?p???????????Ю???? ?0?@?P?`?p???????????Я??P|?? ?0?@?P?`?p???????????Р???? ?0?@?P?`?p???????????С???? ?0?@?P?`?p???????????Т???? ?0?@?P?`?p???????????У???? ?0?@?P?`?p???????????Ф???? ?0?@?P?`?p???????????Х???? ?0?@?P?`?p???????????Ц???? ?0?@?P?`?p???????????Ч???? ?0?@?P?`?p???????????Ш???? ?0?@?P?`?p???????????Щ???? ?0?@?P?`?p???????????Ъ???? ?0?@?P?`?p?????p$??????????ȩЩة????????@???? ???????ȠРؠ????????? ?(?0?8?@?H?P?X?`?h?p?x???????????(?0?8?h?x???????????????ȤФؤ???????? ?(?@?H?`?p???إ???8?h???????ȦЦЩة??@?h??????P??8?`???Р?P?p???С??P???Т?P?x???ȣ?? ?P???????@?h???Х?? ?P?x??? ?P?x???h???Ȩ??(?`???ȩ??(?`?????H?????? ?p????0?p?????H??????(?h???ȯ?`|0???Р ?p?С0?????P??????P????0?x????H???ئ?8?p????`?Ш@??? ????8?x????@??????@??????(?`???خ?H??????p? ?P?????0???ء?8?h?????? ?P???H?x???? ?p?????P?????? ?P??????@????0???0???0???ث?@?x?????H??????@?p???? ?h???ȯ??




© 2015 - 2025 Weber Informatics LLC | Privacy Policy